Endpoint Playground
Pages through Bandcamp Discover albums. Filter by one to five tags (genres from bandcamp_filters, subgenres from bandcamp_related_tags), physical format (vinyl, CD, cassette), sort (best-selling, new arrivals, random), a time window, and a GeoNames place id. Each album carries artist, location, price, release date, track count, duration, cover art and any physical formats. Page with the returned next_cursor.
5 Nov 2026: 40 albums; 12 fields had a value in every checked item and 4 varied between items.
Sample value profiles: release_date: 2010-03-01 to 2027-02-01; track_count: 1 to 27, median 4; title: “Tin Of Drum [ext. edit.]” and 39 other values.
curl 'https://api.crawlora.net/api/v1/bandcamp/discover?format=all&sort=best_selling' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| tags | string | No | Comma-separated tag slugs, up to 5, all of which an album must carry | |
| format | string | No | all | Physical format |
| sort | string | No | best_selling | Sort order |
| time_facet | integer | No | Time-window id from bandcamp_filters | |
| geoname_id | integer | No | GeoNames place id | |
| cursor | string | No | next_cursor from the previous page | |
| size | integer | No | Albums per page |
{
"code": 200,
"data": {
"total": 18140,
"size": 4,
"next_cursor": "AoN4n/uuyaEDCD9MzM0rYTExMjg3MDQwNzc=",
"albums": [
{
"id": 4095136132,
"title": "Dissolve",
"url": "https://freewhenever.bandcamp.com/album/dissolve",
"artist": "Free Whenever",
"artist_id": 514420660,
"artist_url": "https://freewhenever.bandcamp.com",
"location": "Brooklyn, New York",
"price": {
"amount": 9,
"currency": "USD"
},
"free_download": false,
"set_price": false,
"preorder": true,
"release_date": "2026-12-11 00:00:00 UTC",
"track_count": 9,
"duration_seconds": 2175.608612060547,
"image_url": "https://f4.bcbits.com/img/a2286414320_10.jpg",
"formats": [
{
"format": "vinyl",
"title": "12\" Vinyl First Pressing",
"price": {
"amount": 30,
"currency": "USD"
}
}
]
}
]
},
"msg": "OK"
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.