# Bandcamp — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Access Bandcamp's music catalog, artist profiles, album details, fan profiles, and live sales feed. Supports discovery with tag and location filters, full-text search across artists, albums, and tracks, and detailed metadata retrieval.

**Category:** Music | **Website:** [bandcamp.com/](https://bandcamp.com/) | **Docs:** [parse.bot/marketplace/16af181f-29e3-49b3-ae28-04578da80ec1/bandcamp-com-api](https://parse.bot/marketplace/16af181f-29e3-49b3-ae28-04578da80ec1/bandcamp-com-api)

Pay-per-use API proxy for Locus Pro. Each call burns credits from your workspace balance.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/credits/bandcamp/`
**Auth:** `Authorization: Bearer <LOCUS_CREDITS_SECRET_KEY>` (an `lcr_` secret key or a scoped `lcac_` agent credential)
**Required header:** `Idempotency-Key: <fresh UUID per call>`. A retry with the same key replays the stored result without a new charge.
**Response:** the provider response after any endpoint-specific normalization. `X-Locus-Credits-Charged` carries the charge and `X-Locus-Credits-Balance` the remaining balance. Insufficient credits return `402` before the provider is called.
**Pricing:** estimated costs below are USD. Locus debits the credit equivalent at your workspace rate.

Full call contract: https://docs.paywithlocus.com/api-reference/introduction

> Using a Pay With Locus wallet key (`claw_` prefix)? Wallet routes are documented separately: https://docs.paywithlocus.com/wrapped-apis/for-agents

## Endpoints

### Discover

Browse and discover music on Bandcamp with advanced filters. Returns paginated album results from the discover feed. Supports filtering by genre tags and location. Results include streaming URLs for featured tracks.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `cursor` | string | No | Pagination cursor returned from a previous discover call. Omit or use '*' for first page. |
| `geoname_id` | string | No | Location filter by geoname ID. |
| `slice` | string | No | Sort type for results. |
| `tags` | string | No | Comma-separated tag names to filter by (e.g. 'electronic,ambient'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/bandcamp/discover \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"cursor":"<string>","geoname_id":"<string>","slice":"<string>","tags":"<string>"}'
```

### Get album details

Get detailed information about an album or track on Bandcamp, including full track listing with durations, pricing, packages (vinyl/CD), LD+JSON structured data with schema.org markup, and fan comments. Requires the full Bandcamp URL of the release.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Album's Bandcamp URL (e.g. https://radiohead.bandcamp.com/album/in-rainbows). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/bandcamp/get-album-details \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"url":"<string>"}'
```

### Get artist profile

Get artist profile including band metadata, full discography links, location, and social links from the artist's Bandcamp page. Navigates to the /music subpage to enumerate all releases.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Artist's Bandcamp URL (e.g. https://radiohead.bandcamp.com). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/bandcamp/get-artist-profile \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"url":"<string>"}'
```

### Get fan profile

Get fan profile information including username, bio, location, follower counts, and collection items. Returns stale_input with kind input_not_found for non-existent profiles. Collection items may be empty if the collection is private or has no items.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Fan's Bandcamp profile URL (e.g. https://bandcamp.com/thomascoutts). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/bandcamp/get-fan-profile \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"url":"<string>"}'
```

### Get sales feed

Scrape the live 'Selling right now' sales feed from Bandcamp. Returns recent purchase events with artist, item, price, and buyer location. Each item includes a link to the release page. Detail fetching per item adds latency proportional to limit.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Max number of sale items to return. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/bandcamp/get-sales-feed \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>"}'
```

### Search

Search Bandcamp for artists, albums, tracks, or fans using the autocomplete API. Returns structured results with name, URL, type, and metadata. Fast but returns fewer results than a full search page scrape.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `item_type` | string | No | Filter results by type. |
| `query` | string | Yes | Search keyword. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/bandcamp/search \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"item_type":"<string>","query":"<string>"}'
```

## Next steps

- [All wrapped API providers](https://paywithlocus.com/wapi/index.md): pick another provider.
- [Find and call tools](https://paywithlocus.com/agent/tools.md): price ceilings, async results, and errors.
- [Credits and billing](https://paywithlocus.com/agent/billing.md): what a call costs and how to add credits.
- [Agent docs index](https://paywithlocus.com/agent/index.md): every Locus agent page.