Product Reviews AU [$1๐ฐ] Listings and Reviews Scraper
Pricing
from $1.00 / 1,000 results
Product Reviews AU [$1๐ฐ] Listings and Reviews Scraper
From $1/1K. Scrape and extract detailed product and business reviews from ProductReview.com.au with advanced filters, business info, and review insights. It supports location/category search, custom queries, proxy rotation, and flexible dataset outputs.
Pricing
from $1.00 / 1,000 results
Rating
5.0
(1)
Developer
AbotAPI
Maintained by CommunityActor stats
1
Bookmarked
43
Total users
4
Monthly active users
6 days ago
Last modified
Categories
Share
ProductReview.com.au Scraper
A fast, lean scraper for productreview.com.au, Australia's largest consumer reviews portal. Pulls listing summaries (rating, review counts, contact info, FAQs) and full review bodies with author, attachments, and replies. Pure HTTP, ~100ร cheaper than browser-based actors and finishes most runs in seconds.
Why This Scraper
- Two input modes. Filter mode lets you pick a category plus filters. URL mode lets you paste explicit URLs (search, category, or direct listing) and ignores filters.
- Two output shapes. Listings output emits one row per listing with up to 10 preview reviews embedded. Reviews output emits one row per review with a
sourceListingpointer. - Multi-URL. URL mode accepts a list. Each URL is auto-routed by shape (
/c/,/search, or/listings/<slug>). - HTTP-only. Reads the same SSR JSON the site ships to its own front-end. Around 80 to 256 MB peak memory, no Chromium.
- Honest per-page cap. productreview.com.au caps category and search results at 30 per URL and doesn't paginate via URL grammar. The actor surfaces this in logs and caps
limitaccordingly in listings output. - Apify-native proxy. Optional Apify residential proxy lets you push concurrency without tripping per-IP throttles.
Data You Get
Sample shape. Values are illustrative placeholders, not from a live listing.
Listings output (one row per listing)
| Field | Example |
|---|---|
id | 00000000-0000-0000-0000-000000000001 |
name | Sample Lighting Co. |
slug | sample-lighting-co |
detailsUrl | https://www.productreview.com.au/listings/sample-lighting-co |
brand.name | Sample Brand |
categories[].name | Lighting Shops |
locations[].name | Victoria |
statistics.rating | 4.5 |
statistics.numberOfReviews | 1234 |
isDiscontinued | false |
featuredReview.title | Sample featured review title |
contact.email | support@example.com |
contact.phone | +61000000000 |
address.formatted | Sample St, Sample Suburb, VIC 0000, Australia |
description | Full company description appears here. |
faqs[].question | Sample question? |
logoUrl | https://cdn.productreview.com.au/resize/brand-logo/00000000 |
pictureUrl | https://cdn.productreview.com.au/resize/listing/00000000 |
totalReviews | 1234 |
pagesScraped | 1 |
reviewPages | 42 |
reviews[] | up to 10 preview reviews from page 1 |
Reviews output (one row per review)
| Field | Example |
|---|---|
id | aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa |
rating | 5 |
title | Sample review title |
body | Sample review body text. |
submittedAt | 2026-01-01T00:00:00.000Z |
hasVerifiedPurchase | true |
images[].url | https://cdn.productreview.com.au/resize/review-attachment/00000000 |
author.displayName | Reviewer Name |
author.locationName | Sample City |
comments[] | array of replies and follow-ups |
sourceListing.id | 00000000-0000-0000-0000-000000000001 |
sourceListing.name | Sample Lighting Co. |
sourceListing.slug | sample-lighting-co |
sourceListing.detailsUrl | https://www.productreview.com.au/listings/sample-lighting-co |
sourceListing.brand | Sample Brand |
sourceListing.rating | 4.5 |
sourceListing.numberOfReviews | 1234 |
How to Use
1. Filter mode + listings output. Preview shops in a category.
{"mode": "search","outputType": "listings","category": "home-garden-shops","limit": 20,"proxy": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "AU" }}
2. Filter mode + reviews output. Top reviews from a filtered category.
{"mode": "search","outputType": "reviews","category": "lighting","location": "victoria_au","sortBy": "rating","limit": 200,"proxy": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "AU" }}
3. URL mode. Every review for one listing.
{"mode": "url","outputType": "reviews","urls": ["https://www.productreview.com.au/listings/sample-lighting-co"],"limit": 1000,"proxy": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "AU" }}
4. URL mode. Multi-URL with mixed shapes.
{"mode": "url","outputType": "listings","urls": ["https://www.productreview.com.au/c/home-garden-shops","https://www.productreview.com.au/search?q=lighting","https://www.productreview.com.au/listings/sample-lighting-co"],"limit": 10}
URLs are auto-routed: /c/<cat> and /search are processed as search-result pages. /listings/<slug> skips straight to a listing detail. Filter-mode fields (category, searchQuery, location, etc.) are ignored in URL mode.
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | enum search | url | search | Input dispatch. search builds a URL from filters. url uses the urls[] list. |
outputType | enum listings | reviews | listings | Row shape. Listings is one row per listing with embedded preview reviews. Reviews is one row per review with sourceListing pointer. |
category | string | home-garden-shops | Filter mode only. Category slug. The actor builds /c/<slug>. |
searchQuery | string | (empty) | Filter mode only. Appended as ?q=. |
location | string | (empty) | Filter mode only. Slug like victoria_au. Inserted as /c/<cat>/l/<loc>. |
showDiscontinued | boolean | false | Filter mode only. Include discontinued entries. |
sortBy | enum | (default) | Filter mode only. One of relevance, rating, numberOfReviews, popularity, lowestPrice, highestPrice. |
urls | string[] | one direct listing URL | URL mode only. Each URL auto-routed by shape. |
limit | int | 20 | Universal cap on output rows. Listings: max listings (per-URL hard cap of 30 from the site). Reviews: max review rows. |
maxConcurrency | int (1 to 50) | 4 | Max in-flight requests. With residential proxy you can push 8 to 10. |
proxy | object | (none) | Apify proxy config. Recommended: RESIDENTIAL, country AU. |
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 record โ 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 โ Settings โ 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.
Output Example
Sample shape. Values are illustrative placeholders.
Listings output
{"id": "00000000-0000-0000-0000-000000000001","name": "Sample Lighting Co.","slug": "sample-lighting-co","detailsUrl": "https://www.productreview.com.au/listings/sample-lighting-co","brand": { "id": null, "name": "Sample Brand", "slug": "sample-brand", "url": "https://example.com", "isManaged": false },"contact": { "email": "support@example.com", "phone": "+61000000000", "website": "https://example.com" },"categories": [{ "name": "Lighting Shops", "level": "leaf", "hook": null, "ancestors": [] }],"locations": [{ "name": "Victoria", "shortName": "VIC", "slug": "victoria_au", "level": "state" }],"statistics": { "rating": 4.5, "numberOfReviews": 1234, "numberOfQuestions": 12, "ratingDistribution": [700, 300, 100, 80, 54] },"isDiscontinued": false,"featuredReview": null,"highlightedReviews": [],"address": { "streetAddress": "Sample St", "suburb": "Sample Suburb", "state": "VIC", "postcode": "0000", "country": "Australia", "formatted": "Sample St, Sample Suburb, VIC 0000, Australia" },"businessHours": null,"description": "Full company description appears here.","faqs": [],"specifications": {},"logoUrl": "https://cdn.productreview.com.au/resize/brand-logo/00000000","pictureUrl": "https://cdn.productreview.com.au/resize/listing/00000000","pictures": [],"createdAt": "2020-01-01T00:00:00.000Z","totalReviews": 1234,"reviewPages": 42,"pagesScraped": 1,"reviews": [],"scrapedAt": "2026-01-01T00:00:00.000Z"}
Reviews output
{"id": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","rating": 5,"title": "Sample review title","body": "Sample review body text.","submittedAt": "2026-01-01T00:00:00.000Z","hasVerifiedPurchase": true,"attachments": [],"images": [],"author": { "id": null, "displayName": "Reviewer Name", "locationName": "Sample City" },"comments": [],"sourceListing": {"id": "00000000-0000-0000-0000-000000000001","name": "Sample Lighting Co.","slug": "sample-lighting-co","detailsUrl": "https://www.productreview.com.au/listings/sample-lighting-co","brand": "Sample Brand","rating": 4.5,"numberOfReviews": 1234}}
Plan Requirement
| Apify plan | Default setup | Recommended for larger runs |
|---|---|---|
| Free | Datacenter proxy (default). Fine for small runs at maxConcurrency: 2 to 4. | (residential not available on free) |
| Paid | Datacenter proxy (default). | Switch to residential for higher throughput: apifyProxyGroups: ["RESIDENTIAL"], apifyProxyCountry: "AU". You can then push maxConcurrency: 8 to 10. |
The site throttles bursts from a single IP, so datacenter (small IP pool) with high concurrency may trigger 403 retries. Residential (large pool) absorbs the burst.