# Juno — 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 browse Juno Records' catalog to find music across genres, discover new releases and bestsellers, and get detailed product information with autocomplete suggestions. Perfect for exploring vinyl, CDs, and digital music with real-time access to charts and recommendations.

**Category:** Music | **Website:** [juno.co.uk/](https://juno.co.uk/) | **Docs:** [parse.bot/marketplace/e740c9e9-31f8-47ef-8558-1e82a3aba926/juno-co-uk-api](https://parse.bot/marketplace/e740c9e9-31f8-47ef-8558-1e82a3aba926/juno-co-uk-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-juno-co-uk-api-e740c9e9/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### browse_genre

Browse products filtered by genre and timeframe. Returns a paginated list of products for the specified genre slug. Genre slugs correspond to Juno's URL structure (e.g. 'techno', 'house', 'electronic', 'drum-n-bass', 'disco-nu-disco'). Timeframe narrows by recency.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `genre_slug` | string | Yes | Genre slug as used in the Juno URL path (e.g. 'techno', 'house', 'electronic', 'drum-n-bass', 'disco-nu-disco'). |
| `page` | integer | No | Page number for pagination. |
| `timeframe` | string | No | Timeframe filter: 'today', 'this-week', 'eight-weeks', 'back-cat', 'preorders'. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-juno-co-uk-api-e740c9e9/browse_genre \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"genre_slug":"<string>","page":"<integer>","timeframe":"<string>"}'
```

### get_all_vinyl_products

Browse the complete Juno Records vinyl catalogue without requiring a keyword search. Returns a paginated list of physical vinyl releases filtered by timeframe. Each page returns up to 50 products. Barcode/EAN is included as an empty string when not available from the site (Juno does not expose barcodes on listing pages). Results are auto-iterated via the page parameter.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `timeframe` | string | No | Timeframe filter for vinyl releases. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-juno-co-uk-api-e740c9e9/get_all_vinyl_products \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","timeframe":"<string>"}'
```

### get_bestsellers

Get bestseller charts across all genres. Returns a paginated list of top-selling products for the specified timeframe.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `timeframe` | string | No | Timeframe filter: 'today', 'this-week'. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-juno-co-uk-api-e740c9e9/get_bestsellers \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","timeframe":"<string>"}'
```

### get_new_releases

Get new releases across all genres filtered by timeframe. Returns a paginated list of recently added products. Includes music, DJ equipment, and accessories depending on stock.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `timeframe` | string | No | Timeframe filter: 'today', 'this-week', 'eight-weeks'. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-juno-co-uk-api-e740c9e9/get_new_releases \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","timeframe":"<string>"}'
```

### get_product_detail

Fetches full details for a specific product by its Juno URL path or full URL. Returns product metadata (format, catalog number, genre), pricing and category from gtag analytics data, a tracklist when available, and a text description or review. The URL can be obtained from search_products or browse_genre results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Product URL path (e.g. '/products/talla-2xlc-yakooza-techno-club-retro-vol-2-vinyl/1139098-01/') or full URL. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-juno-co-uk-api-e740c9e9/get_product_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"<string>"}'
```

### search_autocomplete

Returns autocomplete suggestions for a search query prefix. Each suggestion includes a label (display text), category (e.g. 'Artists', 'Products', 'Labels'), and a url fragment for further lookup. Useful for building type-ahead search interfaces.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Search query prefix to autocomplete. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-juno-co-uk-api-e740c9e9/search_autocomplete \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"<string>"}'
```

### search_products

Full-text search over Juno Records' catalog. Returns a paginated list of up to 50 products per page matching the query keyword against artist, title, and label fields. Pagination advances via the page parameter; results include artist, title, label, price, format, and product URL.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `query` | string | Yes | Search keyword (e.g. 'techno', 'aphex twin'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-juno-co-uk-api-e740c9e9/search_products \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","query":"<string>"}'
```
