Deezer API: Get album
Looks up a Deezer album by name, album link, or ID, optionally matching an artist, and returns its details and ordered tracklist.
Unofficial. Not affiliated with or endorsed by Deezer.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Album, required
album Album name, Deezer album link, or Deezer album ID, for example Random Access Memories.
https://www.deezer.com/album/302127
- Artist optional
artist Optional artist name to choose the right album, for example Daft Punk.
(default)
Input as JSON
{ "album": "https://www.deezer.com/album/302127" }Output
{ "fans": 343879, "title": "Discovery", "artist": "Daft Punk", "genres": [ "Electro" ], "tracks": [ { "title": "One More Time", "artist": "Daft Punk", "length": "5:20", "number": 1, "explicit": "no", "track_id": 3135553, "deezer_link": "https://www.deezer.com/track/3135553" , "preview_link": "https://cdnt-preview.dzcdn.net/api/1/1/f/8/c/0/f8c5dc3837912dba37c9a1ab3170cc3f.mp3?hdnea=exp=1792748579~acl=/api/1/1/f/8/c/0/f8c5dc3837912dba37c9a1ab3170cc3f.mp3*~data=user_id=0,application_id=42~hmac=3507944e72d0a2ecc79bbc7bb610426781f71a596b6c47174c3e1efab194d3db" , "length_seconds": 320 }, { "title": "Aerodynamic", "artist": "Daft Punk", "length": "3:32", "number": 2, "explicit": "no", "track_id": 3135554, "deezer_link": "https://www.deezer.com/track/3135554" , "preview_link": "https://cdnt-preview.dzcdn.net/api/1/1/6/9/9/0/699d41611cf0280f0a55c8ba4a372c14.mp3?hdnea=exp=1792748579~acl=/api/1/1/6/9/9/0/699d41611cf0280f0a55c8ba4a372c14.mp3*~data=user_id=0,application_id=42~hmac=996cf64f9eeef7f8d315f02a93a31f1536c6999a4a1350852e15e598f5fcb5bd" , "length_seconds": 212 }, { "title": "Digital Love", "artist": "Daft Punk", "length": "5:01", "number": 3, "explicit": "no", "track_id": 3135555, "deezer_link": "https://www.deezer.com/track/3135555" , "preview_link": "https://cdnt-preview.dzcdn.net/api/1/1/1/e/c/0/1ec8ff31f93acc81ebb93a45c191e219.mp3?hdnea=exp=1792748579~acl=/api/1/1/1/e/c/0/1ec8ff31f93acc81ebb93a45c191e219.mp3*~data=user_id=0,application_id=42~hmac=d52c4469fe24c6b2f5cbed4ee20e0fc63dd9f58a01eddbffcadedbdea3cbf08e" , "length_seconds": 301 } ], "album_id": 302127, "explicit": "no", "deezer_link": "https://www.deezer.com/album/302127" , "record_label": "Daft Life Ltd./ADA France" , "release_date": "2001-03-07", "total_length": "1 hr 1 min 2 sec", "cover_image_link": "https://cdn-images.dzcdn.net/images/cover/5718f7c81c27e0b2417e2a4c45224f8a/1000x1000-000000-80-0-0.jpg" , "number_of_tracks": 14, "total_length_seconds": 3662}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"deezer.com/get_album","input":{"album":"https://www.deezer.com/album/302127"}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "deezer.com/get_album" , "input": { "album": "https://www.deezer.com/album/302127" }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "deezer.com/get_album" , "input": { "album": "https://www.deezer.com/album/302127" } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run deezer.com/get_album# with {"album":"https://www.deezer.com/album/302127"}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "album" ], "properties": { "album": { "type": "string", "description": "Album name, Deezer album link, or Deezer album ID, for example Random Access Memories." }, "artist": { "type": "string", "default": "", "description": "Optional artist name to choose the right album, for example Daft Punk." } }, "additionalProperties": false}Output schema
{ "type": "object", "required": [ "title", "artist", "release_date", "record_label", "genres", "number_of_tracks", "total_length", "fans", "explicit", "cover_image_link", "deezer_link", "tracks", "album_id", "total_length_seconds" ], "properties": { "fans": { "type": [ "integer", "null" ] }, "title": { "type": "string" }, "artist": { "type": [ "string", "null" ] }, "genres": { "type": "array", "items": { "type": "string" } }, "tracks": { "type": "array", "items": { "type": "object", "required": [ "number", "title", "artist", "length", "explicit", "preview_link", "deezer_link", "track_id", "length_seconds" ], "properties": { "title": { "type": "string" }, "artist": { "type": [ "string", "null" ] }, "length": { "type": [ "string", "null" ] }, "number": { "type": "integer", "description": "Position in the album tracklist." }, "explicit": { "enum": [ "yes", "no" ], "type": "string" }, "track_id": { "type": "integer", "x-fous-developer": true }, "deezer_link": { "type": [ "string", "null" ] }, "preview_link": { "type": [ "string", "null" ] }, "length_seconds": { "type": [ "integer", "null" ], "x-fous-developer": true } }, "additionalProperties": false } }, "album_id": { "type": "integer", "x-fous-developer": true }, "explicit": { "enum": [ "yes", "no" ], "type": "string" }, "deezer_link": { "type": [ "string", "null" ] }, "record_label": { "type": [ "string", "null" ] }, "release_date": { "type": [ "string", "null" ] }, "total_length": { "type": [ "string", "null" ] }, "cover_image_link": { "type": [ "string", "null" ] }, "number_of_tracks": { "type": "integer" }, "total_length_seconds": { "type": [ "integer", "null" ], "x-fous-developer": true } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
deezer.com/get_album- Returns
- title, artist, release date, label, genres, track count, length, fans, cover, links, tracklist
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method deezer.com/get_album with the inputs above.
Ask your agent
- Can you pull up the Random Access Memories album on Deezer and list its tracks in order?
- What's the release date, label, and track count for Abbey Road by The Beatles?
- Find the Deezer album for Kind of Blue by Miles Davis and tell me its genres and total length.
- Look up album 302127 and show me the cover art and how many fans it has.
- I need the tracklist and label information for the album Blonde by Frank Ocean.
See more
All Deezer methodsGets a Deezer song's tempo, ISRC, loudness gain and recording details from its title, track link or track ID. An artist name helps pick the right recording.
deezer.com/get_song_detailsLists current worldwide top tracks, albums or artists on Deezer in chart order, or tracks from Deezer's official Top <country> playlist.
deezer.com/list_top_chartsGets a Spotify album by name (optionally with the artist), album link or album ID, with its details and ordered track list including play counts.
open.spotify.com/get_albumFinds an Apple Music album by title and optional artist, or by album link, and returns its matched release, purchase details and tracks in order.
music.apple.com/get_albumGets a Bandcamp album by title and optional artist, or by album link, with prices, physical formats, tracks and album details. Supporter count covers only profiles shown on the page; copies left is given only when displayed.
bandcamp.com/get_albumFinds Pitchfork's newest review that matches an album title and artist, and returns the review's rating and details.
pitchfork.com/get_album_reviewFinds a Discogs release by title, artist or release link and returns its edition details, tracks, community counts, current price and sold price statistics.
discogs.com/get_releaseGets an Apple Music artist profile by name or artist link. The profile includes the latest release, top songs and albums.
music.apple.com/get_artist