Deezer API
Public catalog data for artists, albums, tracks, and charts, with 30-second previews. The public read endpoints need no key, which is why it survived as a Spotify alternative after Spotify restricted audio-features for new apps in late 2024.
🟢 Online · 176 ms
100%
No key for public catalog data; OAuth only for user data
No key required
Free alternatives (live ranking)
- iTunes Search API — 🟢 Online · No key, approximately 20 calls/minute, no credit card
- MusicBrainz — 🟢 Online · No key, 1 request/second, requires an identifying User-Agent
- Lyrics.ovh — 🟢 Online · Unlimited, no key; unofficial hobby project with no SLA
Compare Deezer API with…
- Deezer API vs iTunes Search API — No key, approximately 20 calls/minute, no credit card
- Deezer API vs MusicBrainz — No key, 1 request/second, requires an identifying User-Agent
- Deezer API vs Lyrics.ovh — Unlimited, no key; unofficial hobby project with no SLA
Frequently Asked Questions
Does Deezer API require an API key?
No, Deezer API is freely accessible without registration or an API key.
What is Deezer API's free tier?
No key for public catalog data; OAuth only for user data
Is Deezer API currently online?
We check Deezer API every hour. The current status is shown at the top of this page. You can also see the 30-day uptime history in the chart above.
Implementation notes
When to use Deezer API
Deezer's public API is the lowest-friction music catalog to query: search across tracks, albums, artists, playlists, and podcasts, plus chart and genre endpoints, all returning clean JSON with no key at all. Track objects carry a 30-second preview MP3 URL, album art at four sizes, ISRC codes, BPM and gain values, and explicit-content flags. Use it for music search boxes, playlist-building tools, preview players, and anywhere you need to turn a song title into structured metadata with artwork. The comparison is what sells it: Spotify's Web API requires an OAuth client and token refresh for even a public search, and Apple Music demands a paid developer account with signed JWTs. Deezer requires a URL. The catch is that the free surface stops abruptly — user libraries, playlist writes, and full-length audio all need OAuth and a registered application, and the preview clip is as far as free audio goes.
Common pitfalls
- There are no CORS headers, so browser fetch calls fail with a cross-origin error and nothing you do client-side fixes it. Every browser integration needs a server-side proxy — an edge function or a route on your own origin. People routinely discover this after building an entire UI against a dev server that happened to have CORS checks disabled.
- Preview URLs are 30-second MP3 clips, full stop. There is no free path to full-length audio, and the preview field is null for a nontrivial slice of the catalog where labels have opted out. Build the player to handle a null preview from the first commit rather than treating it as an edge case discovered in QA.
- The undocumented rate limit is roughly 50 requests per 5 seconds per IP. Exceeding it returns a JSON error object with code 4 and a quota message at HTTP 200, so status-code-based error handling sails straight past it and you cache the error as data. Check for an error key on every response before parsing the payload.
- Region restriction produces partial objects rather than errors. A track unavailable in the requesting IP's country returns with readable set to false and several fields zeroed or missing, which looks like a data quality problem until you notice it changes with server location. If you serve multiple regions from one backend, your proxy returns your datacenter's catalog, not your user's.
Quick start (bash)
# public catalog search - no key needed, but no CORS either: call this server-side
curl -s 'https://api.deezer.com/search?q=daft+punk&limit=3' | jq '.data[] | {title, readable, preview}'
# quota errors arrive as HTTP 200 with an error object - check for .error on every response
curl -s 'https://api.deezer.com/album/302127' | jq 'has("error")' Embed this badge
Add a live status badge to your README, docs, or website.
Markdown
[](https://freeapi.watch/deezer) HTML
<a href="https://freeapi.watch/deezer"><img src="https://api.freeapi.watch/badge/deezer.svg" alt="Deezer API Status"/></a>