ConsumerAffairs Reviews Scraper avatar

ConsumerAffairs Reviews Scraper

Pricing

from $4.39 / 1,000 reviews

Go to Apify Store
ConsumerAffairs Reviews Scraper

ConsumerAffairs Reviews Scraper

Scrape ConsumerAffairs reviews for any company: rating, full text, author, location, date, topics, verified badge, and company replies, plus company rating, review count, and profile. Export JSON, CSV, Excel.

Pricing

from $4.39 / 1,000 reviews

Rating

0.0

(0)

Developer

ParseBird

ParseBird

Maintained by Community

Actor stats

1

Bookmarked

3

Total users

2

Monthly active users

3 days ago

Last modified

Categories

Share

ConsumerAffairs Reviews Scraper

Scrape ConsumerAffairs reviews for any company — star rating, full review text, author, location, date, topics, verified badge, and the company's reply — plus each company's overall rating, total review count, and profile. Export to JSON, CSV, or Excel, or use the API.

Paste ConsumerAffairs company URLs, sort by recent, top, helpful, or oldest, filter by star rating or date, and get every review with full text and company responses — handled behind ConsumerAffairs' PerimeterX bot protection with residential proxies.

Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

Use the Apify Actor "parsebird/consumeraffairs-scraper" to scrape customer reviews and company profiles from ConsumerAffairs.com. Call it with the ApifyClient: from apify_client import ApifyClient; client = ApifyClient("<APIFY_TOKEN>"); run = client.actor("parsebird/consumeraffairs-scraper").call(run_input={"companyUrls": ["https://www.consumeraffairs.com/insurance/geico.htm", "auto_warranty/carshield"], "maxReviewsPerCompany": 200, "sortBy": "recent"}); reviews = client.dataset(run["defaultDatasetId"]).list_items().items. Key inputs: companyUrls (array of strings, required, full ConsumerAffairs company URLs or paths like "insurance/geico"), maxReviewsPerCompany (integer, default 100, 0 = all), sortBy ("recent" | "top_reviews" | "most_helpful" | "oldest", default "recent"), ratingFilter (array of "1"-"5"), reviewsNewerThan (date "YYYY-MM-DD"), includeCompanyProfile (boolean, default true), maxPagesPerCompany (integer, default 50), maxRequestsPerCrawl (integer, default 1000), proxy (object, default Apify RESIDENTIAL US). Review fields (default dataset): type, companyName, companySlug, companyUrl, category, reviewId, rating, reviewText, authorName, authorLocation, authorImageUrl, publishedDate, publishedDateText, topics, complaintCategory, verified, verifiedLabel, resolutionStatus, companyReply, companyReplyBy, companyReplyDate, companyReplyDateText, reviewUrl, pageNumber, sortBy, scrapedAt. Company profile fields ("companies" dataset of the run): companyName, companySlug, companyUrl, category, categoryUrl, overallRating, totalReviews, ratingDistribution, accredited, logoUrl, popularMentions, companyType, yearFounded, address, city, state, postalCode, country, website, socialMedia. Full API docs: https://apify.com/parsebird/consumeraffairs-scraper/api — get a token at https://console.apify.com/settings/integrations

What is ConsumerAffairs Reviews Scraper?

ConsumerAffairs is a US consumer review platform with more than 3 million consumer reviews of insurers, home warranty providers, auto warranty companies, lenders, retailers, and other businesses. ConsumerAffairs Reviews Scraper turns those review pages into structured data: one row per review, plus one profile per company.

The easiest way to try it: paste a company page such as https://www.consumeraffairs.com/insurance/geico.htm into Company URLs and click Start. ConsumerAffairs has no public reviews API, so this Actor works as a ConsumerAffairs API alternative.

