Browsable Browsable Docs

Bandcamp API

Scrape public Bandcamp search results.

POST /v1/bandcamp/search

Request Parameters

Name In Type Required Description
query body string Yes Search query.
cursor body string No Cursor returned as next_cursor from the previous response.
limit body integer No Maximum number of results to return.
page body integer No Page number for sources that support page-based pagination.

Response Structure

Async kickoff response

Polled run result response

Sync response

Declared output schema

Code Examples

Async + polling

RUN=$(curl -s -X POST "https://api.browsable.app/v1/bandcamp/search" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"ambient techno","cursor":"cursor-page-1","limit":25,"page":1}')
RUN_ID=$(echo "$RUN" | jq -r '.run_id')
while true; do
RESULT=$(curl -s -H "Authorization: Bearer YOUR_API_KEY" "https://api.browsable.app/v1/runs/$RUN_ID")
STATUS=$(echo "$RESULT" | jq -r '.run_status')
if [ "$STATUS" = "succeeded" ] || [ "$STATUS" = "failed" ]; then
echo "$RESULT"
break
fi
sleep 2
done

Sync

curl -X POST "https://api.browsable.app/v1/bandcamp/search" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"ambient techno","cursor":"cursor-page-1","limit":25,"page":1,"_run":{"async":false}}'