# Discogs API

> Discogs returns release details, artist discographies, and available price statistics as a workflow and API.

Discogs Get release returns edition details, tracks, community counts, and available price statistics. It needs a title; artist, format, country, and pressing year are optional.

- Page: https://fous.com/tools/discogs
- Handle: `@discogs`
- Category: [Entertainment](https://fous.com/tools/category/entertainment)
- Source website: https://discogs.com
- Last verified: Sep 30, 2026

## Methods

### Get artist discography

Operation `get_artist_discography`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

List an artist’s albums, singles, EPs, and compilations, grouped by master release and ordered oldest first. Includes Discogs catalog entries such as live recordings and promotional releases.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `page` | integer | no | `2` | Page number starting at 1, such as 2. |
| `artist` | string | yes | `"https://www.discogs.com/artist/3840-Radiohead"` | Artist or band name, Discogs artist link, or artist ID, such as Radiohead. |
| `max_results` | integer | no | `5` | Maximum number of entries per page, such as 50. |
| `release_type` | string | no | `"singles_and_eps"` | Which releases to include, such as albums. |

**Input schema**

```json
{
  "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,
      "examples": [
        2
      ]
    },
    "artist": {
      "type": "string",
      "minLength": 1,
      "description": "Artist or band name, Discogs artist link, or artist ID, such as Radiohead.",
      "examples": [
        "https://www.discogs.com/artist/3840-Radiohead",
        "Radiohead",
        "Nirvana"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 50,
      "maximum": 500,
      "minimum": 1,
      "description": "Maximum number of entries per page, such as 50.",
      "x-fous-developer": true,
      "examples": [
        5,
        10
      ]
    },
    "release_type": {
      "enum": [
        "all",
        "albums",
        "singles_and_eps",
        "compilations"
      ],
      "type": "string",
      "default": "albums",
      "description": "Which releases to include, such as albums.",
      "examples": [
        "singles_and_eps",
        "albums",
        "compilations"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "page": 2,
      "artist": "https://www.discogs.com/artist/3840-Radiohead",
      "max_results": 5,
      "release_type": "singles_and_eps"
    },
    {
      "artist": "Radiohead",
      "release_type": "albums"
    },
    {
      "artist": "Nirvana",
      "max_results": 5,
      "release_type": "compilations"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `releases` | array |  | Discogs releases, oldest first. |
| `releases[].type` | string | `"EP"` |  |
| `releases[].year` | integer or null | `1994` |  |
| `releases[].label` | string or null | `"Parlophone"` |  |
| `releases[].title` | string | `"My Iron Lung E.P."` |  |
| `releases[].format` | string or null | `"CD"` |  |
| `releases[].discogs_link` | string | `"https://www.discogs.com/master/21541-Radiohead-My-Iron-Lung-EP"` |  |
| `releases[].master_or_release_id` | integer | `21541` |  |
| `artist_id` | integer | `3840` | Discogs artist ID. |
| `artist_link` | string | `"https://www.discogs.com/artist/3840"` | Discogs artist page. |
| `artist_name` | string | `"Radiohead"` | Discogs artist name. |

**Example input**

```json
{
  "page": 2,
  "artist": "https://www.discogs.com/artist/3840-Radiohead",
  "max_results": 5,
  "release_type": "singles_and_eps"
}
```

**Example output**

```json
{
  "releases": [
    {
      "type": "EP",
      "year": 1994,
      "label": "Parlophone",
      "title": "My Iron Lung E.P.",
      "format": "CD",
      "discogs_link": "https://www.discogs.com/master/21541-Radiohead-My-Iron-Lung-EP",
      "master_or_release_id": 21541
    },
    {
      "type": "EP",
      "year": 1994,
      "label": "EMI",
      "title": "Itch",
      "format": "CD, Stereo",
      "discogs_link": "https://www.discogs.com/master/97141-Radiohead-Itch",
      "master_or_release_id": 97141
    },
    {
      "type": "Single",
      "year": 1995,
      "label": "Parlophone",
      "title": "Just",
      "format": "CD",
      "discogs_link": "https://www.discogs.com/master/97186-Radiohead-Just",
      "master_or_release_id": 97186
    }
  ],
  "artist_id": 3840,
  "artist_link": "https://www.discogs.com/artist/3840",
  "artist_name": "Radiohead"
}
```

### Get release

Operation `get_release`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Find a Discogs record by title, artist or release link, with its edition details, tracks, community counts and available price statistics. Sold prices may be unavailable for some releases.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `title` | string | yes | `"https://www.discogs.com/release/249504-Rick-Astley-Never-Gonna-Give-You-Up"` | Album or single title, or a Discogs release link or ID. Example: Rumours |
| `artist` | string | no | `"Fleetwood Mac"` | Artist to distinguish records with the same title. Example: Fleetwood Mac |
| `format` | string | no | `"vinyl"` | Preferred physical format. Example: vinyl |
| `country` | string | no | `"UK"` | Country of the specific pressing. Example: UK |
| `pressing_year` | integer | no | `1977` | Year of the specific pressing. Example: 1977 |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "title"
  ],
  "properties": {
    "title": {
      "type": "string",
      "description": "Album or single title, or a Discogs release link or ID. Example: Rumours",
      "examples": [
        "https://www.discogs.com/release/249504-Rick-Astley-Never-Gonna-Give-You-Up",
        "Rumours"
      ]
    },
    "artist": {
      "type": "string",
      "default": "",
      "description": "Artist to distinguish records with the same title. Example: Fleetwood Mac",
      "examples": [
        "Fleetwood Mac"
      ]
    },
    "format": {
      "enum": [
        "any",
        "vinyl",
        "cd",
        "cassette"
      ],
      "type": "string",
      "default": "any",
      "description": "Preferred physical format. Example: vinyl",
      "examples": [
        "vinyl"
      ]
    },
    "country": {
      "type": "string",
      "default": "",
      "description": "Country of the specific pressing. Example: UK",
      "examples": [
        "UK"
      ]
    },
    "pressing_year": {
      "type": "integer",
      "default": 0,
      "description": "Year of the specific pressing. Example: 1977",
      "examples": [
        1977
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "title": "https://www.discogs.com/release/249504-Rick-Astley-Never-Gonna-Give-You-Up"
    },
    {
      "title": "Rumours",
      "artist": "Fleetwood Mac"
    },
    {
      "title": "Rumours"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `label` | string or null | `"RCA"` |  |
| `title` | string | `"Never Gonna Give You Up"` |  |
| `format` | string or null | `"Vinyl (7\", 45 RPM, Single, Stereo)"` |  |
| `genres` | array |  |  |
| `styles` | array |  |  |
| `tracks` | array |  |  |
| `tracks[].title` | string | `"Never Gonna Give You Up"` |  |
| `tracks[].length` | string or null | `"3:32"` |  |
| `tracks[].position` | string or null | `"A"` |  |
| `artists` | array |  |  |
| `country` | string or null | `"UK"` |  |
| `master_id` | integer or null | `96559` |  |
| `release_id` | integer | `249504` |  |
| `discogs_link` | string | `"https://www.discogs.com/release/249504-Rick-Astley-Never-Gonna-Give-You-Up"` |  |
| `rating_count` | integer or null | `241` |  |
| `release_date` | string or null | `"1987"` |  |
| `catalog_number` | string or null | `"PB 41447"` |  |
| `collectors_have` | integer or null | `4125` |  |
| `collectors_want` | integer or null | `589` |  |
| `copies_for_sale` | integer or null | `120` |  |
| `community_rating` | number or null | `3.86` | Average rating out of 5. |
| `lowest_sold_price` | any |  |  |
| `median_sold_price` | any |  |  |
| `highest_sold_price` | any |  |  |
| `lowest_current_price` | any |  |  |

**Example input**

```json
{
  "title": "https://www.discogs.com/release/249504-Rick-Astley-Never-Gonna-Give-You-Up"
}
```

**Example output**

```json
{
  "label": "RCA",
  "title": "Never Gonna Give You Up",
  "format": "Vinyl (7\", 45 RPM, Single, Stereo)",
  "genres": [
    "Electronic",
    "Pop"
  ],
  "styles": [
    "Euro-Disco"
  ],
  "tracks": [
    {
      "title": "Never Gonna Give You Up",
      "length": "3:32",
      "position": "A"
    },
    {
      "title": "Never Gonna Give You Up (Instrumental)",
      "length": "3:30",
      "position": "B"
    }
  ],
  "artists": [
    "Rick Astley"
  ],
  "country": "UK",
  "master_id": 96559,
  "release_id": 249504,
  "discogs_link": "https://www.discogs.com/release/249504-Rick-Astley-Never-Gonna-Give-You-Up",
  "rating_count": 241,
  "release_date": "1987",
  "catalog_number": "PB 41447",
  "collectors_have": 4125,
  "collectors_want": 589,
  "copies_for_sale": 120,
  "community_rating": 3.86,
  "lowest_sold_price": {
    "amount": 0.47,
    "currency": "USD"
  },
  "median_sold_price": {
    "amount": 2.65,
    "currency": "USD"
  },
  "highest_sold_price": {
    "amount": 12,
    "currency": "USD"
  },
  "lowest_current_price": {
    "amount": 0.67,
    "currency": "USD"
  }
}
```

## Quick start

Replace `YOUR_API_KEY` with a Fous API key. To create one, open Developers at the bottom of Fous Studio, turn on Developer mode, then go to API keys (https://app.fous.com/keys). Change the values in `input` to run the same tool on new data.

```bash
curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 180 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@discogs",
  "visibility": "public",
  "operation": "get_artist_discography",
  "version": 1,
  "input": {
    "page": 2,
    "artist": "https://www.discogs.com/artist/3840-Radiohead",
    "max_results": 5,
    "release_type": "singles_and_eps"
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
import json
import urllib.error
import urllib.request

api_key = "YOUR_API_KEY"

body = json.loads("{\n  \"api\": \"@discogs\",\n  \"visibility\": \"public\",\n  \"operation\": \"get_artist_discography\",\n  \"version\": 1,\n  \"input\": {\n    \"page\": 2,\n    \"artist\": \"https://www.discogs.com/artist/3840-Radiohead\",\n    \"max_results\": 5,\n    \"release_type\": \"singles_and_eps\"\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=180) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
const apiKey = "YOUR_API_KEY";

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(180_000),
  body: JSON.stringify({
  "api": "@discogs",
  "visibility": "public",
  "operation": "get_artist_discography",
  "version": 1,
  "input": {
    "page": 2,
    "artist": "https://www.discogs.com/artist/3840-Radiohead",
    "max_results": 5,
    "release_type": "singles_and_eps"
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

## Use from an AI assistant

Connect this tool to Claude Code, Claude Desktop, Cursor, VS Code, Codex and any MCP client as its own MCP server. Each method is a typed tool whose arguments are the method’s input.

- Server URL: `https://api.fous.com/mcp/tools/discogs`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `get_artist_discography`: Get artist discography. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `get_release`: Get release. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `fous_get_run`: the result of a run that was still going, by its `request_id`. Free.

Claude Code:

```bash
claude mcp add --scope user --transport http fous-discogs https://api.fous.com/mcp/tools/discogs --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"
```

To give the assistant every tool, connect `https://api.fous.com/mcp`: it finds one with `fous_search_tools` and runs it with `fous_run_tool`. Setup for other clients: https://fous.com/llms-full.txt.

## Use cases

- Compare pressing details before buying a record
- Review available price statistics for a release
- Track collector counts for specific releases
- Compile an artist’s releases by year and type
- Find catalog entries for albums, singles, and EPs

## FAQ

### Can I run it with my own inputs?

Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.

### Can I call this Discogs tool as an API?

Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.

### How much does it cost?

Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.

### Do I need a Discogs account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from discogs.com when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 30, 2026.

### What tracks and formats are listed for a release?

Get release returns edition details, including format and track information, when you provide a title or Discogs release link or ID.

### What price statistics are available for a release?

Get release returns available price statistics, including sold-price ranges when available and the lowest current price.

### What releases are in an artist’s discography?

Get artist discography lists an artist’s catalog entries oldest first, with release type, year, label, title, and format.

## Related

- [Last.fm API](https://fous.com/tools/last-fm.md): Last.fm provides listening statistics, artist profiles, discovery, up to 50 tracks or albums, similar artists without percentages, and upcoming events that may be absent.
- [MusicBrainz API](https://fous.com/tools/musicbrainz.md): MusicBrainz provides community-maintained recording and release information, matching songs to identifiers and release dates and providing artist details and links when available; some release information may be incomplete.
- [Apple Music API](https://fous.com/tools/apple-music.md): Apple Music returns albums, tracks, artist profiles, latest releases, top music, matching songs, and current charts; prices, previews, and older albums may be unavailable.
- [Genius API](https://fous.com/tools/genius.md): Genius provides lyrics, annotations, credits, and music knowledge, plus song stories, relationships, page details, and artist song lists by popularity or release date; dates and views may be unavailable.
- [Spotify API](https://fous.com/tools/spotify.md): Spotify returns public artist profiles, album credits and ordered tracks, song details and play counts, up to 500 playlist songs, keyword results, and country-based podcast charts; dates and regional options vary.
- [Bandcamp API](https://fous.com/tools/bandcamp.md): Bandcamp provides music albums and merchandise from artists and labels, with album details and prices and genre releases ordered by best-selling or new arrivals; availability details appear only when shown.
- [Deezer API](https://fous.com/tools/deezer.md): Deezer provides albums with ordered tracklists, song recording details, and current worldwide charts or official country-playlist tracks; previews and some tempo data may be unavailable or expire.
- [SoundCloud API](https://fous.com/tools/soundcloud.md): SoundCloud lets people listen to and share music, find public tracks with play stats, and browse artists’ tracks, with popular lists limited to 30.
- [All Entertainment tools](https://fous.com/tools/category/entertainment)
