Appliances Online Scraper - Products, Prices & Reviews avatar

Appliances Online Scraper - Products, Prices & Reviews

Pricing

from $1.50 / 1,000 product results

Go to Apify Store
Appliances Online Scraper - Products, Prices & Reviews

Appliances Online Scraper - Products, Prices & Reviews

Scrape appliancesonline.com.au by category, keyword, or URL. Extract title, brand, AUD price, was-price, stock, key specs, images, ratings, badges, care plans, manuals, delivery details, questions, and customer reviews.

Pricing

from $1.50 / 1,000 product results

Rating

0.0

(0)

Developer

Abot API

Abot API

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

11 days ago

Last modified

Categories

Share

Appliances Online Scraper: Products, Prices, Stock & Reviews

Scrape Appliances Online Australia (appliancesonline.com.au) product listings, specifications, stock and customer reviews. Browse a whole category, a keyword the storefront resolves itself, or paste product links. Every product comes back as one flat record with the AUD price, the recommended retail price and the saving, stock status, the storefront's own spec keys, media, the aggregate customer rating with its star breakdown, badges and care plans.

Why This Scraper?

  • One browse read returns a category's complete product list, so a run collects hundreds of products in a few requests instead of walking page after page.
  • Two modes: browse categories or keywords, or paste product links and product ids; each pasted entry is one fully enriched record.
  • Filters narrow the results whichever mode you run: brand, reduced-only, in-stock-only, price range and result ordering, and products dropped by a filter are never collected and never charged.
  • Full detail extraction: specification table, manuals, feature bullets, delivery services and the on-sale flag from the product's own document.
  • Customer reviews with star rating, review text, author and syndication source, plus the review tags (best and worst features) and the what-customers-say recap.
  • Warehouse-level stock counts when the storefront exposes them, care plans, efficiency labels, badges and the green-product flag on every record.

Use Cases

  • Price and RRP monitoring: track the AUD price, the recommended retail price and the computed saving across a category or a watchlist to catch new markdowns.
  • Stock and availability tracking: watch stock status and per-warehouse stock counts so a comparison site or reseller knows what is actually available.
  • Review and reputation research: collect the rating breakdown, review text and the best and worst feature tags to see how a model is actually received.
  • Catalog and spec comparison: pull the full specification table, key specs and manuals to compare models side by side or feed a comparison site.
  • Sale and clearance monitoring: schedule recurring runs against a clearance or sale scope with incremental mode to catch newly reduced or newly out-of-stock products.
  • Customer support and FAQ research: read the product question-and-answer feed to see what buyers actually ask before they purchase.

Data You Get

Sample shape: values are illustrative placeholders, not from a live record.

FieldExample
productId"900001"
sku"SAMPLESKU1"
title"Sample Appliance Co 9kg Front Load Washing Machine"
brand / manufacturer"Sample Appliance Co" / { "name": "Sample Manufacturer" }
price / rrp / savings1299.0 / 1699.0 / 400.0
onSaletrue
inStock / stockStatustrue / 1
stockByWarehousewarehouse code to unit count, when the storefront exposes it
popularity / featuredstore-ranking score / featured-on-card flag
badgescard badges, for example a made-in label
image / imagescover image URL / the gallery URLs, cover first
mediavideo and 360-view URLs (when Fetch product details is on and the product page offers them)
specsgrouped specification table (when Fetch product details is on)
keySpecsthe card's key spec pairs
attrflattened attribute map (attr_Brand, attr_Washing_Machine_Type, ...)
warrantyNotethe storefront's own warranty text
carePlanscare plan name and price, when the card offers one
reviewCount / rating128 / 4.6
ratingBreakdownfiveStarCount, fourStarCount, threeStarCount, twoStarCount, oneStarCount
reviewSummarythe storefront's own what-customers-say recap
bestFeatures / worstFeaturestag and count pairs from the review summary
manuals / deliverymanual titles and links / delivery service list (when Fetch product details is on)
questionscustomer questions and answers (when Fetch questions is on)
reviewsreviewId, rating, reviewText, author, date, source (when Fetch customer reviews is on)
urlproduct page link

