Discogs Scraper
Pricing
from $3.00 / 1,000 results
Discogs Scraper
Scrape Discogs, the world's largest music database and marketplace. Search releases, masters, artists, and labels; pull full discographies; resolve marketplace listings and price stats. HTTP-only via the official Discogs API.
Pricing
from $3.00 / 1,000 results
Rating
5.0
(11)
Developer
Crawler Bros
Maintained by CommunityActor stats
11
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Scrape Discogs — the world's largest music database and marketplace, covering 17M+ releases, 9M+ artists, and 2M+ labels across every genre and physical format. HTTP-only via the official api.discogs.com REST API. Anonymous reads work; an optional personal access token raises rate limits from 25 req/min to 60 req/min.
What this actor does
- 12 modes — search the database, lookup by release/master/artist/label/listing, fetch full discographies, marketplace stats, or any Discogs URL
- Universal IDs — numeric Discogs release IDs, master IDs, artist IDs, label IDs, listing IDs
- Filters — type, format, genre, style, country, year range, collection have/want, marketplace condition
- Marketplace stats — number for sale, lowest price, currency for any release
- Empty fields are omitted
Modes
| Mode | What it returns | Required input |
|---|---|---|
search | Free-text search of releases / masters / artists / labels | searchQuery |
byRelease | Single release with full tracklist + community stats | releaseId |
byMaster | Master release (canonical work, all pressings collapsed) | masterId |
byMasterVersions | Every pressing/version of a master | masterId |
byArtist | Artist profile, members, aliases, name variations | artistId |
byArtistReleases | Full discography of an artist | artistId |
byLabel | Label profile, sublabels, parent label | labelId |
byLabelReleases | Full release catalog of a label | labelId |
byMarketplaceListing | Single marketplace listing with seller, condition, price | listingId |
marketplaceSearch | Search releases + enrich with marketplace stats | searchQuery |
marketplaceStats | Number for sale / lowest price for a release | releaseId |
byUrl | Resolve any Discogs URL (release / master / artist / label / listing) | urls |
Output per record
Common fields:
id— Discogs numeric IDrecordType—release/master/artist/label/marketplaceListing/marketplaceStatstitle/name— primary string identifierdiscogsUrl— canonical URL on www.discogs.comcoverImage/image— CDN URL when availabledataQuality— Discogs editorial quality flagscrapedAt— ISO 8601 UTC timestamp
Release-specific:
year,released,countryartists[](withid,name,url),primaryArtistlabels[](withid,name,catno,url),catnoformats[],formatDescriptions[],formatQuantitygenres[],styles[]notes,statustracklist[](withposition,title,duration)have,want,ratingAverage,ratingCountnumForSale,lowestPricemasterId,masterUrl
Master-specific:
mainReleaseId,mainReleaseUrl,mostRecentReleaseId,mostRecentReleaseUrl
Artist-specific:
realName,profile,nameVariations[],aliases[],members[],urls[]
Label-specific:
profile,contactInfo,urls[],sublabels[],parentLabel
Marketplace listing:
condition,sleeveCondition,comments,shipsFromprice,currency,shippingPrice,allowOffersseller(withusername,rating,totalRatings)release(id/title/year/format/url)
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | enum | search | Mode dispatcher |
searchQuery | string | miles davis | Free-text query |
type | enum | release | release / master / artist / label / any |
format | enum | any | Vinyl, CD, Cassette, etc. |
genre | enum | any | Discogs top-level genre |
style | string | – | Specific style, e.g. Free Jazz |
country | string | – | Country of release |
yearMin, yearMax | int | – | Year range |
releaseId, masterId, artistId, labelId, listingId | string | – | Numeric IDs |
urls | array | – | Discogs URLs (mode=byUrl) |
sortBy | enum | default | year / title / format / label / artist / catno / country / have / want |
sortOrder | enum | desc | asc / desc |
minHave | int | – | Drop releases owned by fewer collectors |
minWant | int | – | Drop releases wanted by fewer collectors |
marketplaceCondition | enum | any | Mint / NM / VG+ / VG / G+ / G / F / P |
apiToken | string (secret) | – | Optional Discogs personal access token (60 req/min) |
userAgent | string | (apify default) | Custom User-Agent |
maxItems | int | 50 | 1–10000 |
Example: search for jazz vinyl
{"mode": "search","searchQuery": "miles davis","type": "release","format": "Vinyl","genre": "Jazz","yearMin": 1955,"yearMax": 1975}
Example: full Nickelback discography
{"mode": "byArtistReleases","artistId": "108713","sortBy": "year","sortOrder": "asc","maxItems": 200}
Example: Discogs URL batch
{"mode": "byUrl","urls": ["https://www.discogs.com/release/7426074-Miles-Davis-Miles-Davis-At-Fillmore","https://www.discogs.com/master/65664-Miles-Davis-Miles-Davis-At-Fillmore","https://www.discogs.com/artist/108713-Nickelback"]}
Use cases
- Music intelligence — pull entire catalogs for record labels and artists
- Vinyl pricing — track marketplace prices and rarity (have/want ratios)
- Discography research — every pressing of every album, with country-of-issue
- Genre / style mining — comprehensive Discogs taxonomy across 16 root genres
- Artist relationships — aliases, group memberships, name variations
- Label catalogs — every release on a label, including sublabels
FAQ
Do I need a Discogs API token? No. Anonymous reads work for every endpoint. A token only raises rate limits from 25 to 60 req/min.
Why do I see 25 req/min warnings? Discogs throttles anonymous traffic. The actor sleeps ~1.1 s between requests so it never crosses the limit.
What's the difference between a release and a master? A master is the canonical recorded work (e.g. Miles Davis at Fillmore). A release is one specific pressing of it (US 1970 Columbia LP, Japan 1985 reissue, etc.). One master has many releases.
Can I scrape user wantlists or collections? No — those endpoints require user auth (OAuth) and aren't supported by this actor.
Why is marketplaceSearch slow? Each result is enriched with a separate /marketplace/stats/{id} call to get number-for-sale and lowest-price. We cap at the configured rate limit.
Are images included? The first cover image URL is exposed as coverImage. Full image lists require auth.
Limitations
- User-specific endpoints (collection, wantlist, identity) require OAuth and aren't supported.
- Marketplace condition is annotated, not strictly server-side filtered (Discogs marketplace search is OAuth-only at the listing level).
- Anonymous rate limit (25 req/min) makes runs over a few hundred items slow.