Discover/Juno API
live

Juno APIjuno.co.uk

Access Juno Records catalog via API: search vinyl and music products, browse genres, get new releases, bestseller charts, and full product details.

This API takes change requests — .
Endpoint health
verified 2d ago
get_bestsellers
get_product_detail
search_autocomplete
get_all_vinyl_products
browse_genre
7/7 passing latest checkself-healing
Endpoints
7
Updated
29d ago

What is the Juno API?

The Juno Records API exposes 7 endpoints covering catalog search, product detail, genre browsing, new releases, bestseller charts, and autocomplete suggestions. The search_products endpoint returns up to 50 products per page with fields including artist, title, label, catalog number, format, genre, price, and image URL. Product details via get_product_detail additionally include a tracklist, text description, and gtag-sourced pricing and category data.

This call costs1 credit / call— charged only on success
Try it
Page number for pagination.
Search keyword (e.g. 'techno', 'aphex twin').
api.parse.bot/scraper/64c810a2-fe0a-4683-8207-1b49beb30fd2/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
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'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace juno-co-uk-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Juno Records SDK — discover, browse, and inspect music products."""
from parse_apis.juno_records_api import JunoRecords, Timeframe, GenreSlug, ProductNotFound

client = JunoRecords()

# Search for products by keyword, capped at 5 results
for product in client.products.search(query="aphex twin", limit=5):
    print(product.artist, product.title, product.price)

# Browse a genre using the enum
for product in client.products.browse_genre(genre_slug=GenreSlug.TECHNO, timeframe=Timeframe.THIS_WEEK, limit=3):
    print(product.title, product.label, product.format)

# Drill into one product's full detail via the sub-resource navigation
top_hit = client.products.bestsellers(timeframe=Timeframe.THIS_WEEK, limit=1).first()
if top_hit:
    detail = top_hit.details()
    print(detail.details.artist, detail.details.title, detail.details.price, detail.details.currency)
    print(detail.metadata.genre, detail.metadata.format)
    for track in detail.tracklist[:3]:
        print(track.side, track.number, track.title, track.duration)

# Autocomplete suggestions
for suggestion in client.suggestions.search(query="daft", limit=5):
    print(suggestion.label, suggestion.category)

# Typed error handling
try:
    bad = client.products.search(query="zzzznonexistent999", limit=1).first()
    if bad:
        bad.details()
except ProductNotFound as exc:
    print(f"Product not found: {exc.url}")

print("exercised: products.search / products.browse_genre / products.bestsellers / product.details / suggestions.search")
All endpoints · 7 totalmissing one? ·

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.

Input
ParamTypeDescription
pageintegerPage number for pagination.
queryrequiredstringSearch keyword (e.g. 'techno', 'aphex twin').
Response
{
  "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/talla-2xlc-yakooza-techno-club-retro-vol-2-vinyl/1139098-01/",
          "genre": "Techno",
          "label": "Techno Club Germany",
          "price": "$30.12",
          "title": "Techno Club Retro Vol 2",
          "artist": "TALLA 2XLC",
          "format": "coloured vinyl 12\"",
          "status": "FORTHCOMING",
          "image_url": "https://imagescdn.juno.co.uk/300/CS1139098-01A-MED.jpg",
          "product_id": "1139098-1",
          "catalog_number": "TCR 210011."
        }
      ],
      "summary": ""
    },
    "status": "success"
  }
}

About the Juno API

Catalog Search and Product Data

The search_products endpoint accepts a required query string — artist name, title, or label — and an optional page integer for pagination. Each result object includes product_id, artist, title, label, catalog_number, format, genre, price, status, url, and image_url. For deeper product information, get_product_detail accepts a Juno URL path or full URL (obtainable from search results) and returns a details object with artist, title, id, price, currency, and category, a metadata map covering fields like format, cat, and genre, a tracklist array with side, number, title, and duration per track, and a description string.

Genre Browsing and Timeframe Filtering

The browse_genre endpoint takes a genre_slug matching Juno's URL structure — techno, house, drum-n-bass, disco-nu-disco, and others — with an optional timeframe parameter accepting today, this-week, eight-weeks, back-cat, or preorders. get_new_releases applies the same timeframe filter across all genres and can return a mix of music, DJ equipment, and accessories depending on stock. get_all_vinyl_products browses the full vinyl catalogue without a keyword and adds a barcode field and release_date to each item; the barcode is returned as an empty string when not available.

