> **For coding agents and LLMs:** This is one Social Fetch marketing page (markdown export). For API orientation start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for auth and crawl rules use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for every operation use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt).

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/platforms/deezer>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/deezer.mdx>

---

# Deezer API. Tracks, albums and artists as JSON.

Look up tracks, albums, artists, playlists, podcasts, radio and concerts. Get lyrics with timing, charts by country or genre, and typed not_found answers.

- 36 endpoints
- 1 credit per lookup
- Batch up to 200 ids

Social Fetch has 36 Deezer endpoints under `/v1/deezer`. Records cover a track (with credits, copyright, available countries and a 30 second preview), an album (with its tracklist), an artist (with biography, banner and featured playlists), a playlist, a podcast show, an episode and an internet radio station. Lists cover an artist's top tracks, releases, related artists, playlists and mix; a playlist's tracks; charts; genres and their artists; radios and their tracks; podcast episodes; concerts and festivals; and a public account's playlists, favourites and follows.

Lookup endpoints answer HTTP 200 with `data.lookupStatus` set to `found` or `not_found`, so a missing item is a value you can branch on rather than an error. Lists page with an opaque `cursor`: pass `page.nextCursor` while `page.hasMore` is true. Every list also has a hard cap, and the response says so: `windowLimited` on search, charts and artist releases, and `available` on a show whose episodes are disabled.

Two things are deliberately narrow. Charts and editorial pages follow the region of the request, while a tracks chart also accepts `country`; other records have no country switch. Events without a `query` list the United Kingdom. Deezer still lists an event as pending after its start date, so check `startAt` before treating it as upcoming. The lyrics endpoint returns third party licensed text, so keep its `copyright` and `licence` lines with the text.

## What you can get

- Track and album records with ISRC and UPC lookup, credits, rights and a 30 second preview link.
- Artist profiles with biography, banner, featured playlists, top tracks and a full discography.
- Playlist records and their tracks, plus public account playlists, favourites and follows.
- Charts for tracks, albums, artists, playlists and podcasts, by genre or country.
- Genres, genre artists, radios and radio tracks for catalogue browsing.
- Podcast shows, episodes and disabled-show detection.
- Concerts and festivals by artist, place or act, with venue, coordinates and performers.
- Lyrics with line timing, word timing and translation where available.
- oEmbed data for embedding a track, album, playlist, show or episode.

## Deezer endpoints

