Discogs Scraper
Pricing
Pay per event
Discogs Scraper
Pricing
Pay per event
Rating
0.0
(0)
Developer
SR
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 hours ago
Last modified
Categories
Share
Search the Discogs music database and get releases back as rows: title, year, country, label, catalog number, barcode, and how many collectors want the pressing against how many own it.
No login and no API key needed. A free Discogs token is supported and roughly doubles the speed, but the actor works without one.
What you get
- The barcode (EAN/UPC) on releases that carry one, filtered so it is actually a barcode. Discogs mixes matrix runouts, rights-society codes like
BIEM/SDRMand pressing-plant strings into the same field; only 8 to 14 digit codes come back as barcodes. That makes it an exact join key against a shop catalogue want,haveandwant_have_ratio. How many collectors are chasing a pressing against how many own it. A ratio above 1 means demand exceeds supply among Discogs users, which is the signal that moves second-hand prices, and it appears nowhere on the rendered page- Catalog number, labels, formats, genres, styles, country and year on every row
master_id, which groups every pressing of the same record, so you can collapse 40 reissues into one title- The real match count.
totalMatchessays how many results exist against how many you took, so a 100-row run out of 42.431 never looks like the whole answer - Search by anything: free text, artist, label, barcode, catalog number, genre, style, country, year, format or track title
Why this reads the API, not the page
Discogs publishes a documented public API and it is simply better than its own HTML. The search page links 26 releases; api.discogs.com returns 100 per page with the full metadata attached, needs no authentication and does not change shape when the site is redesigned.
Scraping the page here would be slower, would return less, and would break more often. The reason to say so out loud is that it is the step most often skipped: check whether the target already offers the data before spending anything on getting past its front end.
Input
| Field | Type | Required | Default | What it does |
|---|---|---|---|---|
q | string | one field | nirvana | Free-text search |
type | select | no | release | Release, master, artist or label |
artist | string | no | – | Filter by artist |
label | string | no | – | Filter by label |
barcode | string | no | – | Look up a pressing by EAN/UPC |
catno | string | no | – | Label catalog number |
genre / style | string | no | – | Discogs genre and the narrower style |
country / year / format | string | no | – | Pressing country, year, medium |
track | string | no | – | Releases containing a track with this title |
token | string | no | – | Discogs personal token. Lifts the rate limit from 25 to 60 per minute |
limit | integer | no | 100 | Results to return, 1 to 2000 |
At least one search field is required; the actor refuses an empty search rather than paging the whole database.
Output
{"position": 1,"id": 7445961,"type": "release","title": "Nirvana - Nirvana","year": "2015","country": "Europe","url": "https://www.discogs.com/release/7445961","labels": ["DGC","Sub Pop","Geffen Records"],"catalog_number": "0602547378781","barcode": "602547378781","barcodes": ["602547378781"],"formats": ["Vinyl","LP","Compilation","Reissue"],"genres": ["Rock"],"styles": ["Grunge","Alternative Rock"],"master_id": 156308,"want": 1760,"have": 22683,"want_have_ratio": 0.078,"cover_image": "https://i.discogs.com/..."}
Use cases
Matching a shop listing to a pressing. Take the barcode off a marketplace listing and look it up here. You get the exact pressing, its year, country and label, plus how sought-after it is. Guessing from a title cannot do this: the same album has hundreds of pressings and they are not worth the same money.
Finding pressings worth buying. Sort by want_have_ratio. A record with 88 wants and 2 haves is scarce and chased; one with 127 wants and 4.377 haves is common. That single ratio separates the two, and it is what a dealer is actually paying attention to.
Building a catalogue for a genre or label. label=Sub Pop returns 9.410 releases; genre=Rock&style=Grunge returns 42.431. Set limit and you have the reference list.
Collapsing reissues. Group your results by master_id to see how many times a record has been pressed, which tells you whether a copy is rare or simply old.
Enriching an inventory. Feed catalog numbers or barcodes from your own stock and get back genre, style, year and demand for each.
How it compares
| this actor | the other 19 Discogs actors | |
|---|---|---|
| Per 1.000 results | $1,00 | mostly no per-item rate declared |
| Results per request | 100 | not stated |
| Barcode, cleaned of non-barcodes | yes | not stated |
| Collector demand (want / have / ratio) | yes | not stated |
| Real match count returned | yes | no |
| Monthly users | new | best is 4 |
Honest about the other side: twenty Discogs actors exist and between them they have eighteen monthly users, so this is a small market and nobody in it has proven anything. The upside is that nothing has to be displaced.
Pricing
Two events. run_start costs $0,0010 per run. record costs $0,0010 per result written to the dataset, which is $1,00 per 1.000.
Limits and gotchas
- The rate limit is Discogs', not ours. 25 requests a minute unauthenticated, 60 with a token, and the actor paces itself off the
X-Discogs-Ratelimitheader rather than a guess. A 2.000-row run is 20 requests, so it takes about 48 seconds anonymously and 20 with a token. - Barcode coverage is partial and honest. Roughly 40 to 50% of releases carry one; older and independent pressings often predate barcodes entirely.
withBarcodein the summary gives the run's coverage. - A
releaseis one pressing, amasteris the record. Searching releases for a famous album returns dozens of near-identical rows from different countries and years. Usetype: masterwhen you want one row per record. wantandhaveare Discogs users, not the world. They measure that community's collections, which skews toward vinyl and away from mainstream CDs.- The result count can be enormous. A bare genre search matches tens of thousands.
totalMatchestells you what you are sampling from; the actor caps at 2.000 per run. - No pricing data. The marketplace prices live behind a different, authenticated endpoint and are not returned here.
FAQ
Do I need a Discogs account? No. It runs anonymously at 25 requests a minute. A free personal token raises that to 60 and is worth adding for large runs.
Can I look a record up by barcode?
Yes, that is the barcode field, and it is the most precise way to match a shop listing to a specific pressing.
Why do some releases have no barcode? Because many pressings, especially pre-1980s and independent ones, never had one. The field is null rather than guessed.
What is want_have_ratio actually telling me? How many Discogs users want that exact pressing divided by how many own it. Above 1 is scarce and chased; well below 1 is common.
Does it return marketplace prices? No. Those sit behind an authenticated endpoint this actor does not use.
Related Actors
- Beslist.nl Scraper — Dutch price comparison, also keyed on EAN
- EAN UPC GTIN Product Lookup — resolve a barcode to product data
- eMAG Scraper — retail listings across Romania, Bulgaria and Hungary