Bandcamp Scraper
Pricing
from $2.00 / 1,000 results
Bandcamp Scraper
Scrape Bandcamp albums, tracks, artists and labels, Bandcamp search and Discover: prices, formats, release dates, labels, tracklists, ISRC, lyrics and discographies.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Alexandre Paradis
Maintained by CommunityActor stats
4
Bookmarked
90
Total users
6
Monthly active users
8 days ago
Last modified
Categories
Share
Bandcamp Scraper extracts albums, tracks, artists and labels from Bandcamp. Start from any Bandcamp URL (including artists on their own domain), search Bandcamp by keyword, or browse a genre on Bandcamp Discover. You get clean records with prices and formats, release dates, labels, tracklists with durations, ISRC codes, lyrics and full discographies.
It reads the data Bandcamp embeds in its pages and the endpoints its own site uses, so it does not run a browser. Runs are fast and cheap.
What data can you get from Bandcamp?
| Record | Main fields |
|---|---|
album | Title, artist, the artist or label account that posted it, label, release date, tags, about, credits, UPC, cover, digital price, every format (vinyl, CD, cassette) with its price, tracklist with durations |
track | Title, artist, the artist or label account that posted it, album, position, duration, release date, ISRC, lyrics, credits, tags, price |
artist / label | Name, location, bio, photo, links (website, socials), discography with each release's artist |
searchResult | Name, type (album, track, artist, label), artist, genre, tags, location, URL |
discoverResult | Title, artist, the artist or label account that posted it, price, release date, track count, physical formats with prices, location |
discoverArtist | Name, location, genre and URL of an artist or label account found on Discover |
How to scrape Bandcamp
- Choose what to scrape:
- Start URLs: paste album, track, artist or label URLs. An artist URL (for example
https://artist.bandcamp.com) gives the artist and their whole discography. - Search queries: keywords, like on Bandcamp's search page.
- Discover genres: genres or tags such as
metal,ambientorhip-hop-rap, sorted by best-selling, new arrivals or surprise me. Get the releases, or the artists and labels that posted them.
- Start URLs: paste album, track, artist or label URLs. An artist URL (for example
- Set Maximum results per source.
- Click Start, then download the dataset as JSON, CSV, Excel or HTML, or read it through the Apify API.
Search and Discover give short results. Turn on Open search and Discover results to get the full album, track or artist record for each one. A Discover artist or label opened this way gives its full record without its releases.
Input
| Field | Description | Default |
|---|---|---|
startUrls | Album, track, artist or label URLs | none |
searchQueries | Keywords to search, up to 50 results each | none |
searchType | all, albums, tracks or artists | all |
discoverGenres | Genres or tags to browse on Bandcamp Discover | none |
discoverSort | top (best-selling), new (new arrivals) or rand (surprise me) | top |
discoverResultType | releases (one record per release) or artists (one record per artist or label account) | releases |
maxItems | Maximum results from each start URL, search query and genre | 100 |
openResults | Open each search or Discover result for the full record. Discover artists and labels open without their releases | false |
includeTracks | Add one record per track of each album (ISRC, lyrics, credits) | false |
includeDiscography | Add one record per release of each artist or label, except those opened from Discover | true |
proxyConfiguration | Proxy settings. Apify Proxy is recommended | Apify Proxy |
Give at least one start URL, search query or genre.
{"startUrls": [{ "url": "https://fivefingerdeathpunch.bandcamp.com" }],"discoverGenres": ["metal"],"discoverSort": "new","maxItems": 50}
Output
Every record has a type and a scrapedAt date. An album, shortened to two tracks:
{"type": "album","id": 1473119324,"url": "https://fivefingerdeathpunch.bandcamp.com/album/legacy","title": "Legacy","artist": {"name": "Five Finger Death Punch","url": "https://fivefingerdeathpunch.bandcamp.com"},"account": {"name": "Five Finger Death Punch","url": "https://fivefingerdeathpunch.bandcamp.com","id": 3335222211},"label": {"name": "Better Noise Music","url": "https://betternoisemusic.bandcamp.com"},"releaseDate": "2026-07-31T00:00:00.000Z","tags": ["Metal", "Rock", "Las Vegas"],"about": null,"credits": "2026, Five Finger Death Punch, under exclusive license to Better Noise Music","upc": "810202539501","imageUrl": "https://f4.bcbits.com/img/a3305686649_10.jpg","price": { "amount": 10, "currency": "USD" },"formats": [{ "name": "Legacy", "type": "Digital", "format": "DigitalFormat", "price": 10, "currency": "USD" },{ "name": "Digipak", "type": "Compact Disc (CD)", "format": "CDFormat", "price": 15.98, "currency": "USD" },{ "name": "Clear Vinyl", "type": "Vinyl LP", "format": "VinylFormat", "price": 29.98, "currency": "USD" }],"isPreorder": false,"trackCount": 10,"durationSec": 2207.623,"tracks": [{ "id": 3262287883, "position": 1, "title": "Legacy", "url": "https://fivefingerdeathpunch.bandcamp.com/track/legacy", "durationSec": 210 },{ "id": 1451168247, "position": 2, "title": "De Oppresso Liber", "url": "https://fivefingerdeathpunch.bandcamp.com/track/de-oppresso-liber", "durationSec": 240.208 }],"scrapedAt": "2026-10-15T16:02:11.204Z"}
The dataset has a view per record type: Albums, Tracks, Artists and labels, Search results and Discover.
How much does it cost to scrape Bandcamp?
The actor charges per result in the dataset. The current price is on the Pricing tab. Opening results, tracks or discographies makes more requests and adds results, so those runs cost more.
Tips
- Maximum results per source applies to each start URL, search query and genre on its own. An artist URL counts the artist and every release it opens.
- An account is a
labelwhen Bandcamp marks it as one, or when more than half of its releases are by other artists. Many labels post from an ordinary artist account, which Bandcamp does not mark. A label that leaves the artist out of its releases can come back as anartist, and an artist who releases under other names as alabel. - An account with a single release opens on that release. Opened from Discover artists, it still gives an
artistorlabelrecord, with that release. - A result found twice in the same run (for example an album from an artist page and from a search) is kept once.
- Bandcamp's search returns at most 50 results per query. For more, browse genres on Discover.
- On a label release or a collaboration, where the release artist differs from the name of the account that posted it (ignoring case), album, track and Discover records give the artist as a name only, with a null
artist.url(and a nullartist.idon Discover records).accountlinks the account that posted it. - Discover artists are the accounts that posted the releases. A release put out by a label gives the label, since Discover names the artist without linking to their page. Turn on Open search and Discover results to tell them apart.
Migrating from version 0.x
Version 1.0 is a rewrite with a new output:
- Flat records with a
typefield, instead of one item per search page with nested results. - New fields: label, formats with prices, UPC, ISRC, lyrics, credits, release dates in ISO format, durations in seconds, artist location, bio and links.
- New inputs:
searchQueries,searchType,discoverGenres,discoverSort,maxItems,openResults,includeTracksandincludeDiscography. Thefetch*options,maxPagesToSearchanddebugare gone. ForfetchArtistsFromDiscover, setdiscoverResultTypetoartists. - Artists and albums on their own domain work.
- Fans' and supporters' names are not collected.
Is it legal to scrape Bandcamp?
The actor only collects what Bandcamp shows publicly about releases, artists and labels. It does not collect fans' or supporters' names. You are responsible for how you use the data: follow Bandcamp's terms of use and the laws that apply to you. The search and Discover endpoints are the ones Bandcamp's own site uses. They are not a documented public API and may change.
Support
Found a bug or need a field? Open an issue on the actor's Issues tab.