How to Use

  1. Pick a mode: categories (browse a category, keyword or facet) or products (paste product links or ids).
  2. Fill in the scope entries for that mode, and switch on the filters and detail toggles you need.
  3. Set Max products to control run size and cost, then click Start.
  4. Download the dataset as JSON, CSV or Excel, or read it through the API.

Browse a category, listing fields only:

{
"mode": "categories",
"searchInputs": ["washers-and-dryers/washing-machines"],
"fetchDetails": false,
"maxItems": 20
}

Browse with filters and full details:

{
"mode": "categories",
"searchInputs": ["refrigeration/fridges"],
"brand": "Sample Brand",
"onSaleOnly": true,
"inStockOnly": true,
"sortBy": "price_asc",
"fetchDetails": true,
"maxItems": 10
}

Keyword resolution and product links:

{
"mode": "categories",
"searchInputs": ["sample-model-number", "cooktops"],
"maxItems": 10
}

Reviews, plus the question feed:

{
"mode": "products",
"productInputs": ["900001", "https://www.appliancesonline.com.au/product/sample-product-8kg/"],
"fetchReviews": true,
"maxReviewsPerProduct": 50,
"fetchQuestions": true
}

Run it from your code

Python:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("abotapi/appliancesonline-com-au-scraper").call(run_input={
"mode": "categories",
"searchInputs": ["washers-and-dryers/washing-machines"],
"maxItems": 20,
})
for product in client.dataset(run["defaultDatasetId"]).iterate_items():
print(product["title"], product["price"], product["inStock"])

