All posts

Spotify Web API in 2026: Limits, Changes and Scraper Options

November 8, 2026

Spotify's Web API used to be the easy way to get music data. Since late 2024, Spotify has removed endpoints, cut Development Mode down and limited Extended Quota to large organizations. If your project broke or never got approved, this guide explains what changed, what still works, and the other options.

The timeline

DateChange
27 Nov 2024New apps lose Related Artists, Recommendations, Audio Features, Audio Analysis, Featured Playlists, Category Playlists, 30-second previews in multi-get responses, and algorithmic and editorial playlists
15 May 2025Extended Quota Mode accepts applications only from organizations, not individuals
11 Feb 2026New Development Mode apps get new restrictions
9 Mar 2026Existing Development Mode apps move to the same restrictions
23 Jul 2026Client IDs per developer go from 1 to 25; quota is now counted per developer account; quota errors return "reason": "QUOTA_EXCEEDED"

Development Mode today

From Spotify's quota modes page and February 2026 migration guide:

  • The app owner must have Spotify Premium, or the app stops working.
  • Up to 5 allowlisted users per new app.
  • Removed: batch fetches of tracks, albums, artists and shows; browse endpoints; artist top tracks; other users' profiles and playlists; markets.
  • Search returns at most 10 results per call, default 5. Page with offset.
  • Playlist contents are only returned for playlists the user owns or collaborates on.
  • Removed fields include artist followers and popularity, and track and album popularity.

The last point matters most for analytics. In Development Mode you can no longer read an artist's follower count or popularity score.

Extended Quota Mode

Extended Quota apps keep all endpoints and fields. To apply you must be a legally registered business with a launched service, at least 250,000 monthly active users, availability in key Spotify markets and commercial viability. Spotify says review can take up to six weeks. Most startups, agencies and researchers will not qualify.

The Developer Terms

If you build on the Spotify Platform, Spotify's Developer Terms apply. Three clauses shape data projects:

  • IV.2.4.1 bars using a robot, spider or other tool to retrieve, duplicate or index Spotify content.
  • IV.2.1.1 bars using the platform or its content to train AI or machine learning models.
  • IV.3.1.1 bars storing or building databases of Spotify content beyond what your app strictly needs.

This is not legal advice. If your project depends on Spotify data, have a lawyer read the terms against your plan.

Your options

OptionGood forLimits
Web API, Development ModePersonal tools and prototypes for up to 5 usersPremium owner, reduced endpoints and fields, search capped at 10
Web API, Extended QuotaLarge launched productsOrganizations with 250,000+ MAU; review up to six weeks
spotipyPython access to the Web APISame limits as your app's mode
Bright Data Spotify scraperBatch datasets of artists, tracks and albums$1.50 per 1,000 page loads; 5,000 free a month
ScrapeIOOn-demand artist, album, track, playlist and podcast lookupsPer call; no subscription

Questions to answer before you build

  1. How many users will sign in? Over 5 means Development Mode is not enough.
  2. Do you need follower counts or popularity? Development Mode no longer returns them.
  3. Will any of the data feed an AI model? The Developer Terms bar that.
  4. Do you need to keep data for months? The terms limit storage to what your app strictly needs.

If your answers point away from the Web API, decide early. Rewriting a data layer late is the expensive part.

Handling the new 429

Since July 2026 a 429 can mean two things. If the JSON body has "reason": "QUOTA_EXCEEDED", you used your account's quota and retrying soon will not help. Otherwise it is a short-term rate limit, and backing off works. Handle them separately:

import time, requests

def search(token, q):
    while True:
        r = requests.get("https://api.spotify.com/v1/search",
                         params={"q": q, "type": "artist", "limit": 10},
                         headers={"Authorization": "Bearer " + token})
        if r.status_code != 429:
            return r.json()
        if "QUOTA_EXCEEDED" in r.text:
            raise SystemExit("Quota used up for this developer account")
        time.sleep(int(r.headers.get("Retry-After", 5)))

Remember that all your Development Mode apps now share one quota, so a test script can starve your demo app.

Doing it with ScrapeIO

ScrapeIO has a Spotify artist API, track API, album API, playlist API, Spotify search and podcast endpoints, by ID or URL, with one key and no Premium account. Weigh the Developer Terms above for your use case. See the Spotify endpoints.

Sources

Checked on 8 November 2026 from each vendor's own pages. Prices and limits change; follow the links before you decide.

100 free credits, no card. Credits never expire.

Get API key