Discogs API: Get artist discography
Lists an artist's albums, singles, EPs and compilations on Discogs, grouped by master release and ordered oldest first.
Unofficial. Not affiliated with or endorsed by Discogs.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- Page optional
page Page number starting at 1, such as 2.
1 (default)
Whole number 1 or more.
- Artist, required
artist Artist or band name, Discogs artist link, or artist ID, such as Radiohead.
Radiohead
- Max Results optional
max_results Maximum number of entries per page, such as 50.
500
Whole number from 1 to 500. Default
50.- Release Type optional
release_type Which releases to include, such as albums.
albums
One of
all,albums,singles_and_eps,compilations. Defaultalbums.
Input as JSON
{ "artist": "Radiohead", "max_results": 500, "release_type": "albums"}Output
{ "releases": [ { "type": "Album", "year": 1993, "label": "Parlophone", "title": "Pablo Honey", "format": "Vinyl, LP", "discogs_link": "https://www.discogs.com/master/13344-Radiohead-Pablo-Honey" , "master_or_release_id": 13344 }, { "type": "Album", "year": 1995, "label": "Parlophone", "title": "The Bends", "format": "Vinyl, LP", "discogs_link": "https://www.discogs.com/master/17008-Radiohead-The-Bends" , "master_or_release_id": 17008 }, { "type": "Album", "year": 1995, "label": "EMI Holland", "title": "Nottingham Rock City", "format": "CDr, Promo", "discogs_link": "https://www.discogs.com/release/15518246-Radiohead-Nottingham-Rock-City" , "master_or_release_id": 15518246 } ], "artist_id": 3840, "artist_link": "https://www.discogs.com/artist/3840" , "artist_name": "Radiohead"}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"discogs.com/get_artist_discography","input":{"artist":"Radiohead","max_results":500,"release_type":"albums"}}' # 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": "discogs.com/get_artist_discography" , "input": { "artist": "Radiohead", "max_results": 500, "release_type": "albums" }})# 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": "discogs.com/get_artist_discography" , "input": { "artist": "Radiohead", "max_results": 500, "release_type": "albums" } }), 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 discogs.com/get_artist_discography# with {"artist":"Radiohead","max_results":500,"release_type":"albums"}"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": [ "artist" ], "properties": { "page": { "type": "integer", "default": 1, "minimum": 1, "description": "Page number starting at 1, such as 2.", "x-fous-developer": true }, "artist": { "type": "string", "minLength": 1, "description": "Artist or band name, Discogs artist link, or artist ID, such as Radiohead." }, "max_results": { "type": "integer", "default": 50, "maximum": 500, "minimum": 1, "description": "Maximum number of entries per page, such as 50.", "x-fous-developer": true }, "release_type": { "enum": [ "all", "albums", "singles_and_eps", "compilations" ], "type": "string", "default": "albums", "description": "Which releases to include, such as albums." } }, "additionalProperties": false}Output schema
{ "type": "object", "required": [ "artist_name", "artist_link", "artist_id", "releases" ], "properties": { "releases": { "type": "array", "items": { "type": "object", "required": [ "title", "year", "type", "label", "format", "discogs_link", "master_or_release_id" ], "properties": { "type": { "enum": [ "Album", "Single", "EP", "Compilation" ], "type": "string" }, "year": { "type": [ "integer", "null" ] }, "label": { "type": [ "string", "null" ] }, "title": { "type": "string" }, "format": { "type": [ "string", "null" ] }, "discogs_link": { "type": "string" }, "master_or_release_id": { "type": "integer", "x-fous-developer": true } }, "additionalProperties": false }, "description": "Discogs releases, oldest first." }, "artist_id": { "type": "integer", "description": "Discogs artist ID.", "x-fous-developer": true }, "artist_link": { "type": "string", "description": "Discogs artist page." }, "artist_name": { "type": "string", "description": "Discogs artist name." } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
discogs.com/get_artist_discography- Returns
- artist name, link and ID; releases with title, year, type, label, format, link
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 discogs.com/get_artist_discography with the inputs above.
Ask your agent
- List every studio album Kate Bush has released, in chronological order with years and labels
- Show me Aphex Twin's singles and EPs on Discogs, oldest first, with the formats they came out on
- What compilations has Fleetwood Mac put out? I need titles, years and record labels
- Pull the full Discogs discography for artist ID 45467, including albums, singles and compilations
- Give me the next page of Miles Davis albums, 100 per page, starting from page 2
See more
All Discogs methodsFinds 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_releaseLists an artist's songs on Genius by popularity or newest release date, with featured artists, release dates, page views and song art. The artist can be given by name or by Genius artist link; dates or views may be unavailable.
genius.com/list_artist_songsFinds artists similar to a named artist on Last.fm, ordered by similarity. Similarity percentages are null because public pages do not show them.
last.fm/list_similar_artistsLooks up a Deezer album by name, album link, or ID, optionally matching an artist, and returns its details and ordered tracklist.
deezer.com/get_albumLooks up a Last.fm artist by name and returns listening statistics, profile, top tracks and albums, similar artists, and upcoming events.
last.fm/get_artistLists a SoundCloud artist's public tracks in latest or SoundCloud popular order, with profile and track details. SoundCloud's popular list may contain fewer than 100 tracks (currently at most 30).
soundcloud.com/list_artist_tracksGets an Apple Music artist profile by name or artist link. The profile includes the latest release, top songs and albums.
music.apple.com/get_artistGets an artist's upcoming concerts and tour dates on Songkick, optionally filtered by country, with ticket links and start times when listed.
songkick.com/get_artist_tour_dates