JavaScript:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('abotapi/appliancesonline-com-au-scraper').call({
mode: 'categories',
searchInputs: ['washers-and-dryers/washing-machines'],
maxItems: 20,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Or connect it to Make, Zapier, n8n, Google Sheets or webhooks from the Integrations tab.

How Max products shapes a run

A category read returns the storefront's whole product list in one go, so Max products (maxItems) is what actually bounds a run: with more than one browse scope in the same run, the budget is split evenly across scopes, and each scope's own list is trimmed to that share before it is read further. Set it to 0 for no limit.

Known issue (incremental mode): the per-scope trim is applied to the raw listing positions before unchanged products are filtered out, so in incremental mode Max products limits how many products are examined, not how many changed products are returned. A scope's listing keeps a stable order from run to run, so with a Max products value smaller than the scope, every recurring run re-examines the same top positions and never looks further down: a new or updated product sitting below that point is never reported. For example, 25 unchanged products followed by 10 new ones, with Max products 20, returns 0 rows. For recurring monitoring, set Max products to 0 or to at least the size of every tracked scope.

Resume and recurring updates

Known issue, read before using Resume: in the current build, Resume (resumeFromRunId) skips nothing. It looks for a record key the dataset does not contain, so a resumed run collects, returns and bills again every product the named run already collected, exactly as if Resume were empty. The run log shows it as Resume: skipping 0 product(s). Until this is fixed, do not use Resume to save cost; start a fresh run, or use Incremental mode for anything recurring. An interruption inside a single run (for example a platform restart) is still picked up automatically; only the Resume field is affected.

Incremental mode (incrementalMode) is for schedules over the same scope: the actor remembers each scope's baseline itself, and a recurring run returns only NEW, UPDATED (with changedFields naming what moved, for example price or stock), REAPPEARED and optionally EXPIRED rows. UNCHANGED rows are suppressed by default so daily monitoring bills only what changed. Reviews are detected through the review count, the star breakdown and the rating, so a new review classifies the product UPDATED without listing every review body in changedFields.

Known issue (Emit expired): EXPIRED detection is skipped after a resumed run, but its "was this run capped?" check counts only the rows the run returned, so it misses the Max products trim whenever UNCHANGED rows were suppressed or a scope was cut to its share. Such a run can mark products EXPIRED that are still listed, just below the cut: for example, 100 tracked products, 2 changed and Max products 20 returns 80 false EXPIRED rows, and the next full run returns the same 80 as REAPPEARED. Both sets are billed. EXPIRED rows are also not capped by Max products: a full scan of a large tracked scope where many products disappeared can return far more rows than Max products asked for. Only turn on Emit expired together with Max products 0.

Send results into your apps (MCP connectors)

Authorize one MCP connector in Apify (Notion, Linear, Airtable or Apify), set the mcpConnectors input (and notionParentPageUrl for Notion item pages), and each run writes a condensed summary per item into your tool via mcpConnectors, with the write count capped by maxNotifyListings. The complete record always stays in the Apify dataset, and a connector failure never affects the scrape.

Input Parameters

ParameterTypeDefaultDescription
modeselectcategoriesBrowse categories and keywords, or read pasted product links and ids.
searchInputsstring listone washing-machines pathBrowse mode scopes: category paths, category links, keywords or bare product ids.
productInputsstring listsample product id and linksProduct mode: product links or numeric product ids; each entry is one fully enriched record.
facetsstring listemptyOptional storefront facet slugs appended to category paths, applied server-side when honored.
brandtextemptyKeep only products whose brand matches this name.
onSaleOnlybooleanfalseKeep only products currently reduced.
inStockOnlybooleanfalseKeep only products the store lists in stock.
minPriceintegerunsetKeep only products priced at or above this AUD amount.
maxPriceintegerunsetKeep only products priced at or below this AUD amount.
sortByselectpopularitypopularity, price asc, price desc, name, rating.
fetchDetailsbooleantrueRead each product's own document, spec table, manuals, features and delivery services; billed as the detail-enrichment event. Product mode always fetches details.
fetchReviewsbooleanfalseAlso read each product's customer review feed.
fetchQuestionsbooleanfalseAlso read the product's questions (needs Fetch product details).
maxReviewsPerProductinteger50Review cap per product when reviews are on.
questionsCapinteger20Question cap per product when questions are on.
maxItemsinteger20Max products across the whole run; 0 for unlimited.
resumeFromRunIdtextemptyContinue ONE interrupted run: paste a prior run or dataset id. Known issue: currently skips nothing, so every product is collected and billed again (see Resume and recurring updates).
incrementalModebooleanfalseRecurring monitoring: later runs return only what changed.
stateKeytextemptyName a monitoring campaign, or share state deliberately.
emitUnchangedbooleanfalseAlso return (and bill) unchanged rows.
emitExpiredbooleanfalseAlso return rows gone after a COMPLETE scan.
mcpConnectorsarrayemptySend results into your apps through MCP connectors (optional).
notionParentPageUrltextemptyNotion parent page for the Notion connector.
maxNotifyListingsinteger50Cap on items written to each connector per run.
proxyproxyApify proxy onKeep the default; the read runs through a proxy connection.

Output Example

Sample shape: values are illustrative placeholders, not from a live record.

{
"productId": "900001",
"sku": "SAMPLESKU1",
"title": "Sample Brand 9kg Front Load Washing Machine",
"url": "https://www.appliancesonline.com.au/product/sample-product-9kg-900001/",
"brand": "Sample Brand",
"manufacturer": { "name": "Sample Manufacturer", "url": "/brand/sample-brand/" },
"price": 1299.0,
"rrp": 1699.0,
"savings": 400.0,
"currency": "AUD",
"onSale": true,
"inStock": true,
"stockStatus": 1,
"stockByWarehouse": { "sample-whse": 3 },
"popularity": 504321,
"featured": true,
"badges": ["Made In Sampleland"],
"images": ["https://www.appliancesonline.com.au/public/images/sample-gallery-000000.png"],
"media": ["https://www.appliancesonline.com.au/public/video/sample-video.mp4"],
"keySpecs": [{ "name": "Brand", "value": "Sample Brand" }],
"attr": { "attr_Brand": "Sample Brand", "attr_Washing_Machine_Type": "Front load" },
"warrantyNote": "Sample manufacturer warranty terms apply to this product.",
"specs": { "Key Specifications": [{ "name": "Brand", "value": "Sample Brand", "url": null }] },
"manuals": [{ "title": "User manual", "type": "manual", "url": "https://www.appliancesonline.com.au/public/manuals/sample-00000000.pdf" }],
"delivery": { "services": [{ "service": "Sample delivery service", "detail": "Sample delivery detail text.", "included": true }] },
"questions": [{ "id": "1", "question": "Does this come with a power cord?", "askedBy": "Sample User", "answers": [{ "answer": "Yes, a standard cord is included.", "answeredBy": "Sample Support Team", "answeredAt": "2026-01-01T00:00:00Z" }] }],
"reviews": [{ "reviewId": "0000000001", "rating": 5.0, "title": "Sample review", "reviewText": "Sample review text describing this sample product.", "author": "sample-user", "submittedAt": "2026-01-01T00:00:00Z", "isSyndicated": false, "photos": null }],
"reviewCount": 128,
"rating": 4.6,
"ratingBreakdown": { "fiveStarCount": 100, "fourStarCount": 18, "threeStarCount": 5, "twoStarCount": 3, "oneStarCount": 2 },
"reviewSummary": "Sample customers describe this product favorably in this generated summary.",
"bestFeatures": [{ "tag": "design", "count": 4 }],
"worstFeatures": [{ "tag": "packaging", "count": 1 }],
"scope": "washers-and-dryers/washing-machines",
"searchMode": "category",
"scrapedAt": "2026-01-01T00:00:00Z"
}

Plan Requirement

Any Apify account that can start a run can use this actor. The default proxy setting works out of the box: reading this storefront uses the standard connection pool by default, and the actor retries with a fresh connection automatically when one is refused. For large or frequent runs, the residential proxy group gives more headroom; pick it under Connection. If your account is not allowed to use the connection you picked, the run log says so under a Connection warning instead of reporting an empty result.

FAQ

How much does it cost?

You pay per product returned, plus the detail-enrichment surcharge when Fetch product details or Fetch customer reviews is on (charged once per enriched product, plus one more unit per additional 10 reviews or questions beyond the first). The Pricing tab shows the current rates. Use Max products to cap the cost of any run.

This actor collects only publicly available product listing and review data. You are responsible for how you use it: follow Appliances Online's terms and the laws that apply to you, and get legal advice if you plan commercial redistribution. Product prices and specifications are generally facts, but review text, photos and manufacturer content may be subject to third-party rights.

Can I get only new, changed or newly out-of-stock products on a schedule?

Yes. Schedule the actor from the Schedules tab, turn on Incremental mode and set Max products to 0 (or at least the size of every tracked scope). Each run then returns only NEW, UPDATED and REAPPEARED products (and EXPIRED ones if you turn that on too), and unchanged products are not billed. With a smaller Max products value, incremental runs can miss changes and report false EXPIRED rows; see the known issues under How to Use.

Does Resume avoid paying twice for products I already collected?

Not in the current build. Resume skips nothing: a resumed run collects and bills every product again, and its log reports Resume: skipping 0 product(s). Leave Resume empty until this is fixed. For recurring monitoring use Incremental mode, which suppresses unchanged products without relying on Resume.

Why did my run fail instead of returning an empty dataset?

If the site refuses every request, the run stops with a clear message so "no products in this category" is never confused with "nothing could be read". Run it again in a few minutes. If only some scopes could be read, you still get what was found from the rest.

It still works: any entry that is not a product link or id is browsed the same way Browse mode browses it, and every product found in it is fully enriched, same as a pasted product link.

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 results into Notion, Linear or Airtable.

๐Ÿ”— Want more electronics data?

Pair this actor with these related scrapers from the same team:

๐Ÿ”Œ Dienmayxanh Scraper
Scrape dienmayxanh.com home appliances and electronics with full specifications, current...
๐Ÿ”Œ PB Tech Scraper
Scrape pbtech.co.nz products with full specifications, price, brand, condition, per-store...
๐Ÿ”Œ Yodobashi Scraper
Scrape yodobashi.com electronics and appliances: JPY price, list price and discount...
๐Ÿ”Œ Darty Scraper
Scrape Darty (darty.com) products: current price plus strike-through reference price and...
๐Ÿ”Œ Casas Bahia Brazil Electronics & Home Goods Scraper
Scrape products from Casas Bahia Brazil by keyword, department, or URL. Filter by brand...
๐Ÿ”Œ Bic Camera Scraper
Scrape Bic Camera (biccamera.com) products: JPY price, list price and discount, Bic Point...

๐Ÿ‘‰ 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.