Discover/JB Hi-Fi API
live

JB Hi-Fi APIjbhifi.com.au

Search JB Hi-Fi's product catalog, check in-store stock availability, retrieve specs, and find store locations via a structured REST API.

Endpoint health
verified 6d ago
get_product_specs
get_brands
get_new_products
get_product_stock_availability
get_clearance_products
10/10 passing latest checkself-healing
Endpoints
10
Updated
14d ago

What is the JB Hi-Fi API?

The JB Hi-Fi API covers 10 endpoints that expose product search, category browsing, technical specifications, real-time in-store stock availability, and store location lookup across JB Hi-Fi Australia. Use search_products to query the full catalog with paginated hits including SKU, title, price, and availability, or use get_product_stock_availability to check click-and-collect and cash-and-carry options at stores near a given postcode.

Try it
Page number (0-indexed).
Search keyword.
Number of hits per page.
api.parse.bot/scraper/709a9754-11f3-4295-9283-db8416dff81c/<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/709a9754-11f3-4295-9283-db8416dff81c/search_products?page=0&query=laptop&hits_per_page=5' \
  -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 jbhifi-com-au-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.

"""JB Hi-Fi Australia: search products, check specs/stock, browse catalog, find stores."""
from parse_apis.jb_hi_fi_australia_api import JBHiFi, Radius, ProductNotFound

client = JBHiFi()

# Search for gaming laptops — limit= caps total items fetched across pages.
for product in client.products.search(query="gaming laptop", limit=3):
    print(product.title, product.price, product.vendor)

# Drill into one product's specifications via the instance method.
product = client.products.search(query="macbook", limit=1).first()
if product:
    specs = product.specs()
    print(specs.sku, specs.key_features, specs.model_number)

    # Check stock availability near Sydney CBD.
    stock = product.stock(suburb="Sydney", postcode="2000")
    print(stock.click_and_collect)

# Browse the catalog: list categories and brands with counts.
catalog = client.catalogs.categories()
print(catalog.categories)

# Browse clearance deals — paginated, capped at 5 items total.
for deal in client.products.clearance(limit=5):
    print(deal.title, deal.price, deal.sku)

# Find stores within 50km radius using the Radius enum.
for store in client.stores.search(query="Melbourne", radius=Radius._50000, limit=3):
    print(store.store_name, store.phone, store.store_address.suburb)

# Typed error handling: catch ProductNotFound on an invalid SKU.
try:
    detail = client.products.get(sku="0000000")
    print(detail.title)
except ProductNotFound as exc:
    print(f"Product not found: {exc.sku}")

print("exercised: products.search / specs / stock / catalogs.categories / clearance / stores.search / products.get")
All endpoints · 10 totalmissing one? ·

Full-text search over JB Hi-Fi's product catalog. Returns paginated results with pricing, availability, facets, and product metadata. Paginates via 0-indexed page number. Each page returns up to hits_per_page items.

Input
ParamTypeDescription
pageintegerPage number (0-indexed).
queryrequiredstringSearch keyword.
hits_per_pageintegerNumber of hits per page.
Response
{
  "type": "object",
  "fields": {
    "hits": "array of product objects with sku, title, price, handle, vendor, availability, facets, and category hierarchy",
    "page": "integer, current page number",
    "nbHits": "integer, total number of matching products",
    "nbPages": "integer, total number of pages"
  },
  "sample": {
    "data": {
      "hits": [
        {
          "sku": "840480",
          "price": 549,
          "title": "HP Laptop 14s-dq6002TU 14\" HD laptop (Intel N-Series)[128GB]",
          "handle": "hp-laptop-14s-dq6002tu-14-hd-laptop-intel-n-series128gb",
          "vendor": "HP",
          "category": "Windows laptops",
          "availability": {
            "overallStatus": "InStock"
          }
        }
      ],
      "page": 0,
      "nbHits": 978,
      "nbPages": 28
    },
    "status": "success"
  }
}

About the JB Hi-Fi API

Product Catalog and Search

search_products accepts a query string plus optional page and hits_per_page parameters and returns an array of product hits, each containing sku, title, price, handle, availability, and facets. The response also includes nbHits and nbPages for pagination. get_category_products works the same way but filters by a category path — you can pass a shallow name like 'Laptops' or a full hierarchy like 'Computers > Laptops > Windows laptops'. get_clearance_products and get_new_products are dedicated paginated feeds: clearance results include compare_at_price alongside the current price, while new-arrival results include a release_date field.

Product Detail and Specifications

