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.
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.
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'
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.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number (0-indexed). |
| queryrequired | string | Search keyword. |
| hits_per_page | integer | Number of hits per page. |
{
"type": "object",
"fields": {
"hits": "array of product objects with sku, title, price, handle, vendor, url, 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.
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.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Track price changes on specific SKUs across the JB Hi-Fi catalog using
get_product_details - Build a store-finder widget using
get_store_locationswith latitude/longitude input - Check same-day click-and-collect availability at the nearest stores before completing an order
- Aggregate clearance deals using
get_clearance_productswithpriceandcompare_at_pricefields - Enumerate all available brands and their product counts via
get_brandsfor a filter sidebar - Retrieve laptop specs including
key_featuresandfacetsto power a product comparison tool - Monitor new product arrivals using
get_new_productswith therelease_datefield
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 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.
Does JB Hi-Fi have an official public developer API?+
What does `get_product_stock_availability` actually return, and do I need both suburb and postcode?+
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?+
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.