Charts and Autocomplete

get_bestsellers returns top-selling products filtered by today or this-week, paginated with a summary string describing the result window (e.g. "Items 1 to 50 of 200"). search_autocomplete accepts a query prefix and returns suggestion objects with label, category (e.g. Artists, Products, Labels), and url, which is useful for building type-ahead interfaces or resolving entity URLs before calling get_product_detail.

Reliability & maintenanceVerified

The Juno API is a managed, monitored endpoint for juno.co.uk — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when juno.co.uk changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official juno.co.uk API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
2d ago
Latest check
7/7 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Aggregate daily Juno bestseller charts to track trending vinyl releases by genre
  • Build a vinyl catalogue browser filtered by genre slug and timeframe using browse_genre
  • Power a music discovery app with new-release feeds from get_new_releases
  • Implement type-ahead search in a record store interface using search_autocomplete suggestions
  • Populate product pages with tracklists, descriptions, and catalog numbers via get_product_detail
  • Monitor price changes on specific releases by polling get_product_detail for a set of product URLs
  • Compile label discographies by running search_products queries filtered by label name
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Juno Records have an official developer API?+
Juno Records does not publish a public developer API or documented REST interface for third-party use. This Parse API provides structured access to catalog, chart, and product data from juno.co.uk.
What does get_product_detail return beyond basic product fields?+
Beyond artist, title, and price, it returns a tracklist array (each entry has side, number, title, and duration), a metadata object with key-value pairs like format, cat, and genre, and a description string containing the product review or editorial text. Pricing and category data come from gtag analytics fields embedded in the product page.
Are genre-specific bestseller or chart endpoints available?+
The current get_bestsellers endpoint covers bestsellers across all genres without a genre filter. The get_new_releases and browse_genre endpoints do support genre_slug filtering. You can fork this API on Parse and revise it to add a genre-filtered bestsellers endpoint.
Does the API expose customer reviews or user ratings for products?+
No user review scores or review counts are returned by any endpoint. The description field in get_product_detail contains editorial or label-supplied text, not crowd-sourced ratings. You can fork this API on Parse and revise it to add a review or rating endpoint if Juno exposes that data.
How does pagination work across listing endpoints?+
All listing endpoints (search_products, browse_genre, get_new_releases, get_bestsellers, get_all_vinyl_products) accept an optional page integer and return a count of items on the current page alongside a summary string describing the full result window. Each page returns up to 50 items.
Page content last updated . Spec covers 7 endpoints from juno.co.uk.
Related APIs in MusicSee all →
jbhifi.com.au API
Search and browse JB Hi-Fi's product catalog across categories and brands, check real-time stock availability at different store locations, and discover new arrivals and clearance items. Get detailed product information including specs and find the nearest store to complete your purchase.
amoeba.com API
Search and browse Amoeba Music's catalog of vinyl records and CDs, including used listings, to find product details and discover new releases. Check store information to plan your visits to Amoeba's physical locations.
merchbar.com API
Search and discover music merchandise across vinyls, CDs, apparel, and accessories, then track product details, new arrivals, and sales by artist. Find exactly what you're looking for with real-time product information and pricing updates.
traxsource.com API
Access Traxsource's music catalog to browse top tracks and singles, explore genres, search for music, and discover newly added releases and artist discographies. Get detailed information about specific tracks, releases, and artists to find the music you're looking for.
jumia.com.gh API
Browse and search thousands of products from Jumia Ghana's catalog, view detailed product information, and explore items across different categories. Get real-time search suggestions and instantly access pricing, descriptions, and availability for any item on Ghana's leading e-commerce platform.
amazon.co.uk API
Access data from amazon.co.uk.
sweetwater.com API
Search Sweetwater's catalog of musical instruments, audio equipment, and accessories to find products with detailed pricing, availability, ratings, and images. Get autocomplete suggestions as you type to quickly discover exactly what you're looking for.
qobuz.com API
Search and browse millions of songs, albums, and artists on Qobuz to discover new music, explore charts, and access detailed information about tracks and performers. Explore curated new releases and trending charts to stay updated with the latest music across all genres.