
Congress Stock Trades Scraper
scrape.ly/store/querystone/congress-trades-scraperNewsBusiness
4 monthly users

Scrape ProductReview.com.au products, shops and services with ratings, review counts, prices, specs, contact details and FAQs, plus every customer review with author, date, rating, photos and replies. Search by category, keyword, location or brand. No login.
Pull products, shops and services from ProductReview.com.au, Australia's largest review site, together with their customer reviews. You get ratings, review counts, star breakdowns, prices, specifications, phone numbers, websites, questions and answers, and every review with its author, date, rating, photos and the company's replies. No login. In our tests 20 full listings took about 4 seconds of scraping, 1,000 full listings about 2 minutes and 1,000 reviews about 15 seconds.
| Field | What it does |
|---|---|
startUrls | ProductReview URLs: /c/<category>, /c/<category>/l/<location>, /search?q=..., /b/<brand>, /listings/<listing>. Filters in the URL are kept. |
searchQueries | Keywords, like the site's search box. |
category / location | A category name or slug, and an Australian state, region or city. |
outputType | listings or reviews. |
maxItems | Rows to save in total (0 = no limit). |
sortBy, brands, minRating, showDiscontinued | Listing filters. |
embeddedReviews | Reviews included inside each listing row (default 10). |
maxReviewsPerListing, reviewRatings, reviewSortBy, reviewsNewerThan, reviewVerifiedOnly, reviewsWithPhotosOnly, reviewKeyword | Review options. |
includeFaqs | Add each listing's questions and answers. |
Every review of one listing, newest first, from the last 6 months:
{
"startUrls": ["https://www.productreview.com.au/listings/bunnings-warehouse"],
"outputType": "reviews",
"reviewsNewerThan": "6 months",
"maxItems": 500
}
Highest-rated air fryers by Philips or Breville with 4 stars and up:
{
"category": "Air Fryers",
"brands": ["Philips", "Breville"],
"minRating": 4,
"sortBy": "rating",
"maxItems": 50
}
Listing rows (recordType: "listing"):
| Field | Example |
|---|---|
name, brand, url | Sunbeam All-In-One Air Fryer Oven AFP5300BK |
rating, numberOfReviews, ratingDistribution, verifiedReviews | 4.8, 13, {"5": 12, ...} |
lowestPrice, rrpPrice, offers | 349, 349, retailer offers with price and link |
categoryPath, type | Products > Appliances > Air Fryers, product |
specifications, specHighlights | {"Power": 2000, "Timer": "Yes", ...} |
website, phone, email, address, openingHours | business contact details when the site shows them |
reviews, faqs | newest reviews and questions with answers |
awardYears, isDiscontinued, pictures, universalIds | award years, status, photos, MPN or barcode |
Review rows (recordType: "review"):
| Field | Example |
|---|---|
listingName, listingUrl, sourceListing | the listing the review belongs to |
rating, title, body | 1, null, "I had a disappointing experience..." |
submittedAt, firstPublishedAt | 2026-10-20T13:05:54Z |
authorName, authorLocation, author | reviewer name, region, review count |
isVerified, hasVerifiedPurchase, isIncentivised | verification flags |
numberOfLikes, images, comments, followUps | likes, photo links, brand replies, follow-up reviews |
details | the review form answers, e.g. purchase date or store location |
reviewUrl | link to the single review |
Listing example (trimmed):
{
"recordType": "listing",
"name": "Sunbeam All-In-One Air Fryer Oven AFP5300BK",
"url": "https://www.productreview.com.au/listings/sunbeam-all-in-one-air-fryer-oven-afp5300bk",
"type": "product",
"brand": "Sunbeam",
"rating": 4.8,
"numberOfReviews": 13,
"ratingDistribution": {"1": 0, "2": 0, "3": 1, "4": 0, "5": 12},
"lowestPrice": 349,
"lowestPriceFormatted": "A$349.00",
"rrpPrice": 349,
"categoryPath": "Products > Appliances > Air Fryers",
"specifications": {"Power": 2000, "Dimensions": "330 x 360 x 355", "Timer": "Yes", "Dishwasher Safe Parts": "Yes"},
"offers": [{"retailer": "Appliances Online", "price": 349, "currency": "AUD", "url": "https://..."}],
"universalIds": [{"type": "MPN", "value": "AFP5300BK"}],
"reviews": [{"rating": 3, "body": "Smells strongly out of the box...", "submittedAt": "2025-10-27T01:31:01Z",
"author": {"displayName": "Jamie K.", "locationName": "Perth, WA"}}],
"faqs": [{"question": "G'day, Wondering what the internal measurements are? Can this Sunbeam airfryer fit a large pizza?", "answer": null, "answers": []}],
"scrapedAt": "2026-10-22T01:05:33Z"
}
Review example (trimmed):
{
"recordType": "review",
"listingName": "Bunnings Warehouse",
"rating": 1,
"body": "I had a disappointing experience returning unused items...",
"submittedAt": "2026-10-20T13:05:54Z",
"authorName": "Alex P.",
"authorLocation": "Perth, WA",
"isVerified": false,
"isIncentivised": false,
"comments": [{"body": "Hi there, thank you for taking the time to share your feedback...", "author": {"displayName": "Sam W.", "isBrandManager": true}}],
"details": {"Incentivised Review": "No"},
"reviewUrl": "https://www.productreview.com.au/reviews/7a7665b9-dbdf-5cd5-a21c-9485dfb9e871"
}
You pay $1.50 per 1,000 results (one listing row or one review row is one result), with no start fee. Platform usage (compute and proxy traffic) is billed on top and is small: our 1,000-review test used about $0.002 and our 1,000-listing test about $0.03.
Example: 1,000 reviews ≈ $1.50 + $0.002 of usage. 1,000 listings with their newest reviews and FAQs ≈ $1.50 + $0.03 of usage.
Is it legal to scrape ProductReview.com.au? The actor reads only public pages that anyone can open without an account. Check the site's terms and your local laws, and handle personal data (reviewer names) responsibly.
Do I need a login or my own proxy? No. Datacenter proxies work and are the default; if the site starts refusing them the actor switches to Australian residential exits by itself.
How many results can I get? As many as the site serves. A listing's reviews come 100 at a time; for very large listings see the limits below. Set Maximum results to 0 for no limit.
Why is a field empty? The site does not show it for that listing: shops have no specifications, products rarely have phone numbers, and many reviews have no title.
Can I schedule it or use the API? Yes. Schedule runs to monitor new reviews (combine with "Only reviews published since"), or start runs and read the dataset through the API.
I used a similar actor on another platform. Will my input work? Mostly: URL lists, keywords, category slugs, sorting and review filters work the same way; check the field names in the input table above.
Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
startUrlsarrayOptionalProductReview URLs
Paste pages copied from your browser: categories (https://www.productreview.com.au/c/air-fryers), categories in a place (/c/home-garden-shops/l/victoria_au), searches (/search?q=lighting), brands (/b/breville) or single listings (/listings/bunnings-warehouse). Filters in the URL (sort, brands, rating, q, and on listings rating, isVerified, hasAttachments, sortBy) are kept. Page numbers are ignored: the actor pages through the results itself.
searchQueriesarrayOptionalSearch keywords
Search ProductReview by keyword, like the site's search box (e.g. 'robot vacuum', 'health insurance', 'Bunnings'). With a category below, the keyword narrows that category.
categorystringOptionalCategory
A category name (Air Fryers, Home & Garden Shops, Health Insurance) or its slug from a /c/ URL (air-fryers). Names are matched with the site's own search.
outputTypeenumOptionaldefault "listings"What to save
Listings: one row per product, shop or service with rating, review counts, prices, specifications, contact details, FAQs and its newest reviews. Reviews: one row per customer review with the listing it belongs to.
maxItemsintegerOptionaldefault 20Maximum results
How many rows to save in total across all inputs: listings, or reviews when 'What to save' is Reviews. 0 means no limit.
Optional. They apply to category and keyword searches and to pasted search URLs that do not set the same filter.
locationstringOptionalLocation
Only listings that serve this place: an Australian state, region or city (Victoria, Sydney, Gold Coast) or a slug from a /l/ URL (victoria_au). Applies to the category and keyword searches.
sortByenumOptionalSort listings by
Order of listings in searches. Default keeps ProductReview's own order.
brandsarrayOptionalBrands
Only listings of these brands, by name or slug (Breville, philips-domestic-appliances). A brand the site does not know is reported in the log; the search is then skipped rather than returning unfiltered results.
minRatingintegerOptionalMinimum listing rating
Only listings rated this many stars and up (1 to 4), using the site's own filter.
showDiscontinuedbooleanOptionaldefault falseInclude discontinued products
Also return products the site marks as discontinued.
Review filters apply to the reviews inside listing rows and to review rows.
embeddedReviewsintegerOptionaldefault 10Reviews inside each listing row
Listings output only: how many of each listing's reviews to include in its row (newest first, or the review order below). 0 leaves them out. Use 'What to save: Reviews' to get every review as its own row.
maxReviewsPerListingintegerOptionalMaximum reviews per listing
Reviews output only: stop each listing after this many reviews, so one big listing does not use up the whole run. Empty or 0 means no per-listing cap.
reviewRatingsarrayOptionalOnly reviews with these star ratings
Star ratings 1 to 5, e.g. 1 and 2 for complaints. Leave empty for all ratings.
reviewSortByenumOptionalSort reviews by
Order of each listing's reviews.
reviewsNewerThanstringOptionalOnly reviews published since
Only reviews published on or after this date (2026-01-31), or a relative period like '30 days' or '6 months'. With newest-first order the actor stops reading a listing at the first older review.
reviewVerifiedOnlybooleanOptionaldefault falseVerified reviews only
Only reviews the site marks as verified.
reviewsWithPhotosOnlybooleanOptionaldefault falseReviews with photos only
Only reviews with at least one photo or attachment.
reviewKeywordstringOptionalReviews mentioning
Only reviews that mention this word or phrase (the site's own review search), e.g. 'delivery' or 'customer service'.
includeFaqsbooleanOptionaldefault trueQuestions and answers
Listings output: add each listing's customer questions with the answers (up to 20 newest).
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Datacenter proxies work for ProductReview; the actor switches to Australian residential exits by itself if the site keeps refusing them.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| recordType | string | listing or review |
| id | string | null | |
| name | string | null | |
| url | string | null | |
| rating | number | null | |
| numberOfReviews | number | null | |
| body | string | null | |
| listingName | string | null |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Result | One listing or one review saved to the dataset. | $0.0015 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('cornerledger/productreview-scraper').call({
"startUrls": [
"https://www.productreview.com.au/c/air-fryers"
],
"maxItems": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run cornerledger/productreview-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=cornerledger/productreview-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
All customer reviews of Bunnings Warehouse as separate rows, newest first: rating, text, date, author, verified flags, photos and the company's replies.
Air fryers by number of reviews, each with rating, star breakdown, prices, specifications, retailer offers, FAQs and its 10 newest reviews.
Lighting shops serving Victoria with rating, review counts, website, phone and their newest reviews.
Only the negative reviews of a shop, newest first, for complaint monitoring.
Philips air fryers rated 4 stars and up, highest rated first, without embedded reviews.
The 5 newest reviews of every health insurance fund in the category, as review rows.

Scrape Google Maps places for any search term and city, with no code or with one API call. A real run, its output, its log and its exact cost, plus the limits and the legal side.
Read the article
Paste an Amazon search or product URL into a ready-made Actor and get one row per product with price, ASIN, rating and review count. This guide covers the no-code steps, the API, ZIP code pricing, a real run and its cost.
Read the article
Scrape Google search results by query and country and get each results page as JSON: organic results with positions, People Also Ask and related searches. Run it without code or from Python, with a real run, the cost per page and Google's terms.
Read the articleScrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.