ConsumerAffairs Reviews Scraper
Pricing
from $3.00 / 1,000 reviews
ConsumerAffairs Reviews Scraper
Scrape ConsumerAffairs.com reviews by company URL or just the company name. Get star rating, full text, date, reviewer city, verified-buyer badge, topic tags, photos and the company's reply, plus overall rating and star breakdown. Sort by newest, filter by stars, set a date cutoff.
Pricing
from $3.00 / 1,000 reviews
Rating
0.0
(0)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
3
Monthly active users
3 days ago
Last modified
Categories
Share
Export every customer review of any company on ConsumerAffairs.com, with star rating, full text, date, reviewer city, verified-buyer badge, topic tags, photos and the company's public reply.
Paste a company URL or just type the company name. Get the newest reviews, only the 1-star complaints, or everything since a date, as JSON, CSV or Excel.

Why Use This Scraper?
- Company name or URL. Type "CarShield" or "Choice Home Warranty" and the scraper finds the right ConsumerAffairs profile for you. Full URLs and short paths (
insurance/geico) work too. - Full review text. Long reviews are captured in full, including the part hidden behind "More".
- Company replies included. The brand's public response, its author and timestamp, plus the "Resolution In Progress" status where ConsumerAffairs shows one.
- Filters that run on the site. Sort by newest, oldest, most helpful or top reviews; pull only selected star ratings; stop at a date cutoff. Sorting and star filtering happen on ConsumerAffairs itself, and a date cutoff ends the walk, so you don't pay for reviews you would throw away.
- Company context on every row. Overall rating, total ratings, the 5→1 star breakdown, accreditation and category travel with each review, so a single CSV is ready for analysis.
- Complete runs. Every page is retried on a fresh residential IP until it loads, and reviews are de-duplicated, so a 880-review company returns 880 reviews.
- No browser, no setup. Plain HTTP with residential proxies already configured.
Overview
ConsumerAffairs.com is one of the largest US consumer review sites, with millions of reviews of insurers, home warranty companies, lenders, movers, solar installers, retailers and more. Many of those companies answer reviews publicly, and accredited brands mark buyers as verified.
This actor is for anyone who needs those reviews as data: reputation and CX teams tracking their own brand, analysts comparing competitors, researchers studying complaints, and agencies reporting to clients.
Dataset shape: one row per review. Each row carries the review itself (stars, text, date, reviewer, verified flag, topic tags, photos, company reply) and the company it belongs to (name, rating, ratings count, star breakdown, category, accreditation). There are no separate company rows, so you are only billed for reviews.
Supported Inputs
Company page URLs
Any ConsumerAffairs company review page. The category part of the path varies by industry.
https://www.consumeraffairs.com/insurance/geico.htmlhttps://www.consumeraffairs.com/auto_warranty/carshield.htmlhttps://www.consumeraffairs.com/homeowners/choice_home_warranty.htmlhttps://www.consumeraffairs.com/online/ancestry.html
Old .htm addresses, ?page=3 style query strings and #review-… anchors are cleaned up automatically. Short paths such as insurance/geico or /solar-energy/sunrun.html work as well.
Company names
Put names in companyNames, e.g. ["CarShield", "Sunrun", "Amazon"]. The scraper matches each name against the ConsumerAffairs site index, opens the best candidates and keeps the first one that is a real company review page. The other close matches are printed in the run log.
Some brands have several profiles (State Farm has separate pages for auto, home and banking; Liberty Mutual's main page is insurance/liberty_auto.html). For those, pass the exact URL.
Unsupported inputs
- Category and "best of" guide pages (
/insurance/car.html,/awards/...). These are editorial articles, not review lists. - News articles, city guides and comparison pages (
geico-vs-progressive-vs-state-farm.html). - Review pages of other sites.
Use Cases
| Who | What they do with it |
|---|---|
| Reputation and CX teams | Track new reviews and complaints for their own brand every week |
| Competitive intelligence | Compare star ratings, complaint topics and reply rates across rivals |
| Product and service teams | Mine 1- and 2-star reviews for recurring problems (claims, billing, staff) |
| Market researchers | Build review datasets for an industry: home warranties, solar, insurance, lenders |
| Agencies | Produce monthly review reports for clients without copy-pasting |
| Data science and AI | Sentiment analysis, topic modelling, LLM training and RAG over real customer feedback |
How It Works
- Resolve inputs. URLs are normalised; company names are matched against the ConsumerAffairs sitemap and confirmed by opening the page.
- Read the company header. The first page gives the company rating, ratings count, star breakdown, category and accreditation.
- Walk the review pages. Pages are fetched in parallel with your sort order, star filter and date cutoff applied by the site itself.
- Handle bot protection. Each request goes out on a fresh residential IP; a blocked request is retried on another one.
- Save one row per review. Reviews are de-duplicated and pushed to the dataset as they arrive.
Input Configuration
Input fields
| Field | Type | Default | Description |
|---|---|---|---|
companyUrls | array of strings | [] | ConsumerAffairs company review pages: full URLs or short paths like insurance/geico. |
companyNames | array of strings | [] | Company names to look up, e.g. "CarShield". Best match is used. |
maxReviewsPerCompany | integer | 100 | Reviews to collect per company. 0 = all of them. |
sortBy | string | recent | recent, top_reviews (the site's default order), helpful or oldest. |
starRatings | array of strings | [] | Only these ratings, e.g. ["1","2"]. Empty = all ratings. |
reviewsSince | string | none | Drop older reviews. 2026-01-31 or a period like 30 days, 6 months, 1 year. |
maxItems | integer | 0 | Cap on reviews for the whole run across all companies. 0 = no extra cap. |
flatten | boolean | false | Turn nested fields into flat columns (companyReply_text, companyRatingBreakdown_5) for spreadsheets. |
maxConcurrency | integer | 8 | Review pages fetched in parallel per company (1–32). |
maxRequestRetries | integer | 8 | Attempts per page before it is skipped (1–20). |
proxy | object | Apify Residential US | Residential proxies are required; datacenter IPs are blocked. |
At least one of companyUrls or companyNames is required.
Common scenarios
Latest 200 reviews of one company
{"companyUrls": ["https://www.consumeraffairs.com/insurance/geico.html"],"maxReviewsPerCompany": 200,"sortBy": "recent"}
Complaints from the last 90 days for several competitors, by name
{"companyNames": ["CarShield", "Endurance Warranty", "American Dream Auto Protect"],"starRatings": ["1", "2"],"reviewsSince": "90 days","maxReviewsPerCompany": 0,"sortBy": "recent"}
Every review of a company, flattened for Excel
{"companyUrls": ["online/ancestry"],"maxReviewsPerCompany": 0,"sortBy": "oldest","flatten": true}
Output Overview
Every dataset item is one review. Fields fall into three groups:
- The review:
reviewId,reviewUrl,rating,text,reviewDate(ISO) andreviewDateRaw(as shown), reviewerauthorName/authorLocation/authorAvatarUrl,verifiedPurchase,aspectTags,photos. - The company's response:
companyReply(author,date,text) ornull,resolutionStatus, andfeaturedLabelwhen the company pinned the review. - The company:
companyName,companyUrl,companyId,companyRating,companyRatingCount,companyRatingBreakdown(counts for 5→1 stars),companyAccredited,companyCategory,companyCategoryUrl,companyLogoUrl. - Run context:
input(the URL or name you gave),sortBy,starFilter,page,scrapedAt.
With flatten: true, companyReply becomes companyReply_author / companyReply_date / companyReply_text and the breakdown becomes companyRatingBreakdown_1 … _5.
Output Samples
Review with a company reply (input: company name "CarShield", sort: recent)
{"reviewId": "14053242","reviewUrl": "https://www.consumeraffairs.com/auto_warranty/carshield.html#review-14053242","rating": 5,"text": "Excellent customer service. Provided great options to handle matter.","reviewDate": "2026-09-14","reviewDateRaw": "Sept. 14, 2026","authorName": "Leroy","authorLocation": "Annandale, VA","authorAvatarUrl": null,"verifiedPurchase": true,"aspectTags": ["Customer Service", "Staff"],"photos": [],"companyReply": {"author": "CarShield","date": "2026-09-15T15:48:08Z","text": "Leroy, It's great to hear that you had a positive experience with our Customer Service Department! Please reach out if you need further assistance."},"resolutionStatus": null,"featuredLabel": null,"companyName": "CarShield","companyUrl": "https://www.consumeraffairs.com/auto_warranty/carshield.html","companyRating": 4.03,"companyRatingCount": 10588,"companyRatingBreakdown": { "1": 1455, "2": 267, "3": 449, "4": 753, "5": 7664 },"companyAccredited": true,"companyCategory": "Extended Auto Warranties","companyCategoryUrl": "https://www.consumeraffairs.com/auto_warranty/","companyLogoUrl": "https://cdn-mediahub.consumeraffairs.com/carshield_high_png_14rwqlp/o/130/x.webp","companyId": "18054","input": "CarShield","sortBy": "recent","starFilter": null,"page": 1,"scrapedAt": "2026-10-03T12:06:14.086Z"}
1-star review, no reply (input: GEICO URL, trimmed to the review fields)
{"reviewId": "14064564","rating": 1,"text": "They would get a negative one if possible. Customer service is nonexistent. They don't care about the insured. After an accident- over 2 months to get an estimate. Ridiculous. And their prices are absolutely terrible.","reviewDate": "2026-09-30","authorName": "LuAnn","authorLocation": "Gardner, MA","verifiedPurchase": false,"aspectTags": ["Customer Service", "Coverage", "Price", "Staff", "Rates"],"photos": [],"companyReply": null,"companyName": "GEICO","companyRating": 1.34,"companyRatingCount": 5584,"companyAccredited": false,"companyCategory": "Car Insurance"}
Key Output Fields
Review
reviewId, reviewUrl, rating (1–5), text (full, paragraphs separated by blank lines), reviewDate, reviewDateRaw
Reviewer
authorName (first name as published), authorLocation (city, state), authorAvatarUrl, verifiedPurchase
Topics and media
aspectTags (ConsumerAffairs' own topic labels such as "Claims Handling", "Price", "Staff"), photos (full-size image URLs attached to the review)
Company response
companyReply.author, companyReply.date, companyReply.text, resolutionStatus, featuredLabel
Company
companyName, companyId, companyUrl, companyRating, companyRatingCount, companyRatingBreakdown, companyAccredited, companyCategory, companyCategoryUrl, companyLogoUrl
Run context
input, sortBy, starFilter, page, scrapedAt
FAQ
Which ConsumerAffairs pages are supported?
Company review pages, the ones that list customer reviews with stars, such as /insurance/geico.html. Guides, "best of" lists and news articles are not review pages and are skipped.
Can I search by company name?
Yes, with companyNames. If a brand has several ConsumerAffairs profiles, the best match is used and the alternatives are listed in the run log. Pass the URL when you need a specific one.
Why does the number of reviews differ from the rating count on the site?
The header count includes star ratings left without a written review on some profiles. The scraper returns every written review that ConsumerAffairs lists. On the profiles we tested the two numbers matched exactly.
Why are the first few reviews older than the rest when sorting by newest?
Accredited companies can pin "featured" reviews above the list. They are real reviews and are kept; you can spot them by featuredLabel (e.g. "Review featured by CarShield"). The date cutoff ignores them when deciding where to stop.
How does the date cutoff work?
reviewsSince drops every review older than the date. With sortBy: "recent" the scraper also stops paging once it passes the date, so you are not charged for pages you don't need.
Does it get the reviewer's full name or contact details?
No. ConsumerAffairs publishes a first name and a city, and that is what you get. The scraper does not collect emails, phone numbers or anything behind a login.
Why do I need residential proxies?
ConsumerAffairs uses bot protection that blocks datacenter IPs after a few requests. The actor defaults to Apify Residential (US) and retries blocked pages automatically.
What happens if a page cannot be loaded?
It is retried on new IPs up to maxRequestRetries times. If it still fails, it is skipped, logged, and the run continues with the next page. The run's status message says how many pages were unreachable.
Is there a free tier?
Free Apify plans get up to 100 reviews per run, enough to test any company.
Support
For custom solutions, bulk scraping, or support:
- Email: muhamed.didovic@gmail.com
- Website: https://muhamed-didovic.github.io/
- Issues: use the Issues tab on this actor's page
- Apify Support: contact through the Apify platform
Additional Services
Need scheduled exports to Google Sheets, a combined dataset across ConsumerAffairs, Trustpilot and BBB, sentiment or topic tagging, or a custom field? Email muhamed.didovic@gmail.com with what you need.
Explore More Scrapers
If you found this Apify Scraper useful, check out the other scrapers and actors at memo23's Apify profile. Review scrapers from the same author with the same export style:
- Trustpilot: apify.com/memo23/trustpilot-scraper-ppe
- G2: apify.com/memo23/g2-scraper
- Yelp: apify.com/memo23/yelp-scraper
🤖 For AI Agents & LLM Apps
Compact reference for AI agents calling this actor via the Apify MCP server or the Apify API (actor: memo23/consumeraffairs-reviews-scraper).
Purpose: Returns customer reviews from ConsumerAffairs.com company pages, one row per review, with the company's rating and star breakdown on every row. Plain HTTP with residential proxies; no browser needed.
Minimal input:
{"companyNames": ["CarShield"],"maxReviewsPerCompany": 20}
URL form: { "companyUrls": ["https://www.consumeraffairs.com/insurance/geico.html"], "maxReviewsPerCompany": 20 }.
Output fields: reviewId, reviewUrl, rating, text, reviewDate, reviewDateRaw, authorName, authorLocation, authorAvatarUrl, verifiedPurchase, aspectTags, photos, companyReply {author, date, text}, resolutionStatus, featuredLabel, companyName, companyId, companyUrl, companyRating, companyRatingCount, companyRatingBreakdown {1..5}, companyAccredited, companyCategory, companyCategoryUrl, companyLogoUrl, input, sortBy, starFilter, page, scrapedAt.
Behaviors an agent should know:
companyUrlsandcompanyNamescan be mixed; a bare word incompanyUrls(e.g."geico") is treated as a name. Unmatched names are reported in the run status message, not as an error.sortBydefaults torecent.starRatingstakes strings"1"–"5".reviewsSinceacceptsYYYY-MM-DDorN days|weeks|months|years.maxReviewsPerCompanydefaults to 100;0means all reviews.maxItemscaps the whole run.- Pinned "featured" reviews can appear first regardless of sort; they have a non-null
featuredLabel. - Billing is pay-per-event: a small actor-start fee plus one charge per review row saved. Free plans are capped at 100 reviews per run.
⚠️ Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Consumers Unified, LLC (ConsumerAffairs) or any of its subsidiaries. All trademarks mentioned are the property of their respective owners.
The scraper accesses only publicly available company review pages. It does not log in, use authenticated endpoints, or access content behind the ConsumerAffairs account wall. Reviewer names are published by ConsumerAffairs as first names only. Users are responsible for making sure their use complies with ConsumerAffairs' Terms of Service, applicable data-protection law (GDPR, CCPA, etc.), and any contractual obligations of their own organization.
SEO Keywords
consumeraffairs scraper, consumeraffairs reviews scraper, consumeraffairs.com reviews, consumer affairs reviews export, consumeraffairs api, customer reviews scraper, company reviews scraper, review data extraction, complaint data scraper, negative reviews export, reputation monitoring, review monitoring tool, competitor review analysis, customer feedback data, sentiment analysis dataset, insurance reviews scraper, home warranty reviews, extended car warranty reviews, solar company reviews, mortgage lender reviews, moving company reviews