| Endpoint | Request | Credits | Docs |
| --- | --- | --- | --- |
| Track | GET /v1/deezer/tracks/{trackId} | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/tracks/trackid/get) |
| Track by ISRC | GET /v1/deezer/tracks/isrc/{isrc} | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/tracks/isrc/isrc/get) |
| Tracks batch | GET /v1/deezer/tracks | 1 credit per id Up to 200 ids per request Max 200 credits An id Deezer does not know is still charged Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/tracks/get) |
| Lyrics | GET /v1/deezer/tracks/{trackId}/lyrics | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/tracks/trackid/lyrics/get) |
| Album | GET /v1/deezer/albums/{albumId} | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/albums/albumid/get) |
| Album by barcode | GET /v1/deezer/albums/upc/{upc} | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/albums/upc/upc/get) |
| Albums batch | GET /v1/deezer/albums | 1 credit per id Up to 200 ids per request Max 200 credits An id Deezer does not know is still charged Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/albums/get) |
| Artist | GET /v1/deezer/artists/{artistId} | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/artists/artistid/get) |
| Artists batch | GET /v1/deezer/artists | 1 credit per id Up to 200 ids per request Max 200 credits An id Deezer does not know is still charged Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/artists/get) |
| Top tracks | GET /v1/deezer/artists/{artistId}/top-tracks | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/artists/artistid/top-tracks/get) |
| Releases | GET /v1/deezer/artists/{artistId}/albums | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/artists/artistid/albums/get) |
| Related artists | GET /v1/deezer/artists/{artistId}/related | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/artists/artistid/related/get) |
| Playlists | GET /v1/deezer/artists/{artistId}/playlists | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/artists/artistid/playlists/get) |
| Mix | GET /v1/deezer/artists/{artistId}/mix | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/artists/artistid/mix/get) |
| Concerts | GET /v1/deezer/artists/{artistId}/events | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/artists/artistid/events/get) |
| Event | GET /v1/deezer/events/{eventId} | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/events/eventid/get) |
| Events | GET /v1/deezer/events | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/events/get) |
| Playlist | GET /v1/deezer/playlists/{playlistId} | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/playlists/playlistid/get) |
| Playlists batch | GET /v1/deezer/playlists | 1 credit per id Up to 200 ids per request Max 200 credits An id Deezer does not know is still charged Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/playlists/get) |
| Tracks | GET /v1/deezer/playlists/{playlistId}/tracks | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/playlists/playlistid/tracks/get) |
| Search | GET /v1/deezer/search | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/search/get) |
| Charts | GET /v1/deezer/charts | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/charts/get) |
| Genres | GET /v1/deezer/genres | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/genres/get) |
| Genre artists | GET /v1/deezer/genres/{genreId}/artists | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/genres/genreid/artists/get) |
| Editorial page | GET /v1/deezer/pages | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/pages/get) |
| Radios | GET /v1/deezer/radios | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/radios/get) |
| Radio tracks | GET /v1/deezer/radios/{radioId}/tracks | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/radios/radioid/tracks/get) |
| Station | GET /v1/deezer/stations/{stationId} | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/stations/stationid/get) |
| Show | GET /v1/deezer/shows/{showId} | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/shows/showid/get) |
| Episodes | GET /v1/deezer/shows/{showId}/episodes | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/shows/showid/episodes/get) |
| Episode | GET /v1/deezer/episodes/{episodeId} | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/episodes/episodeid/get) |
| Account | GET /v1/deezer/users/{userId} | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/users/userid/get) |
| Account playlists | GET /v1/deezer/users/{userId}/playlists | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/users/userid/playlists/get) |
| Account favourites | GET /v1/deezer/users/{userId}/library | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/users/userid/library/get) |
| Account connections | GET /v1/deezer/users/{userId}/connections | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/users/userid/connections/get) |
| Embed | GET /v1/deezer/oembed | 1 credit Failed requests are free | [docs](https://www.socialfetch.dev/docs/api/v1/deezer/oembed/get) |

## How to start

1. **Create an API key.** Sign up at Social Fetch and copy a key (`sfk_...`). New accounts get 100 free credits, enough to try every Deezer route on a few records.
2. **Start from an id.** Use `GET /v1/deezer/tracks/3135556` for a track, `/artists/27` for an artist, `/albums/302127` for an album or `/playlists/908622995` for a playlist. If you only have a barcode or ISRC, use `/albums/upc/{upc}` or `/tracks/isrc/{isrc}`.
3. **Page and branch.** Check `data.lookupStatus` before storing a record. For lists, send `page.nextCursor` as `cursor` until `page.hasMore` is false, and read `meta.creditsCharged` for the charge.

## Pricing

Each Deezer lookup costs one credit, whether the item is found or not. A batch costs one credit per id asked for, found or not, and accepts up to 200 ids. Requests that fail for a service reason are free. `meta.creditsCharged` on every response is the billing source of truth, and each page of a list is a separate request.

## Compared with the official API

One key and one `{ data, meta }` envelope cover records, lists, charts, podcasts, radio and concerts. Every lookup uses the same `lookupStatus` convention, every list uses the same opaque cursor, and a missing record is a typed `not_found` value rather than an HTTP error or an empty body.

## FAQ

### Which Deezer entities can I look up?

Tracks, albums, artists, playlists, podcast shows, episodes, internet radio stations and public accounts. Lists cover an artist's top tracks, releases, related artists, playlists, mix and concerts; playlist tracks; charts; genres and genre artists; radios and radio tracks; podcast episodes; events; and an account's playlists, favourites and follows.

### How do I look up a track by ISRC or an album by barcode?

Use GET /v1/deezer/tracks/isrc/{isrc} with a 12 character ISRC such as GBDUW0000059, or GET /v1/deezer/albums/upc/{upc} with an 8 to 14 digit UPC or EAN such as 724384960650. Both return the same record shape as the id lookup.

### What does lookupStatus mean?

HTTP 200 means the request finished. data.lookupStatus is found when the item was returned and not_found when it was not. On a not_found answer the record field is null. Account lists can also return private when the account exists but its lists are not public.

### Does a not-found answer cost a credit?

Yes. A not-found answer is a completed lookup and costs one credit, and so does an empty list. Requests that fail for a service reason are free. meta.creditsCharged on every response is the billing source of truth.

### How does paging work?

Each list returns data.page with hasMore and nextCursor. Send nextCursor as the cursor query parameter and keep every other parameter the same. A cursor is minted for one endpoint and one set of filters, so a cursor from another list is refused with a 400 rather than returning the wrong rows.

### What is in a track or album record?

A track carries title, ISRC, duration, track and disc number, rank, explicit flag, previewUrl, artist, album, release dates, credits, otherReleases and updatedAt. An album carries UPC, label, duration, genres, artists, credits, tracks and tracksComplete, which is false when an album has more tracks than the 2,000 row bound.

### Do charts and events follow a country?

Charts and editorial pages follow the region of the request. A tracks chart also accepts country, for example country=BR, but only when type=tracks and genreId is 0 or omitted. Events without a query list the events Deezer still marks as pending in the United Kingdom, so check startAt before treating one as upcoming. Records such as a track or artist have no country parameter.

### Can I get lyrics with timing?

Yes. GET /v1/deezer/tracks/{trackId}/lyrics returns lyrics.text, lyrics.lines with startMs and durationMs, and lyrics.wordTimedLines with word by word timing when available. If a track exists but has no lyrics, lookupStatus is found and lyrics is null. Keep the copyright and licence fields with the text.

### How many results can a list return?

Search stops at about 300 matches and sets windowLimited when it hits that cap. An artist's releases stop at 500 per filter combination and also set windowLimited. An artist's top tracks and playlists stop at 100. Playlist tracks and account follows accept up to 1,000 per page. Batch lookups accept up to 200 ids.

### Can I use Deezer routes from agents or MCP?

Yes. Every Deezer route is a typed MCP tool and is reachable through Ask (POST /v1/ask) in plain English. Use the typed routes for production jobs and the Playground to inspect a response shape before you write code.

## Related

- [Deezer Track API](https://www.socialfetch.dev/platforms/deezer/tracks-trackid): A track with credits, copyright, countries and a preview (`GET /v1/deezer/tracks/{trackId}`).
- [Deezer Album API](https://www.socialfetch.dev/platforms/deezer/albums-albumid): An album with its tracklist and credits (`GET /v1/deezer/albums/{albumId}`).
- [Deezer Artist API](https://www.socialfetch.dev/platforms/deezer/artists-artistid): Biography, banner and featured playlists (`GET /v1/deezer/artists/{artistId}`).
- [Deezer Lyrics API](https://www.socialfetch.dev/platforms/deezer/tracks-trackid-lyrics): Synced lines and word timing (`GET /v1/deezer/tracks/{trackId}/lyrics`).
- [Deezer Search API](https://www.socialfetch.dev/platforms/deezer/search): Search eight kinds with cursors (`GET /v1/deezer/search`).
- [Hosted MCP](https://www.socialfetch.dev/mcp): Call Deezer tools from Cursor or Claude with the same credit metering as REST.
