# 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. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-beatport-com-api-111719a3/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## 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/parse-beatport-com-api-111719a3/get_artist \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-beatport-com-api-111719a3/get_artist_tracks \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-beatport-com-api-111719a3/get_label \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-beatport-com-api-111719a3/get_release \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-beatport-com-api-111719a3/get_top10 \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-beatport-com-api-111719a3/get_track \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-beatport-com-api-111719a3/list_genres \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-beatport-com-api-111719a3/search_artists \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-beatport-com-api-111719a3/search_releases \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-beatport-com-api-111719a3/search_tracks \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","query":"<string>"}'
```