get_product_details accepts a slug, sku, or full url (at least one required) and returns the complete product record: sku, price in AUD, title, vendor, handle, facets (structured technical attributes), and an availability object. For spec-heavy queries, get_product_specs returns a facets object mapping specification categories to value arrays, a key_features array of plain-text feature strings, and a model_number field. Both endpoints require at least one identifier.

Stock Availability and Store Locations

get_product_stock_availability takes a sku plus an optional suburb or postcode and returns three fulfilment objects: delivery, cashAndCarry, and clickAndCollect. The clickAndCollect object includes per-store stock levels and trading hours. get_store_locations supports both coordinate-based lookup (lat, lng, optional radius in metres) and a text query for suburb or store name, returning storeName, storeAddress, phone, tradingHours, and coordinates for each matched store.

Taxonomy Endpoints

get_categories and get_brands take no parameters and return flat mappings of category or brand names to integer product counts. These are useful for building filter UIs or understanding catalog structure before issuing a targeted get_category_products call.

Reliability & maintenanceVerified

The JB Hi-Fi API is a managed, monitored endpoint for jbhifi.com.au — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when jbhifi.com.au 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 jbhifi.com.au 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
6d ago
Latest check
10/10 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
  • Track price changes on specific SKUs across the JB Hi-Fi catalog using get_product_details
  • Build a store-finder widget using get_store_locations with latitude/longitude input
  • Check same-day click-and-collect availability at the nearest stores before completing an order
  • Aggregate clearance deals using get_clearance_products with price and compare_at_price fields
  • Enumerate all available brands and their product counts via get_brands for a filter sidebar
  • Retrieve laptop specs including key_features and facets to power a product comparison tool
  • Monitor new product arrivals using get_new_products with the release_date field
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does JB Hi-Fi have an official public developer API?+
No. JB Hi-Fi does not publish a public developer API or documented data feed for external developers.
What does `get_product_stock_availability` actually return, and do I need both suburb and postcode?+
The endpoint returns three objects: delivery (delivery fulfilment details), cashAndCarry (in-store purchase options at nearby locations), and clickAndCollect (store-by-store stock levels and trading hours). Only sku is required. suburb and postcode are both optional but at least one improves proximity-based store ranking.
Does the API return customer reviews or ratings for products?+
Not currently. The API covers product details, specs, pricing, availability, and store locations. You can fork the API on Parse and revise it to add a reviews endpoint if that data is available on the product page.
How does pagination work across the product endpoints?+
search_products, get_category_products, get_clearance_products, and get_new_products all use 0-indexed page parameters. Each response includes nbHits (total matching records) and nbPages (total pages), so you can determine iteration bounds before fetching subsequent pages. hits_per_page is accepted by the search and category endpoints to control page size.
Does the API cover JB Hi-Fi New Zealand stores or only Australian locations?+
The API targets jbhifi.com.au and returns Australian store data, AUD pricing, and Australian postcodes. New Zealand coverage is not currently included. You can fork the API on Parse and revise it to point at the New Zealand storefront if needed.
Page content last updated . Spec covers 10 endpoints from jbhifi.com.au.
Related APIs in EcommerceSee all →
thegoodguys.com.au API
Search and browse The Good Guys' complete product catalog with detailed tech specs and customer reviews, then find nearby stores and check delivery options for your purchases. Discover deals, filter by category or brand, and access everything you need to shop electronics and appliances with confidence.
bestbuy.com API
Search Best Buy's entire product catalog and get instant autocomplete suggestions while browsing, then pull up detailed pricing, availability, and stock information for any item. Easily sort through results, look up multiple products at once, and discover what's trending in real-time.
bunnings.com.au API
Search Bunnings Warehouse Australia's product catalogue, retrieve detailed product information, and look up store locations by state or territory.
bhphotovideo.com API
Search and browse B&H Photo's massive inventory of cameras, electronics, and photography gear with instant access to pricing, specifications, images, and customer reviews. Filter products by category, compare detailed specs, and discover used items all in one integrated platform.
juno.co.uk API
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.
abercrombie.com API
Search and browse Abercrombie & Fitch products across categories, new arrivals, and clearance items while retrieving detailed product information like pricing and availability. Access curated collections and find exactly what you're looking for with powerful search capabilities.
rei.com API
Search and browse REI's full catalog of outdoor gear and clothing, compare detailed product specifications, check real-time store availability, and read customer reviews to find the perfect equipment for your adventures. Explore products by category or use targeted searches to discover gear that matches your needs, all with instant access to pricing and local stock information.
homedepot.com API
Search and browse Home Depot's product catalog to compare pricing, check real-time availability, and review detailed product specifications. Find products across all categories, look up store locations and hours, and check fulfillment options including in-store pickup and delivery.