Guides
Spotify API guides: what the Web API cannot do, and what this one returns
8 guides, each written to answer one question a developer asks before choosing an API — the endpoints Spotify never exposed, the ones it removed in November 2024, what a request costs, and where the limits are. Every claim in them is read off the committed OpenAPI spec or a recorded response with its capture date.
By Eduardo Airaudo, maintainer of the API
- Spotify Web API alternativeEndpoint-by-endpoint mapping from the official API, including everything Spotify removed on 27 November 2024.
- Spotify API without OAuthOne header instead of the client-credentials flow — and the things a key genuinely cannot do.
- Spotify lyrics APIWhy the Web API has no lyrics endpoint, and how to get line-synced lyrics as JSON, LRC or SRT.
- Spotify charts APIDaily Top 200 and viral charts as JSON: rank movement, stream counts, credits, and how to backfill.
- Spotify monthly listeners APIMonthly listeners, follower counts, world rank and top cities per artist — numbers the Web API never returned.
- Spotify audio features API after the 2024 deprecationTempo, energy, danceability, recommendations and related artists after Spotify removed them for new apps.
- Spotify API rate limitsThe official 30-second rolling window, what each plan here allows per second and per month, and how to stay under it.
- Spotify scraper on ApifyPlay counts, charts, lyrics and credits as a scheduled run with no API key — and when an API key is the better tool.
Where to go next
- Endpoint reference — every operation, its parameters, its error statuses and a recorded response where one exists.
- Pricing — what a request costs at four volumes, on each of the three routes.
- Use cases — eighteen worked product ideas with the endpoints each one needs.
- Node.js SDK — typed client on npm; the Python one is a page over.
Try any of it against a real response first
Every endpoint page has a Run button and, where one exists, a recorded sample with its capture date. The key comes after you have seen the JSON.