Bandcamp is one of the best sources of indie music data — artist profiles, albums, tracks, pricing, genres, and tags. But there's no public API. If you want this data at scale, you need a scraper.
I tested the available options in March 2026. Here's what works, what doesn't, and what gives you the best results.
Why Bandcamp Data
Quick recap on why people scrape Bandcamp:
- Music researchers tracking genre trends and pricing patterns
- Label scouts finding unsigned artists by scene and location
- Playlist curators building collections from organic discovery (no algorithm bias)
- Data journalists covering the indie music economy
Bandcamp's data is uniquely valuable because it reflects real purchases, not streams. When someone buys an album on Bandcamp, it's a genuine signal of demand.
Option 1: DIY with Python + BeautifulSoup
The manual approach. Write your own scraper using requests and BeautifulSoup (or Playwright for JavaScript-rendered content).
Pros:
- Full control over what you extract
- No third-party dependencies
- Free (minus your time)
Cons:
- Bandcamp uses dynamic loading — basic HTTP requests miss content
- You need to handle pagination, rate limiting, and retries yourself
- Maintaining the scraper as Bandcamp updates its markup is ongoing work
- No proxy rotation out of the box — you'll get blocked at scale
Verdict: Fine for one-off extractions of a few pages. Not practical for ongoing data collection or anything over 100 items.
Option 2: Bandcamp's Undocumented API
Bandcamp has internal API endpoints that their frontend uses. You can reverse-engineer them by watching network requests in DevTools.
Pros:
- Returns clean JSON (no HTML parsing)
- Faster than scraping rendered pages
Cons:
- Completely undocumented — endpoints change without notice
- Authentication and rate limiting are unpredictable
- Legal gray area (terms of service may prohibit this)
- Breaks regularly, requiring constant maintenance
Verdict: Fragile. Good for a weekend project, terrible for production.
Option 3: Generic Web Scraping Platforms
Tools like Scrapy Cloud, Octoparse, or ParseHub. You point them at URLs and define extraction rules visually or with code.
Pros:
- No code needed for simple extractions
- Built-in scheduling and proxy rotation
Cons:
- Generic tools struggle with Bandcamp's dynamic content
- Template setup takes time for each page type
- Expensive at scale (most charge per page or per row)
- No Bandcamp-specific data normalization
Verdict: Possible but clunky. You'll spend more time configuring templates than actually analyzing data.
Option 4: Bandcamp Scraper on Apify (Our Pick)
The Bandcamp Scraper is purpose-built for Bandcamp. Four modes cover every use case:
- Search artists — by keyword, genre, or location
- Search albums — by keyword or tag
- Album details — full tracklist, pricing, release date, tags
- Artist profiles — discography, bio, links
Pros:
- Purpose-built — handles Bandcamp's dynamic content natively
- Four extraction modes cover artists, albums, tracks, and search
- Outputs clean, normalized JSON
- Pay-per-use pricing (cents per run, not monthly subscriptions)
- No code required (or use the API for automation)
- Built-in rate limiting and retry logic
Cons:
- Requires an Apify account (free tier available)
- Large-scale runs need proxy credits
Code Example (Python)
from apify_client import ApifyClient
client = ApifyClient("your-api-token")
run = client.actor("cryptosignals/bandcamp-scraper").call(
run_input={
"mode": "search",
"query": "synthwave 2026",
"maxItems": 100
}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{item['artist']} - {item['album']} ({item['genre']})")
Five lines of Python. That's it.
Pricing Comparison
| Method | Cost for 1,000 items | Setup Time | Maintenance |
|---|---|---|---|
| DIY Python | Free (your time) | 4-8 hours | Ongoing |
| Undocumented API | Free | 2-4 hours | Constant |
| Generic platform | $10-50/mo | 1-2 hours | Medium |
| Bandcamp Scraper | ~$0.50-2.00 | 2 minutes | None |
Scaling Up
For large jobs — say, scraping every album tagged "electronic" from the past year — you'll want proxy rotation to avoid rate limits. ScrapeOps integrates well with Apify for managing proxy pools across multiple concurrent scrapers.
The Bottom Line
If you need Bandcamp data occasionally, the DIY approach works. If you need it regularly, at scale, or without writing code — the Bandcamp Scraper on Apify is the clear winner. Purpose-built beats generic every time.
Start here: apify.com/cryptosignals/bandcamp-scraper
Top comments (0)