jbhifi.com.au 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.
curl -X GET 'https://api.parse.bot/scraper/709a9754-11f3-4295-9283-db8416dff81c/search_products?page=0&query=laptop&hits_per_page=3' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for products by keyword query. Returns paginated results from the JB Hi-Fi product catalog with pricing, availability, and product metadata.
| 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, availability, and facets",
"page": "integer, current page number",
"nbHits": "integer, total number of matching products",
"nbPages": "integer, total number of pages"
},
"sample": {
"data": {
"hits": [
{
"sku": "840513",
"price": 799,
"title": "HP Laptop 15-fd1265TU 15.6\" Full HD Laptop (Intel Core 5)[256GB]",
"handle": "hp-laptop-15-fd1265tu-15-6-full-hd-laptop-intel-core-5256gb",
"vendor": "HP"
}
],
"page": 0,
"nbHits": 150,
"nbPages": 5
},
"status": "success"
}
}About the jbhifi.com.au 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.
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.
- 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 | 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 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.