Discogs API
Free music release database API: fetch any Discogs release unauthenticated, with full credits, tracklist, formats, marketplace stats and identifiers. Tested example included.
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 'https://api.discogs.com/releases/249504'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);import requests
res = requests.get("https://api.discogs.com/releases/249504", timeout=20)
res.raise_for_status()
print(res.json()){
"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.",
"cParameters
| Parameter | Type | Required | Description |
|---|---|---|---|
(release id) | path | Required | Numeric Discogs release id, taken from the release URL on the website. 249504 |
curr_abbr | query | Optional | Currency for the marketplace price fields, such as `GBP` or `USD`. GBP |
/masters/{id} | path | Optional | Fetch 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
ISBN Validator & Converter
Validate an ISBN check digit, convert between ISBN-10 and ISBN-13, add the correct hyphens and check a whole list at once with a pass or fail column.
CSV to JSON Converter
Convert CSV to a JSON array of objects online. Header-row detection, comma/semicolon/tab delimiters and pretty-printed output — 100% in your browser.
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
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.