Kogan.com API & Scraper
Kogan.com is one of Australia's largest online retailers and runs Kogan Marketplace, where other businesses sell through the same storefront; it also has a New Zealand store.
🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.
This API reads both as JSON. `search` takes the words you would type in Kogan's search box and/or a category slug, with brand, sold-by-Kogan-only, price range and four sort orders, and returns 36 products a page with the price a logged-out shopper sees, the struck-through was price, the Kogan FIRST member price, stock and pre-sale flags, the dispatch promise, the seller (Kogan.com or the Marketplace business), brand, rating and review count, plus Kogan's own facets with counts. `product` takes a product slug from a search row or a Kogan URL and returns the full record: every price Kogan prints, the Kogan FIRST block, stock, the date it ships by, condition, the full specification table, variants with their own price and stock, description, what's in the box, warranty text and the star distribution. `reviews` returns the customer reviews of a product, five per page.
What a Kogan.com field actually contains
Fields that read differently from how they look. Every row was measured against live Kogan.com answers on 2026-10-15.
| Field | What it holds |
|---|---|
| price | The price a logged-out shopper sees, GST included, in AUD on the Australian store and NZD on the New Zealand store. It matched the product page's own structured-data price on 12 of 12 products checked. |
| was_price, discount_pct | The struck-through price Kogan prints next to the price (was_price_text says how it is labelled). On Marketplace listings it is the seller's own figure: one office chair sold for 59.85 with a was price of 549.99. discount_pct is computed from the two. |
| kogan_first_price | The price for Kogan FIRST (paid membership) members, as Kogan publishes it to everyone. null when the listing has no member price, which is common on Marketplace items. |
| seller | Who sells the item: is_marketplace false and name Kogan.com, or is_marketplace true with the Marketplace business's name (Aussie Union Group, Electronics Superstore, Next Buy AU). |
| is_sponsored | Page 1 of Kogan's default order carries up to 6 paid placements. Kogan does not apply your price range to them; exclude_sponsored=true drops them and sponsored_rows still counts them. |
| slug, product_id | slug is the part of a product URL after /buy/ and opens the product; product_id is Kogan's numeric id and opens its reviews. Both come from every search row, and both differ between the AU and NZ stores. |
| ships_by, dispatch | ships_by is the date Kogan says the item ships on or before (a pre-order shows its release delivery date). Kogan sometimes keeps a past date on Marketplace listings (2 of 12 measured), returned as published. dispatch is the short promise printed on the tile, when there is one (53 of 403 rows). |
| stars, rating_raw_out_of_10 | Kogan stores review ratings out of 10; stars is that value divided by two. The average and the star distribution are Kogan's own and agree with the reviews. |
Prices are Australian (or New Zealand) consumer prices, GST included, as Kogan.com shows them to a shopper who is not logged in. Shipping cost is not returned: Kogan calculates it per postcode at checkout.
Real request and response JSON
Captured from the indexed primary action, search, on .
{
"method": "POST",
"url": "https://api.reefapi.com/kogan/v1/search",
"headers": {
"x-api-key": "$REEF_KEY",
"content-type": "application/json"
},
"body": {
"query": "office chair"
}
}{
"ok": true,
"meta": {
"api": "kogan",
"endpoint": "search",
"mode": "live",
"latency_ms": 2799.1,
"record_count": 42,
"bytes": 154747,
"cache_hit": false,
"price_basis": "as printed by kogan.com for a logged-out shopper, GST included (AUD on /au, NZD on /nz)",
"upstream_requests": 1,
"charged_credits": 2,
"version": "0.2.0",
"request_id": "2b846f6739ce477d",
"fetched_at": "2026-10-18T12:15:51.797Z"
},
"data": {
"results": [
{
"position": 1,
"product_id": 174070172,
"slug": "sel-levede-office-chair-mesh-gaming-executive-tilt-chairs-computer-study-work-seat-of1040-bk",
"sku": "SEL-OF1040-BK",
"gtin": "9356877144806",
"title": "Levede Adjustable Armrest Office Mesh Gaming Chair Recliner",
"brand": "Levede",
"url": "https://www.kogan.com/au/buy/sel-levede-office-chair-mesh-gaming-executive-tilt-chairs-computer-study-work-seat-of1040-bk/",
"image": "https://assets.kogan.com/images/selloproducts/SEL-OF1040-BK/1-b703a48248-49.png?auto=webp&bg-color=fff&canvas=260%2C260&fit=bounds&height=260&quality=90&width=260",
"price": 83.99,
"was_price": 167.99,
"was_price_text": "Don't Pay",
"discount_pct": 50,
"kogan_first_price": 75.99,
"future_price": null,
"future_kogan_first_price": null,
"future_price_date": null,
"price_note": "The Don't Pay Price was nominated by the seller on 23 Jul 2026 as being the price at for which the same or nearly identical item is being offered for sale or has been offered for sale recently. The price may refer to the seller's own price elsewhere, or the price of another seller. The seller assumes sole responsibility for ensuring the accuracy of this price.",
"member_benefit": "EXCLUSIVE_MEMBER_PRICE",
"currency": "AUD",
"rating": null,
"review_count": null,
"in_stock": true,
"is_sold_out": false,
"is_presale": false,
"is_coming_soon": false,
"is_international_stock": false,
"free_shipping": false,
"dispatch": "Leaves warehouse in 1-2 business days",
"seller": {
"is_marketplace": true,
"name": "Traderight",
"slug": "traderight-terms-and-conditions",
"disclaimer": null
},
"categories": [
"Office Chairs",
"Office Furniture",
"Furniture"
],
"badges": [],
"promo": null,
"is_sponsored": true
},
{
"position": 2,
"product_id": 332189758,
"slug": "gorilla-gaming-prodigy-gaming-chair-black-blue",
"sku": "GGPRODIGBLA",
"gtin": null,
"title": "Gorilla Gaming Prodigy Gaming Chair (Black/Blue)",
"brand": "Gorilla Gaming",
"url": "https://www.kogan.com/au/buy/gorilla-gaming-prodigy-gaming-chair-black-blue/",
"image": "https://assets.kogan.com/files/product/2025/plp_images_june_26/GGPRODIGBLA.png?auto=webp&bg-color=fff&canvas=260%2C260&fit=bounds&height=260&quality=90&width=260",
"price": 129,
"was_price": 249,
"was_price_text": "SRP",
"discount_pct": 48.2,
"kogan_first_price": 99.99,
"future_price": null,
"future_kogan_first_price": null,
"future_price_date": null,
"price_note": "This is the standard (undiscounted) retail price at which this product is permanently offered for sale on the Exclusive Brands website, and recently on other channels. It was last offered at this price, to non-members on Kogan.com on .",
"member_benefit": "EXCLUSIVE_MEMBER_PRICE",
"currency": "AUD",
"rating": 4.68,
"review_count": 155,
"in_stock": true,
"is_sold_out": false,
"is_presale": false,
"is_coming_soon": false,
"is_international_stock": false,
"free_shipping": false,
"dispatch": null,
"seller": {
"is_marketplace": false,
"name": "Kogan.com",
"slug": null,
"disclaimer": null
},
"categories": [
"Office Chairs",
"Chairs",
"Office Furniture"
],
"badges": [],
"promo": "Christmas Ideas",
"is_sponsored": false
},
{
"position": 3,
"product_id": 303000336,
"slug": "princess-trade-ergonomic-reclining-office-chair-lumbar-support-adjustable-headrest-veltra-grey-ft-oc-2656b-whgy",
"sku": "PRN-FT-OC-2656B-WHGY",
"gtin": "9352338020092",
"title": "Ergonomic Reclining Office Chair - Lumbar Support, Adjustable Headrest VELTRA - GREY",
"brand": "La Bella",
"url": "https://www.kogan.com/au/buy/princess-trade-ergonomic-reclining-office-chair-lumbar-support-adjustable-headrest-veltra-grey-ft-oc-2656b-whgy/",
"image": "https://assets.kogan.com/images/princess-trade/PRN-FT-OC-2656B-WHGY/1-d057e1def7-ft-oc-2656b-whgy.jpg?auto=webp&bg-color=fff&canvas=260%2C260&fit=bounds&height=260&quality=90&width=260",
"price": 104,
"was_price": 219,
"was_price_text": "Don't Pay",
"discount_pct": 52.5,
"kogan_first_price": null,
"future_price": null,
"future_kogan_first_price": null,
"future_price_date": null,
"price_note": "The Don't Pay Price was nominated by the seller on 1 Jul 2025 as being the price at for which the same or nearly identical item is being offered for sale or has been offered for sale recently. The price may refer to the seller's own price elsewhere, or the price of another seller. The seller assumes sole responsibility for ensuring the accuracy of this price.",
"member_benefit": null,
"currency": "AUD",
"rating": null,
"review_count": null,
"in_stock": true,
"is_sold_out": false,
"is_presale": false,
"is_coming_soon": false,
"is_international_stock": false,
"free_shipping": false,
"dispatch": "Leaves warehouse in 1-2 business days",
"seller": {
"is_marketplace": true,
"name": "Princess Trade",
"slug": "princess-trade-terms-and-conditions",
"disclaimer": null
},
"categories": [
"Office Chairs",
"Office Furniture",
"Furniture"
],
"badges": [],
"promo": "Low stock",
"is_sponsored": true
}
],
"page": 1,
"has_more": true,
"store": "au",
"currency": "AUD",
"title": "Office Chairs",
"interpreted_as": {
"category": "office-chairs",
"keywords": [
"office",
"chair"
]
},
"breadcrumbs": [
{
"title": "Home & Garden",
"url": "https://www.kogan.com/au/shop/category/home-garden-3804/"
},
{
"title": "Furniture",
"url": "https://www.kogan.com/au/shop/category/home-garden-3804/home-garden-furniture-40414/"
},
{
"title": "Office Furniture",
"url": "https://www.kogan.com/au/shop/category/home-garden-3804/office-office-furniture-37353/"
}
],
"facets": {
"brands": [
{
"value": "ovela",
"label": "Ovela",
"count": 22
},
{
"value": "matt-blatt",
"label": "Matt Blatt",
"count": 20
},
{
"value": "vidaxl",
"label": "vidaXL",
"count": 16
}
],
"categories": [
{
"value": "office-chairs",
"label": "Office Chairs",
"count": 716
},
{
"value": "home-garden-3804",
"label": "Home & Garden",
"count": 714
},
{
"value": "home-garden-furniture-40414",
"label": "Furniture",
"count": 714
}
],
"price_ranges": [
{
"value": "1,90",
"label": "$1 - $90",
"count": 178,
"min_price": 1,
"max_price": 90
},
{
"value": "90,150",
"label": "$90 - $150",
"count": 342,
"min_price": 90,
"max_price": 150
},
{
"value": "150,200",
"label": "$150 - $200",
"count": 131,
"min_price": 150,
"max_price": 200
}
],
"other": [
{
"facet": "Colour",
"values": [
"[trimmed-depth]",
"[trimmed-depth]",
"[trimmed-depth]"
]
},
{
"facet": "Back Width",
"values": [
"[trimmed-depth]",
"[trimmed-depth]",
"[trimmed-depth]"
]
},
{
"facet": "Back Height",
"values": [
"[trimmed-depth]",
"[trimmed-depth]"
]
}
]
},
"sponsored_rows": 6
}
}What the Kogan.com API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| search | Search kogan.com (Australia or New Zealand store) by keywords and/or category, with brand, seller (Kogan.com only), price range and sort. Every row carries the price a logged-out shopper sees, the struck-through "was" price, the Kogan FIRST member price, stock and pre-sale flags, the dispatch promise, the seller (Kogan.com or the Marketplace seller's name), brand, rating and review count, and `is_sponsored`. The answer also returns the site's facets with counts (brands, categories, price ranges, attribute filters). Needs `query` or `category` (or both). Kogan publishes no reliable total: page with `page` until `has_more` is false. | Pricing teams call search to search kogan.com (Australia or New Zealand store) by keywords and/or category, with brand, se…. | query, category, brand, sold_by, min_price, ... |
| product | One kogan.com product: title, brand, SKU, GTIN, images, description, what's in the box, the full specification table, prices (logged-out price, "was" price and saving, Kogan FIRST member price with its free-shipping flag and reward, scheduled future price), price type (Full / Presale / …), stock, dispatch date, condition, the seller (Kogan.com or the Marketplace seller), variants with their own price and stock, warranty and returns text, the rating distribution and the first page of reviews. | Marketplace operators call product to get one kogan.com product. | slug, url, store |
| reviews | Customer reviews of one Kogan product, 5 per page, newest first as Kogan lists them: star rating, text, reviewer display name, date, whether the reviewer is a Kogan FIRST member, the variant reviewed, helpful votes — plus the product's review count, average and star distribution. Page with `cursor` = the previous `next_cursor`. | Catalog enrichment teams call reviews to get customer reviews of one Kogan product, 5 per page, newest first as Kogan lists them. | product_id, cursor, store |
Call search from your stack
curl -X POST https://api.reefapi.com/kogan/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"office chair"}'import requests
r = requests.post(
"https://api.reefapi.com/kogan/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "office chair"
},
)
print(r.json()["data"])const res = await fetch("https://api.reefapi.com/kogan/v1/search", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"query": "office chair"
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.kogan.search with {"query":"office chair"}.Who uses this API and why
- Track Kogan.com prices, was-prices and Kogan FIRST member prices for a product list every day.
- Compare Kogan's own listings with Marketplace sellers for the same product type.
- Monitor stock, pre-sale and ships-by dates on Australian electronics and appliances.
- Collect full Australian product specifications with GTINs for catalogue matching.
- Pull customer reviews and star distributions for product and seller research.
Questions developers ask before integrating
Do I need a Kogan.com account or a Kogan FIRST membership?
No. Everything is read logged out, including the Kogan FIRST member price, which Kogan shows to everyone.
Can I tell Kogan's own stock from Marketplace sellers?
Yes. Every row has a seller block with is_marketplace and the seller's business name, and sold_by=kogan keeps only items sold by Kogan.com. Measured on "office chair": Kogan's own count dropped from 696 to 96 with sold_by=kogan, and the page held 0 Marketplace rows.
Which filters are there?
Brand, sold by Kogan.com only, a price range and four sorts (featured, newest, price low to high, price high to low), on top of keywords and/or a category. Measured in one run on "office chair": brand ergolux returned 25 products, all Ergolux; a 100 to 200 range returned products priced 102.95 to 199.00.
How many results can I page through?
36 products a page, up to page 100. Kogan publishes no reliable total, so page until has_more is false; a page past the end answers an empty list.
Does it cover New Zealand?
Yes: store=nz searches kogan.com/nz and returns NZD prices. Product slugs and ids belong to one store.
Do you return shipping cost?
No. Kogan works out shipping per postcode at checkout. You get free_shipping, the dispatch promise, the ships-by date, and whether Kogan FIRST members ship free.
How many reviews come back?
Five per page with a cursor for the next page, plus the product's review count, average and star distribution. The air fryer we measured had 307 reviews; page 1 and page 2 shared no review.
What is the Kogan.com API?
Kogan.com API is a ReefAPI endpoint group for australia and new zealand's kogan.com: prices with was-price and kogan first member price, stock, marketplace seller, specs and reviews. It returns live JSON through POST requests under /kogan/v1.
Is the Kogan.com API free to try?
Yes. ReefAPI starts with 1,000 free credits, no card required. Kogan.com calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Kogan.com login or account?
No login to Kogan.com is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the Kogan.com data?
The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the Kogan.com API use?
Kogan.com actions currently cost 1-2 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.
Can I call Kogan.com from an AI assistant or MCP client?
Yes. Connect ReefAPI once through MCP and your assistant can call kogan actions with the same key, credit pool and JSON envelope used by normal REST requests.
Is the Kogan.com API a Kogan.com scraper?
It is the managed alternative to a DIY Kogan.com scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same australia and new zealand's kogan.com: prices with was-price and kogan first member price, stock, marketplace seller, specs and reviews back as clean JSON.