# Beatport — 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.

> Search and discover electronic music tracks, releases, and artists on Beatport while accessing detailed metadata, audio previews, genre listings, and top 10 charts. Get comprehensive information about specific tracks, releases, artists, and labels to power music discovery and curation applications.

**Category:** Music | **Website:** [beatport.com/](https://beatport.com/) | **Docs:** [parse.bot/marketplace/111719a3-ccd3-4ea5-a57a-ab10a5b16af7/beatport-com-api](https://parse.bot/marketplace/111719a3-ccd3-4ea5-a57a-ab10a5b16af7/beatport-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/beatport/`
**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

### Get artist

Fetch an artist's full profile by ID. Returns biography, image, and website. The slug parameter is optional and used for URL construction only.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `artist_id` | string | Yes | Numeric artist ID. |
| `slug` | string | No | Artist slug for URL construction. Any value works. |

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

### Get artist tracks

Get all tracks for an artist, automatically paginating through their full catalog. Returns structured track metadata including track name, mix name, all artists, remixers, record label, genre, BPM, musical key, release date, release name, and direct track URL. May be slow for artists with large catalogs (hundreds of tracks).

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `artist_id` | string | Yes | Numeric artist ID. Obtainable from search_artists results. |
| `slug` | string | No | Artist slug for URL construction. Any value works. |

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

### Get label

Fetch a label's profile by ID. Returns name, image, biography, and availability information. The slug parameter is optional and used for URL construction only.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `label_id` | string | Yes | Numeric label ID. |
| `slug` | string | No | Label slug for URL construction. Any value works. |

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

### Get release

Fetch full details for a release (album, EP, or single) by ID. Returns track listing (as API URLs), label, artists, pricing, and catalog information. The slug parameter is optional and used for URL construction only.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `release_id` | string | Yes | Numeric release ID. |
| `slug` | string | No | Release slug for URL construction. Any value works. |

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

### Get top10

Get the current Top 10 tracks chart for a specific genre. Returns full track metadata including artists, BPM, musical key, sample URL, release info, and pricing. Use list_genres to discover available genre IDs and slugs.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `genre_id` | string | Yes | Numeric genre ID. Use list_genres to find available IDs. |
| `slug` | string | No | Genre slug for URL construction. Use list_genres to find slugs. |

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

### Get track

Fetch full metadata for a single track by ID. Returns BPM, musical key (with Camelot notation), genre, all artists and remixers, release info, label, sample preview URL, and pricing. The slug parameter is optional and used for URL construction only.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | No | URL slug for the track. Used for URL construction only; any value works. |
| `track_id` | string | Yes | Numeric track ID. |

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

### List genres

List all available music genres on Beatport. Returns a complete list of genre IDs, names, and URL slugs. Genre IDs and slugs are used as inputs to get_top10.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/beatport/list-genres \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### Search artists

Full-text search over Beatport's artist catalog. Returns paginated results with artist metadata including associated genres and download counts. Each result is a summary; use get_artist for full profile with biography.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `query` | string | Yes | Search keyword to match against artist names. |

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

### Search releases

Full-text search over Beatport's release catalog (albums, EPs, singles). Returns paginated results with release metadata including track count, artists, label, and genres. Each result is a summary; use get_release for full details.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `query` | string | Yes | Search keyword to match against releases. |

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

### Search tracks

Full-text search over Beatport's track catalog. Matches against track name, artist, and label. Returns paginated results with track metadata including BPM, genre, artists, label, and pricing. Each result is a summary; use get_track for full details including sample URL and musical key.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `query` | string | Yes | Search keyword to match against tracks. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/beatport/search-tracks \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","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.