juno.co.uk APIjuno.co.uk ↗
Access Juno Records catalog via API. Search vinyl and CDs, get product details with tracklists, browse by genre, and retrieve bestseller charts.
curl -X GET 'https://api.parse.bot/scraper/64c810a2-fe0a-4683-8207-1b49beb30fd2/search_products?page=1&query=techno' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for products on Juno Records by keyword. Returns a paginated list of up to 50 products per page with artist, title, label, price, and format information.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| queryrequired | string | Search keyword (e.g. 'techno', 'aphex twin'). |
{
"type": "object",
"fields": {
"count": "integer, number of items returned on this page",
"items": "array of product objects with product_id, artist, title, label, catalog_number, format, genre, price, status, url, and image_url",
"summary": "string, pagination summary text from the site"
},
"sample": {
"data": {
"count": 50,
"items": [
{
"url": "https://www.juno.co.uk/products/suburban-knight-a-knight-in-shining-armour-vinyl/1145448-01/",
"genre": "Techno",
"label": "Detroit Techno US",
"price": "$19.55",
"title": "A Knight In Shining Armour",
"artist": "SUBURBAN KNIGHT",
"format": "12\"",
"status": "FORTHCOMING",
"image_url": "https://imagescdn.juno.co.uk/300/CS1145448-01A-MED.jpg",
"product_id": "1145448-1",
"catalog_number": "DTRV 011."
}
],
"summary": ""
},
"status": "success"
}
}About the juno.co.uk API
The Juno Records API provides 6 endpoints for querying one of the web's largest independent record stores, covering search, genre browsing, new releases, bestseller charts, product detail, and autocomplete. The search_products endpoint returns up to 50 products per page with fields including artist, title, label, catalog number, format, genre, price, status, and image URL. Product detail via get_product_detail adds per-track data including side, number, title, and duration.
Search and Browse the Catalog
The search_products endpoint accepts a query string — artist names, release titles, genre terms — and returns paginated results with a count, a summary string reflecting pagination state, and an items array. Each item carries product_id, artist, title, label, catalog_number, format, genre, price, status, url, and image_url. Pages are controlled with the page parameter; each page returns up to 50 items.
The browse_genre endpoint works similarly but filters by genre_slug (e.g. techno, house, drum-n-bass) and accepts a timeframe parameter — today, this-week, eight-weeks, back-cat, or preorders — making it practical for tracking what's newly listed or available to pre-order within a specific scene. The get_new_releases endpoint applies the same timeframe logic across all genres, while get_bestsellers narrows to today or this-week for chart data.
Product Detail and Tracklists
Passing a Juno product URL path or full URL to get_product_detail returns structured data beyond the list view. The details object contains artist, title, id, price, currency, and category. The metadata object holds key-value pairs such as format and catalog number. The tracklist array breaks down individual tracks with side, number, title, and duration. A description field carries the editorial review or product description text.
Autocomplete
The search_autocomplete endpoint accepts a partial query string and returns a data array of suggestion objects. Each suggestion includes a label (display text), a category, and a url pointing to the matching result on Juno. This is useful for building type-ahead search interfaces or resolving canonical URLs before calling get_product_detail.
- Monitor new techno or house vinyl listings each week using
browse_genrewith thethis-weektimeframe filter. - Build a record-store price tracker by polling
search_productsfor specific artist or label names and recording thepricefield over time. - Populate a music discovery app with weekly bestseller charts using
get_bestsellersfiltered tothis-week. - Enrich a music database with full tracklists by calling
get_product_detailfor catalog numbers retrieved from search results. - Implement type-ahead search for a vinyl collection tool using the
search_autocompleteendpoint with partial artist or title strings. - Aggregate new pre-order listings across multiple genres by calling
browse_genrewithtimeframe=preordersfor each genre slug. - Cross-reference catalog numbers from a personal collection against Juno's
labelandformatfields to identify pressings.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Juno Records have an official developer API?+
What does `get_product_detail` return that the list endpoints don't?+
search_products, browse_genre, etc.) return summary fields: artist, title, label, catalog number, format, genre, price, status, and image URL. get_product_detail adds a structured tracklist array with per-track side, number, title, and duration, a metadata key-value object, and a description field containing the editorial review text.What timeframe options are available for genre browsing and charts?+
browse_genre accepts today, this-week, eight-weeks, back-cat, and preorders. get_new_releases supports today, this-week, and eight-weeks. get_bestsellers supports today and this-week. There is no custom date-range parameter; filtering is limited to these preset values.Does the API expose user reviews, ratings, or seller inventory counts?+
Can I retrieve a full list of available genre slugs from the API?+
browse_genre endpoint requires a genre_slug input matching Juno's URL structure — examples include techno, house, electronic, and drum-n-bass. A slug that doesn't match a valid Juno genre path will return no results. You can fork the API on Parse and revise it to add a genre-listing endpoint.