What can ConsumerAffairs Reviews Scraper do?

  • 🔗 Scrape any company — paste full URLs (https://www.consumeraffairs.com/insurance/geico.htm) or short paths (insurance/geico, auto_warranty/carshield)
  • 📝 Full review text — the complete review, not the truncated preview, with paragraph breaks kept
  • 💬 Company replies — the response text, who replied, the reply date, and the resolution status label
  • ⭐ Sort and filter like the website — most recent, top reviews, most helpful, or oldest; any combination of 1–5 star ratings
  • 📅 Date cut-off for monitoring — collect only reviews newer than a date; with "Most recent" sorting the Actor stops paging once it reaches older reviews
  • 🏢 Company profiles — overall rating, total reviews, star breakdown, accreditation, popular mentions, address, website, and social links
  • 🛡️ Bot protection handled — ConsumerAffairs uses PerimeterX; the Actor uses residential proxies and switches IP automatically when one is blocked
  • ⏱️ Scheduling, API, and integrations — run on a schedule, call it from the Apify API, and send results to Google Sheets, Slack, Make, or Zapier with integrations

What data can you extract from ConsumerAffairs?

Reviews (default dataset):

FieldDescription
ratingStar rating 1–5 (null when ConsumerAffairs shows no stars, mostly on older reviews)
reviewTextFull review text
authorName / authorLocationReviewer name and city, state
publishedDate / publishedDateTextReview date as YYYY-MM-DD and as shown on the site
topics / complaintCategoryTopic tags such as Customer Service, Billing, Price (list and comma-separated text)
verified / verifiedLabelWhether the review carries a verified badge, e.g. "Verified purchase"
resolutionStatusResolution label when shown, e.g. "Resolution In Progress"
companyReply / companyReplyBy / companyReplyDateThe company's response, its heading, and its date
reviewId / reviewUrlConsumerAffairs review ID and the company page link with the review's anchor
companyName / companySlug / companyUrl / categoryThe company the review belongs to

Company profiles (companies dataset):

FieldDescription
overallRating / totalReviewsAverage star rating and total review count
ratingDistributionNumber of reviews for each star rating
accreditedWhether the company is ConsumerAffairs accredited
popularMentionsTopics ConsumerAffairs highlights for the company
category / categoryUrlConsumerAffairs category
companyType / yearFoundedCompany type and founding year, when listed
address / city / state / postalCode / countryCompany address, when listed
website / socialMedia / logoUrlWebsite, social profiles, and logo

How to scrape ConsumerAffairs reviews

  1. Open ConsumerAffairs Reviews Scraper in Apify Console and click Try for free (an Apify account is required).
  2. Find the company on consumeraffairs.com and copy the page address, e.g. https://www.consumeraffairs.com/insurance/geico.htm.
  3. Paste one or more addresses into Company URLs.
  4. Set Max reviews per company (0 for all), and optionally a sort order, star ratings, or a Reviews newer than date.
  5. Click Start.
  6. Download reviews from the Output tab in JSON, CSV, Excel, HTML, or XML. Company profiles are in the run's companies dataset (Storage tab).

Input parameters

ParameterTypeRequiredDefaultDescription
companyUrlsstring[]Yes—ConsumerAffairs company URLs or paths, e.g. insurance/geico or https://www.consumeraffairs.com/auto_warranty/carshield.html
maxReviewsPerCompanyintegerNo100Maximum reviews per company. 0 = all reviews
sortBystringNorecentrecent, top_reviews, most_helpful, or oldest
ratingFilterstring[]NoallStar ratings to keep, e.g. ["1", "2"]
reviewsNewerThanstringNo—Keep only reviews published on or after this date (YYYY-MM-DD)
includeCompanyProfilebooleanNotrueSave one profile per company to the companies dataset
maxPagesPerCompanyintegerNo50Safety cap on review pages per company (1–500)
maxRequestsPerCrawlintegerNo1000Safety cap on page requests for the whole run, including retries
debugSaveHtmlbooleanNofalseSave raw page HTML to the key-value store for debugging
proxyobjectNoApify RESIDENTIAL (US)Proxy settings. Residential proxies are recommended; datacenter IPs are blocked by PerimeterX

Example inputs

The 100 most recent reviews for two companies:

{
"companyUrls": [
"https://www.consumeraffairs.com/insurance/geico.htm",
"auto_warranty/carshield"
],
"maxReviewsPerCompany": 100
}

Every 1- and 2-star review for American Home Shield:

{
"companyUrls": ["insurance/am_home"],
"ratingFilter": ["1", "2"],
"maxReviewsPerCompany": 0,
"maxPagesPerCompany": 500
}

Weekly monitoring of new reviews (schedule this run):

{
"companyUrls": ["insurance/geico", "homeowners/choice_home_warranty"],
"sortBy": "recent",
"reviewsNewerThan": "2026-10-01",
"maxReviewsPerCompany": 0
}

Output example

Review:

{
"type": "review",
"companyName": "CarShield",
"companySlug": "auto_warranty/carshield",
"companyUrl": "https://www.consumeraffairs.com/auto_warranty/carshield.html",
"category": "Extended Auto Warranties",
"reviewId": "14064982",
"rating": 5,
"reviewText": "Enrolling with CarShield was easy. The initial price was good, but it's still a hardship this day and age to pay that price every month. But it will take care of parts in the car that break down. That's the biggest benefit of having that financial backup. Get it. It's worth the sacrifice.",
"authorName": "Ciello",
"authorLocation": "Miami, FL",
"authorImageUrl": null,
"publishedDate": "2026-10-01",
"publishedDateText": "Oct. 1, 2026",
"topics": ["Price", "Maintenance", "Staff", "Rates"],
"complaintCategory": "Price, Maintenance, Staff, Rates",
"verified": true,
"verifiedLabel": "Verified purchase",
"resolutionStatus": null,
"companyReply": "Thank you for the recommendation, Ciello! We’re happy that signing up was easy and that your coverage gives you added reassurance. We also hear your concerns about the monthly cost, and you’re welcome to contact us to review any options available for your budget.",
"companyReplyBy": "Response from CarShield",
"companyReplyDate": "2026-10-02",
"companyReplyDateText": "Oct. 2, 2026",
"reviewUrl": "https://www.consumeraffairs.com/auto_warranty/carshield.html#review-14064982",
"pageNumber": 1,
"sortBy": "recent",
"scrapedAt": "2026-10-11T05:11:32.490Z"
}

Company profile:

{
"type": "company",
"companyName": "CarShield",
"companySlug": "auto_warranty/carshield",
"companyUrl": "https://www.consumeraffairs.com/auto_warranty/carshield.html",
"category": "Extended Auto Warranties",
"categoryUrl": "https://www.consumeraffairs.com/auto_warranty/",
"overallRating": 4.07,
"totalReviews": 10637,
"ratingDistribution": { "5": 7698, "4": 760, "3": 451, "2": 271, "1": 1457 },
"accredited": true,
"logoUrl": "https://cdn-mediahub.consumeraffairs.com/carshield_high_png_14rwqlp/o/130/x.webp",
"popularMentions": ["Staff", "Customer Service", "Coverage", "Tech", "Price", "Punctuality & Speed"],
"companyType": "Private",
"yearFounded": 2005,
"address": "333 Mid Rivers Mall Dr",
"city": "Saint Peters",
"state": "MO",
"postalCode": "63376",
"country": "United States",
"website": "https://carshield.com",
"socialMedia": {
"facebook": "https://www.facebook.com/carshield",
"twitter": "https://twitter.com/carshield",
"linkedin": "https://www.linkedin.com/company/carshield",
"youtube": "https://www.youtube.com/channel/UCj_zlCEXStYHykMV6WfUZ5Q"
},
"scrapedAt": "2026-10-11T05:11:31.154Z"
}

Use ConsumerAffairs Reviews Scraper through the API

Python (apify-client):

from apify_client import ApifyClient
client = ApifyClient("<APIFY_TOKEN>")
run = client.actor("parsebird/consumeraffairs-scraper").call(run_input={
"companyUrls": ["insurance/geico", "auto_warranty/carshield"],
"maxReviewsPerCompany": 200,
"sortBy": "recent",
})
for review in client.dataset(run["defaultDatasetId"]).iterate_items():
print(review["companyName"], review["rating"], review["publishedDate"], review["reviewText"][:80])

JavaScript (apify-client):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<APIFY_TOKEN>' });
const run = await client.actor('parsebird/consumeraffairs-scraper').call({
companyUrls: ['insurance/geico', 'auto_warranty/carshield'],
maxReviewsPerCompany: 200,
sortBy: 'recent',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((r) => console.log(r.companyName, r.rating, r.publishedDate));

See the API tab for endpoints and more examples.

Use cases

  • Reputation monitoring — track new reviews and ratings for your company or competitors on a schedule
  • Customer experience research — find recurring complaints by topic (billing, claims, customer service)
  • Competitor benchmarking — compare ratings, rating breakdowns, and reply rates across companies in a category
  • Sentiment analysis and AI — feed full review text into NLP models, LLMs, or dashboards
  • Response tracking — measure how often and how fast companies reply to reviews
  • Market and due-diligence research — review histories for insurers, warranty providers, lenders, and other consumer businesses

How it works

  1. For each company, the Actor loads the ConsumerAffairs company page and reads the profile: rating, review count, breakdown, and company information.
  2. It loads the company's review list page by page with your sort order and star filter, exactly as the website does, and stops at the last page.
  3. Each review is parsed into a row with its full text and company reply, and saved as soon as its page is processed.
  4. Requests go through residential proxies. When PerimeterX blocks an IP, the Actor switches to a new one and retries.

How much does it cost to scrape ConsumerAffairs reviews?

ConsumerAffairs Reviews Scraper uses pay-per-event pricing: you pay for each review and each company profile saved. Compute and residential proxy costs are included in the event price.

EventFreeBronzeSilverGold
Review scraped (per 1,000)$4.99$4.79$4.59$4.39
Company profile scraped (per 1,000)$1.99$1.79$1.59$1.39

For example, 1,000 reviews from one company cost about $5.00 on the Free plan ($4.99 for reviews plus $0.002 for the profile). Apify accounts include monthly platform usage credits, and you can set a maximum spend per run — the Actor stops when the limit is reached.

Scraping publicly available data, such as reviews anyone can read without logging in, is generally legal in the US and many other jurisdictions. This Actor only collects data from public ConsumerAffairs pages and does not log in. Reviews include reviewer names and locations, which can be personal data: process it lawfully (for example under GDPR or CCPA) and review ConsumerAffairs' terms before use. Read more in Apify's guide: Is web scraping legal?

Other review scrapers

FAQ

Do I need a ConsumerAffairs account or API key? No. The Actor reads public ConsumerAffairs pages. You only need an Apify account.

How do I find a company's URL? Search for the company on consumeraffairs.com and copy the address of its review page, e.g. https://www.consumeraffairs.com/insurance/geico.htm. You can also paste just the path (insurance/geico); the .html or .htm ending is optional.

Can I scrape all reviews of a company? Yes. Set maxReviewsPerCompany to 0 and raise maxPagesPerCompany if needed. Later pages hold up to 150 reviews each. In our tests, all 5,585 listed GEICO reviews were collected in about 2 minutes.

Why do some reviews have rating: null? ConsumerAffairs doesn't display a star rating on some reviews, mostly older ones. The Actor returns what the page shows rather than guessing.

Why is there no review title? ConsumerAffairs reviews don't have titles — only the review text. Use topics for a quick summary of what a review is about.

Why aren't dates always in perfect order? ConsumerAffairs sorts by when a review was created, while the displayed date can differ by a few days. The Actor keeps the site's order. With reviewsNewerThan, it only stops after a whole page has no newer reviews, so these small differences don't cause missed reviews.

Where are the company profiles? In the run's companies dataset (Storage tab in Console), so review and company rows each get a clean table. Every review row also includes companyName, companyUrl, and category. Set includeCompanyProfile to false to skip profiles.

Why does the Actor use residential proxies? ConsumerAffairs is protected by PerimeterX, which blocks datacenter IPs. Residential IPs work, and the Actor switches IPs automatically when one gets blocked. The proxy cost is included in the price.

Can I schedule runs and get alerts for new reviews? Yes. Schedule the Actor with sortBy: "recent" and reviewsNewerThan, then connect integrations like Slack, Google Sheets, or Zapier.

Can I use it with AI agents? Yes. Copy the AI assistant block above into ChatGPT, Claude, or Cursor, or connect the Actor through the Apify MCP server.

Found a bug or need a new field? Open an issue on the Actor's Issues tab — feedback is welcome.