BYTETOOLS

Discogs API

Free music release database API: fetch any Discogs release unauthenticated, with full credits, tracklist, formats, marketplace stats and identifiers. Tested example included.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-21

What is the Discogs API?

Discogs' release endpoint answers unauthenticated requests, returning the full database record for a release: artists, labels, formats, tracklist, credited personnel, catalogue identifiers, genres and marketplace figures. Search and image URLs are the parts that need a token.

Discogs is the definitive database of physical music releases, built over two decades by collectors documenting pressings the labels themselves no longer have records of. The distinction that matters when querying it is release versus master: a master is the album as a work, while a release is one specific pressing — a particular country, year, catalogue number and matrix runout. The example fetches a release, which is why it carries `country`, `released` and a `master_id` pointing up to the abstract work.

Unauthenticated access is real but partial, and knowing where the line falls saves time. Fetching a known release by id works with no credentials at all; database search and the `images` array require a token. Two rules apply regardless: send a descriptive User-Agent, because Discogs blocks generic ones outright, and stay under the unauthenticated rate limit of roughly 25 requests per minute. `num_for_sale` and `lowest_price` come straight from the live marketplace, which makes this one of the few free ways to see what a pressing actually sells for.

Quick facts

Base URL
https://api.discogs.com
Authentication
No key needed to fetch a release by id. Database search and image URLs require a personal access token or OAuth. A descriptive User-Agent is mandatory either way.
Rate limit
Roughly 25 requests per minute unauthenticated, 60 with a token. Limits are reported in `X-Discogs-Ratelimit-*` headers.
Pricing
Free. Commercial use is permitted subject to Discogs' API terms.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the Discogs API

Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.

1. Fetch a release by its Discogs id

GET https://api.discogs.com/releases/249504

curl
curl 'https://api.discogs.com/releases/249504'
JavaScript (fetch)
const res = await fetch("https://api.discogs.com/releases/249504");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://api.discogs.com/releases/249504", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
{
  "id": 249504,
  "status": "Accepted",
  "year": 1987,
  "resource_url": "https://api.discogs.com/releases/249504",
  "uri": "https://www.discogs.com/release/249504-Rick-Astley-Never-Gonna-Give-You-Up",
  "artists": [
    {
      "name": "Rick Astley",
      "anv": "",
      "join": "",
      "role": "",
      "tracks": "",
      "id": 72872,
      "resource_url": "https://api.discogs.com/artists/72872",
      "thumbnail_url": "https://i.discogs.com/Bb1-_pHvbCPFZEZvwoX89glv8Vq7uR_pKeK85ZWhOhA/rs:fit/g:sm/q:90/h:434/w:448/czM6Ly9kaXNjb2dz/LWRhdGFiYXNlLWlt/YWdlcy9BLTcyODcy/LTE3NjMyNzU4MjYt/NTY4My5qcGVn.jpeg"
    }
  ],
  "artists_sort": "Rick Astley",
  "labels": [
    {
      "name": "RCA",
      "catno": "PB 41447",
      "entity_type": "1",
      "entity_type_name": "Label",
      "id": 895,
      "resource_url": "https://api.discogs.com/labels/895",
      "thumbnail_url": "https://i.discogs.com/q-zL2IXAAZL18V9Ova8MTy7NXCoGMloDEKM1yaHpays/rs:fit/g:sm/q:90/h:287/w:600/czM6Ly9kaXNjb2dz/LWRhdGFiYXNlLWlt/YWdlcy9MLTg5NS0x/NzY4MDgxMjYxLTMw/NDIuanBlZw.jpeg"
    }
  ],
  "series": [],
  "companies": [
    {
      "name": "BMG Records (UK) Ltd.",
      "catno": "",
      "entity_type": "13",
      "entity_type_name": "Phonographic Copyright (p)",
      "id": 82835,
      "resource_url": "https://api.discogs.com/labels/82835",
      "thumbnail_url": "https://i.discogs.com/aLAGfAWEPyoZq1-xZ3e1jec6bhXwBFl8f5FDyKid2ss/rs:fit/g:sm/q:90/h:80/w:173/czM6Ly9kaXNjb2dz/LWRhdGFiYXNlLWlt/YWdlcy9MLTgyODM1/LTEyMzMxNzA2NjQu/Z2lm.jpeg"
    },
    {
      "name": "BMG Records (UK) Ltd.",
      "c

Parameters

ParameterTypeRequiredDescription
(release id)pathRequiredNumeric Discogs release id, taken from the release URL on the website. 249504
curr_abbrqueryOptionalCurrency for the marketplace price fields, such as `GBP` or `USD`. GBP
/masters/{id}pathOptionalFetch the master record instead — the album as a work, listing every pressing beneath it.

Response fields

title / artists_sort / year / countrystring / integer
Release title, sortable artist credit, year and country of this specific pressing.
artists / extraartistsarray
Main credited artists and the full personnel credits — producers, engineers, session players — each with a Discogs id and role.
labelsarray
Issuing labels with `catno`, the catalogue number printed on the sleeve. This is how collectors identify a pressing.
formatsarray
Physical format detail: vinyl, CD, 7", 12", plus descriptors such as `Single` or `Reissue`.
tracklistarray
Track positions, titles and durations. Position is a string like `A1`, not a number, because vinyl sides exist.
genres / stylesarray
Broad genres and the finer style tags Discogs is known for.
identifiersarray
Barcodes, matrix runouts, rights-society codes and other physical markings.
communityobject
How many users have the release in their collection or wantlist, plus the community rating.
num_for_sale / lowest_priceinteger / float
Live marketplace figures — how many copies are listed and the cheapest asking price.
master_id / master_urlinteger / string
Pointer to the master record that groups every pressing of this album.
videosarray
Community-linked video URLs, usually YouTube, for the tracks.
data_qualitystring
Discogs' own assessment of how complete the entry is, such as `Correct` or `Needs Vote`.

What you can build with the Discogs API

  • Look up a pressing by catalogue number for a record-shop inventory
  • Enrich a collection app with credits, formats and matrix identifiers
  • Check what a specific pressing currently sells for
  • Build a discography view by walking from a master to its releases

Common errors and how to fix them

403 Forbidden

Your User-Agent is generic or missing.

Fix: Discogs requires a descriptive User-Agent naming your application and a contact. Default library agents are blocked outright.

429

You exceeded roughly 25 requests per minute unauthenticated.

Fix: Watch `X-Discogs-Ratelimit-Remaining` and throttle. A token raises the ceiling to about 60.

images array missing

Image URLs are only returned to authenticated requests.

Fix: Fetch artwork from Cover Art Archive instead if you would rather not authenticate.

Wrong pressing returned

You fetched a release rather than a master, or vice versa.

Fix: A release is one specific pressing; a master groups them all. Use `master_id` to move between the two.

Discogs API — frequently asked questions

Can I use the Discogs API without a token?

Yes for fetching a release or master by id, which is what this page documents. Database search and image URLs require a personal access token or OAuth.

Why am I getting 403 errors?

Almost always the User-Agent. Discogs rejects generic or absent agents, so send one naming your application and a contact address.

What is the difference between a release and a master?

A master is the album as a work; a release is one specific pressing with its own country, year and catalogue number. The `master_id` field links a release up to its master.

Are the marketplace prices live?

`num_for_sale` and `lowest_price` reflect current listings at the moment of the request. Pass `curr_abbr` to get them in your own currency.

Tools that pair with this API

Discogs is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.