Bandcamp New Release Scraper avatar

Bandcamp New Release Scraper

Pricing

Pay per event

Go to Apify Store
Bandcamp New Release Scraper

Bandcamp New Release Scraper

Scrapes the Bandcamp Discover feed for new releases. Filter by genre tag and sort order. Returns title, artist, label, genre tags, release date, price, and Bandcamp URL. Ideal for music supervisors, sync agents, and A&R researchers tracking indie new releases.

Pricing

Pay per event

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Scrapes the Bandcamp Discover feed for new album and track releases. Filter by genre tag and sort order to track new music in any genre — from electronic and jazz to hip-hop and metal.

What it does

Calls the Bandcamp internal discover API to retrieve a rolling feed of new releases. Each result includes the album title, artist name, genre tag, release date, price, track count, artist location, featured track title, and direct Bandcamp URL. The actor paginates through the cursor-based feed until it reaches your maxItems limit.

Data is returned with no audio content — metadata only, with a clean legal posture.

Use cases

  • Music supervisors and sync agents tracking new indie releases in specific genres
  • Music blogs and newsletters building "new releases this week" roundups
  • A&R research monitoring emerging artists on Bandcamp
  • Price and release monitoring for music labels and distributors
  • Recurring weekly/daily feeds for any genre or global filter

Input

FieldTypeDefaultDescription
maxItemsinteger60Maximum number of releases to scrape
genreTagstring(all)Genre/tag slug to filter (e.g. electronic, hip-hop-rap, jazz)
sortOrderstringnewSort order: new (newest), top (top releases), rec (recommended)

Genre tag examples

Use the normalized Bandcamp genre slug as the genreTag value:

electronic, rock, metal, alternative, hip-hop-rap, experimental, folk, pop, punk, ambient, soundtrack, world, jazz, latin, lo-fi, blues, classical, country, funk, r-b-soul, reggae, spoken-word

Example input

{
"maxItems": 60,
"genreTag": "electronic",
"sortOrder": "new"
}

Leave genreTag empty to browse all genres on the main discover feed.

Output

Each result is a flat JSON object:

{
"album_id": 1648818688,
"title": "Atheosis",
"artist": "Atheosis",
"label": null,
"genre_tag": "metal",
"secondary_tags": null,
"release_date": "2026-05-22",
"price": 3.0,
"currency": "GBP",
"is_name_your_price": false,
"track_count": 3,
"location": "Brighton And Hove, UK",
"featured_track": "Pale Emanation",
"bandcamp_url": "https://atheosis1.bandcamp.com/album/atheosis",
"artwork_url": "https://f4.bcbits.com/img/a2430942940_10.jpg"
}

Field reference

FieldTypeDescription
album_idintegerBandcamp internal album ID
titlestringAlbum or release title
artiststringArtist name
labelstringRecord label name (null — not returned by the discover API)
genre_tagstringPrimary genre slug (from filter input or genre ID lookup)
secondary_tagsstringSecondary tags (null — not returned by the discover API)
release_datestringRelease date (YYYY-MM-DD)
pricenumberPrice in the listed currency (0 = free or name-your-price)
currencystringThree-letter ISO 4217 currency code (e.g. USD, GBP)
is_name_your_pricebooleanWhether the release uses name-your-price pricing
track_countintegerNumber of tracks on the release
locationstringArtist-declared location (city, country, or region)
featured_trackstringFeatured/preview track title
bandcamp_urlstringFull Bandcamp URL to the release page
artwork_urlstringURL to the album artwork thumbnail (350×350 JPG)

How it works

The actor calls the Bandcamp internal discover API (POST /api/discover/1/discover_web) using impit, which spoofs a Chrome TLS fingerprint to bypass Fastly's bot protection. Results are paginated via the API's cursor-based pagination until maxItems is reached.

No audio content is accessed or downloaded. No artist subdomains are crawled.

Notes

  • The Bandcamp discover feed only surfaces albums and releases, not individual tracks
  • label and secondary_tags fields are always null — the discover API does not include these in its response
  • Price amounts are in the currency listed in the currency field (not normalized to USD)
  • The is_name_your_price flag is derived from the combination of price.amount = 0, is_set_price = false, and is_free_download = false