Kmart Scraper - Products, Prices & Reviews
Pricing
from $1.30 / 1,000 products
Kmart Scraper - Products, Prices & Reviews
Scrape products and customer reviews from Kmart.com.au. Search by keyword or use product/category URLs with sorting and filters. Returns name, brand, price, promo price, ratings, review text and stats, colours, sizes, images, seller, category, stock, and variations.
Pricing
from $1.30 / 1,000 products
Rating
0.0
(0)
Developer
Abot API
Maintained by CommunityActor stats
0
Bookmarked
11
Total users
3
Monthly active users
3.8 hours
Issues response
11 hours ago
Last modified
Categories
Share
Kmart Australia Scraper: Prices, Descriptions and Reviews
Kmart Australia Scraper turns kmart.com.au into a clean product data feed. Search by keyword, browse the Clearance, Catalogue or Online Exclusives collection, or paste product, category and search links, then get one flat record per product: name, canonical title, brand, current price with the was/original price and discount, star rating, full per-review text, Kmart's own product description split into features, specifications, care instructions and safety warnings, images, and every colour/size variation. Reviews attach to each product automatically, and Incremental mode returns only new and changed products on a recurring schedule.
Why This Scraper?
- Two ways to start. Search by keyword with sorting and facet filters, or paste product, category, search and specials-collection URLs from kmart.com.au.
- Specials and discounts. Browse Kmart's Clearance, Catalogue and Online Exclusives collections, and get the was/original price, saving amount and percent, and on-special flag on every product that is genuinely reduced.
- Full product copy, structured. Kmart's own description arrives verbatim, plus the same text split into features, specifications, care instructions, additional info, safety warnings and manual links, so nothing has to be parsed by hand.
- Products and reviews together. Each product carries its rating summary plus individual review text, author, date, helpful votes and sub-ratings (Value, Quality).
- Filters that narrow results. Brand, colour, category and sort apply to searches and to pasted category, search and specials URLs; the price range and marketplace exclusion also apply to a single pasted product URL. Third-party marketplace sellers are excluded by default.
- Built for schedules. Incremental mode returns only new and changed products on recurring runs, or resume one interrupted crawl with a run id.
- Optional export. Pipe results straight into Notion, Linear, Airtable or Apify through MCP connectors.
Use Cases
- Price and discount tracking: monitor Clearance, Catalogue and Online Exclusives collections to catch genuine markdowns as soon as they appear.
- Competitor and market research: compare Kmart's pricing, ranges and stock across categories against other Australian retailers.
- Catalog and content teams: pull Kmart's own product copy, features and specifications to populate a comparison site or content feed without re-typing it.
- Review and reputation analysis: collect star ratings, review text and sub-ratings to track customer sentiment per product or category.
- Recurring price-drop alerts: schedule the actor with Incremental mode and get notified only when a tracked product's price or stock actually changes.
Data You Get
Sample shape: values are illustrative placeholders, not from a live listing.
| Field | Example |
|---|---|
id | "42442370" |
name | "Sample Bath Towel" |
title | "Sample Brand Sample Bath Towel" |
brand | "Sample Brand" |
price | 8.0 |
wasPrice | 12.0 |
savingsAmount | 4.0 |
savingsPercent | 33 |
isOnSpecial | true |
promoLabel | "Clearance" |
currency | "AUD" |
averageRating | 4.6 |
reviewCount | 316 |
colour | "Blue" |
size | "One Size" |
seller | "kmart" |
isMarketplace | false |
inStockNationally | true |
url | "https://www.kmart.com.au/product/sample-bath-towel-42442370/" |
images | ["https://assets.kmart.com.au/transform/.../42442370-1", "..."] |
variations | [{ "colour": "Blue", "size": "One Size", "price": 12.0, "apn": "0000000000000" }] |
description | "Sample lead sentence.<br /><br /><strong>Product Details</strong><ul><li><strong>Material:</strong> Cotton</li></ul>" |
descriptionText | "Sample lead sentence.\nProduct Details:\n- Material: Cotton" |
features | ["Sample feature", "Another feature"] |
specifications | { "Dimensions/Size": "135cm (L) x 68cm (W)", "Material": "Cotton" } |
Every product record also carries careInstructions, additionalInfo, warnings and manuals, split from the same description text, plus a detailSections view that keeps every heading Kmart publishes, even ones not named above, in the order they were published. An absent section comes back as null, never as an empty list or object. Reviews and review statistics attach to the same product record: reviews is an array of { rating, title, content, author, createdAt, verifiedBuyer, votesUp, votesDown, subRatings }, and reviewStats carries the totalReviews, averageScore, starDistribution and subRatings summary; when Fetch reviews is off (or Max reviews is 0), both come back null, but a product with no reviews returns reviews: [] and a reviewStats with totalReviews: 0.
How to Use
- Pick a mode:
search(keywords, with optional sort, filters and a specials collection) orurl(paste product, category, search or specials-collection links). - In search mode, add one or more search terms, or leave them empty and pick a Specials collection to browse Clearance, Catalogue or Online Exclusives instead.
- Set Max products to control run size and cost, and turn Fetch reviews on or off.
- Click Start, then download the dataset as JSON, CSV or Excel, or read it through the API.
Search for a keyword:
{"mode": "search","searchTerms": ["towel"],"maxItems": 20}
Search with sorting and filters:
{"mode": "search","searchTerms": ["towel"],"sortBy": "price-asc","brand": "Anko","minPrice": 5,"maxPrice": 30,"maxItems": 25}
Browse a specials collection (Clearance, Catalogue or Online Exclusives):
{"mode": "search","specialsCategory": "clearance","maxItems": 50}
Discounted products carry wasPrice, savingsAmount, savingsPercent and isOnSpecial. Kmart runs an everyday-low-price model, so a was/original price is populated only when an item is genuinely reduced right now; otherwise those fields are null and isOnSpecial reflects clearance status instead. A specials collection can also be reached in url mode by pasting its page URL.
Paste URLs:
{"mode": "url","urls": ["https://www.kmart.com.au/search/?searchTerm=towel","https://www.kmart.com.au/product/sample-bath-towel-42442370/"],"maxItems": 30}
Run it from your code
Python:
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("abotapi/kmart-au-scraper").call(run_input={"mode": "search", "searchTerms": ["towel"]})for product in client.dataset(run["defaultDatasetId"]).iterate_items():print(product["name"], product["price"])
JavaScript:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('abotapi/kmart-au-scraper').call({ mode: 'search', searchTerms: ['towel'] });const { items } = await client.dataset(run.defaultDatasetId).listItems();
Or connect it to Make, Zapier, n8n, Google Sheets or webhooks from the Integrations tab.
Resume and recurring updates
- Resume (
resumeFromRunId) continues one interrupted run: paste its run or dataset id and the actor skips every product already collected there, so you don't pay twice. An automatic same-run checkpoint also protects against platform migrations without any input needed. - Incremental mode (
incrementalMode) is for scheduling the same search, specials collection or URL set again and again (for example, daily). The actor remembers the previous run of that exact scope by itself, so you never paste a run id. The first run returns everything asNEW. Later runs return onlyNEWandUPDATEDproducts by default, withchangedFieldslisting what changed on anUPDATEDrow; products unchanged since the last run are suppressed and not billed unlessemitUnchangedis on.EXPIREDrows are produced only whenemitExpiredis on, and only after a run that scanned the whole tracked scope (not capped by Max products or Max pages, and not a resume). A product must have been markedEXPIREDat least once before it can later be classifiedREAPPEARED, soREAPPEAREDnever appears in a run whereemitExpiredhas not previously been turned on.stateKeynames or deliberately shares a monitoring campaign; left empty, it is derived automatically from the search/filter setup. - Reviews are still fetched for every scanned product, needed to detect whether it changed, but the review surcharge is only charged for products that actually reach the dataset. A product suppressed as
UNCHANGEDis never charged for its reviews.
Send results into your apps (MCP connectors)
Optionally pipe the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. This is an extra delivery step after the scrape: the Apify dataset is never changed.
What gets written to the connector: a condensed, human-readable summary of each product, not the full JSON. Each item becomes one entry with a title and its key fields flattened to plain text. The complete record always stays in the Apify dataset.
- Authorize a connector once under Apify then Settings then Integrations (Notion, Linear, Airtable, or Apify).
- Select it in the "Pipe results into your apps" input field. If the picker is empty, you haven't authorized a connector yet.
- For Notion, also set
notionParentPageUrlto the page where items should be created.
The connection is mediated by Apify's MCP proxy, so this actor never sees your third-party credentials. Leave the field empty to skip.
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | string | search | search for keywords (and the specials collection), url for pasted links. |
searchTerms | array | none (prefill: ["towel"]) | Keywords to search. Search mode only. |
specialsCategory | string | "" (none) | Optional specials collection: clearance, catalogue, or online-exclusives. Search mode only. |
urls | array | none (prefill: ["https://www.kmart.com.au/search/?searchTerm=towel"]) | Product, category, search or specials URLs. URL mode only. |
sortBy | string | relevance | relevance, popular, newest, price-asc, price-desc. |
brand | string | none | Keep only this brand (exact facet value, e.g. Anko). |
colour | string | none | Keep only this colour (exact facet value). |
category | string | none | Keep only this category (exact facet value). |
includeMarketplace | boolean | false | Also keep third-party marketplace sellers' products. By default only the Kmart, Target and Officeworks ranges are returned. |
minPrice | integer | none | Keep products at or above this price (AUD). |
maxPrice | integer | none | Keep products at or below this price (AUD). |
fetchReviews | boolean | true | Attach reviews and review stats to each product. |
maxReviews | integer | 20 | Cap on reviews captured per product. 0 disables reviews. |
maxItems | integer | 20 | Total products to return. 0 = unlimited. |
maxPages | integer | 0 | Safety cap on result pages per search term. 0 = no cap; a run still stops on its own once the storefront's result total is reached or a page repeats. |
resumeFromRunId | string | none | Continue one specific interrupted previous run or dataset: products already collected there are skipped. |
incrementalMode | boolean | false | Daily or recurring monitoring of the same search, specials collection, or URL set. See "Resume and recurring updates" above. |
stateKey | string | none | Optional name for a monitoring campaign. Auto-derived from your search and filter settings when left empty. |
emitUnchanged | boolean | false | Incremental mode only. Also return products unchanged since the last run, marked UNCHANGED. |
emitExpired | boolean | false | Incremental mode only. Also return products from a previous run no longer found, marked EXPIRED, once a run has fully scanned the tracked search or URLs. |
proxy | object | { "useApifyProxy": true } | Connection configuration. |
mcpConnectors | array | none | Optional MCP connectors to export results into. |
notionParentPageUrl | string | none | Notion parent page for the Notion connector. |
maxNotifyListings | integer | 50 | Cap on items exported per connector. |
Output Example
Sample shape: values are illustrative placeholders, not from a live listing.
{"kind": "product","id": "42442370","name": "Sample Bath Towel","title": "Sample Brand Sample Bath Towel","url": "https://www.kmart.com.au/product/sample-bath-towel-42442370/","brand": "Sample Brand","apn": "0000000000000","description": "Sample lead sentence about the product.<br /><br /><strong>Product Details</strong><ul><li><strong>Dimensions/Size:</strong> 000cm (L) x 00cm (W)</li><li><strong>Material:</strong> Cotton</li></ul><strong>Features</strong><ul><li>Sample feature</li></ul><strong>Care Instructions</strong><ul><li>Warm machine wash with similar colours</li></ul>","descriptionText": "Sample lead sentence about the product.\nProduct Details:\n- Dimensions/Size: 000cm (L) x 00cm (W)\n- Material: Cotton\nFeatures:\n- Sample feature\nCare Instructions:\n- Warm machine wash with similar colours","descriptionSummary": "Sample lead sentence about the product.","features": ["Sample feature"],"specifications": { "Dimensions/Size": "000cm (L) x 00cm (W)", "Material": "Cotton" },"careInstructions": ["Warm machine wash with similar colours"],"additionalInfo": null,"warnings": null,"manuals": null,"detailSections": [{ "heading": "Product Details", "items": ["Dimensions/Size: 000cm (L) x 00cm (W)", "Material: Cotton"] },{ "heading": "Features", "items": ["Sample feature"] },{ "heading": "Care Instructions", "items": ["Warm machine wash with similar colours"] }],"price": 8.0,"listPrice": 8.0,"promoPrice": 12.0,"wasPrice": 12.0,"savingsAmount": 4.0,"savingsPercent": 33,"isOnSpecial": true,"promoLabel": "Clearance","currency": "AUD","onSale": false,"clearance": true,"freeShipping": false,"averageRating": 4.6,"reviewCount": 316,"colour": "Blue","size": "One Size","seller": "kmart","isMarketplace": false,"merchDepartment": "Home","inStockNationally": true,"images": ["https://assets.kmart.com.au/transform/00000000-0000-0000-0000-000000000000/42442370-1"],"variations": [{ "colour": "Blue", "size": "One Size", "price": 12.0, "apn": "0000000000000" }],"reviewStats": {"totalReviews": 316,"averageScore": 4.58,"starDistribution": { "5": 222, "4": 64, "3": 24, "2": 4, "1": 2 },"subRatings": { "Value": 5.0, "Quality": 4.0 }},"reviews": [{"rating": 5,"title": "Sample title","content": "Sample review text.","author": "Sample R.","createdAt": "2026-01-01T00:00:00.000Z","verifiedBuyer": true,"votesUp": 6,"votesDown": 0,"subRatings": { "Value": 5, "Quality": 5 }}]}
When incrementalMode is on, every returned record also carries changeType (NEW, UPDATED, UNCHANGED, REAPPEARED or EXPIRED), changedFields (non-empty only for UPDATED), firstSeenAt and lastSeenAt. Change detection compares the product itself (price, was/now pricing and specials, stock, brand, colour, size, seller, images and the description); reviews, reviewStats, averageRating and reviewCount are deliberately excluded, because a new review or a fresh vote count between two runs does not mean the product changed.
Plan Requirement
The default proxy setting works out of the box. The actor manages its own connection tiers and automatically moves to a different tier when one is persistently refused, so there is nothing to tune under Connection for large runs.
FAQ
How much does it cost?
You pay per product returned, with the review surcharge billed only for products that actually had reviews fetched and reached the dataset. A product suppressed by Incremental mode as UNCHANGED is never charged for its reviews. The Pricing tab shows the current rates. Use Max products to cap the cost of any run.
Is it legal to scrape Kmart Australia?
This actor collects only publicly available product and review data. You are responsible for how you use it: follow Kmart's terms and the laws that apply to you, and get legal advice if you plan commercial redistribution. Product names, prices and specifications are generally facts, but photos and customer review text may be subject to third-party rights.
Can I get only new or changed products on a schedule?
Yes. Schedule the actor from the Schedules tab and turn on Incremental mode. Each run then returns only new and updated products by default, and unchanged ones are suppressed and not billed.
Why does the was/original price come back null for most products?
Kmart runs an everyday-low-price model rather than constant discounting, so wasPrice, savingsAmount and savingsPercent are populated only when an item is genuinely reduced right now. A product with no active promotion returns those fields as null, and isOnSpecial reflects its clearance status instead.
Why did my run fail or return nothing?
The run fails outright only when a Resume id cannot be read, or when Resume is combined with Incremental mode on a search that already has saved monitoring state. If requests keep being refused after retries, the affected search or page is skipped with a warning in the log. A run that ends with no products finishes with a status message asking you to check your search terms, URLs and filters, so look at the log for fetch warnings before assuming nothing matched. A pasted category URL that does not match a Kmart category is reported and skipped. A pasted marketplace product URL returns nothing while Include marketplace products is off.
Can I use it with AI agents or MCP?
Yes. Call it from any Apify integration or MCP client, and use the connector field to push a summary of each product into Notion, Linear or Airtable.
๐ Want more e-commerce data?
Pair this actor with these related scrapers from the same team:
| ๐ Target AU Scraper Scrape products and customer reviews from Target.com.au. Search by keyword or use... | ๐ BIG W Marketplace Scraper Scrape BIG W Marketplace seller listings from bigw.com.au: name, brand, price, was-price... |
| ๐ Chemist Warehouse AU Scrape chemistwarehouse.com.au products with prices, RRP, discounts, stock, images... | ๐ Harvey Norman Scraper Scrape Harvey Norman Australia products: name, brand, price, was-price / discount... |
| ๐ Amazon Australia Product & Reviews Scraper Scrape Amazon Australia (amazon.com.au) products and customer reviews. Search by keyword... | ๐ Officeworks Scraper Scrape Officeworks products by keyword, category, or URL. Extract names, brands, prices... |
๐ Browse all abotapi scrapers
๐ฌ Support & custom scrapers
- ๐ Found a bug or a missing field? Open a ticket on the Issues tab. We usually reply within hours.
- ๐ ๏ธ Need another site, extra fields or a private build? Email abotapi@proton.me or message Telegram @abotapi.
- โญ Enjoying it? A quick review on the actor page helps other users find it.