ReclameAqui Scraper
Pricing
from $40.00 / 1,000 complaints
ReclameAqui Scraper
[💰 $40.0 / 1K] Extract consumer complaints, ratings, response rates, and reputation data from ReclameAqui (Brazil). Search by company slug or URL, filter by status and date, and pull complaint text, status, rating, and views per item across any Brazilian brand.
Pricing
from $40.00 / 1,000 complaints
Rating
0.0
(0)
Developer
SolidCode
Actor stats
0
Bookmarked
3
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Pull consumer complaints, brand reputation scores, response rates, and resolution rates from ReclameAqui — Brazil's largest consumer complaints platform — with full complaint text, status, category, city, state, and posted date on every row. Built for Brazilian-market researchers, brand-monitoring teams, BPO and customer-service agencies, fintech compliance teams, and journalists who need a clean reclamacao dataset without paginating through thousands of profile pages by hand.
Why This Scraper?
- Multi-brand sweeps in a single run — fan out across 50 fintechs at 500 complaints each for a 25,000-row dataset, or chain telecoms, retailers, and airlines in one input array.
- Up to 500 most-recent complaints per company — that's ReclameAqui's own pagination ceiling, fetched in full with category, product, problem, body, status, location, and posted date on every row.
- Pre-computed reputation in one row — every company emits a free profile row with its 6-month ReclameAqui score (0–10), response rate %, resolution rate %, average response time in hours, RA status badge (RA1000, RA200, etc.), lifetime complaint count, and 6-month complaint count.
- All three native ReclameAqui status filters — Respondidas (answered), Não respondidas (not answered), and Pendentes (awaiting consumer reply). Multi-select runs fetch each status separately and merge the results.
- Free-text complaint search across the entire platform — pass a
searchQuerylike "atraso entrega" or "cobrança indevida" to surface every matching complaint across all brands in one sweep. - Slug or full-URL inputs accepted — paste
nubank,bradesco, orhttps://www.reclameaqui.com.br/empresa/magazine-luiza-loja-online/straight from your browser bar; both forms work. - Smart date filtering with early-stop pagination — bound a run with
dateFrom/dateToand the scraper stops requesting older pages once the cutoff is crossed, saving credits on long-tail queries. - Localized PT status labels with resolution flag — every complaint carries a human-readable status like
Respondida • ResolvidaorRespondida • Não resolvidaso you can split answered-but-unresolved from genuinely closed cases. - Resolved category, product, and problem labels — every complaint comes with the human-readable category (e.g. "Cartões"), product, and problem strings, not opaque IDs.
- Company stats included free — only complaint rows count toward your bill; profile rows are bundled at no charge.
Use Cases
Brand Monitoring & Reputation Management
- Track week-over-week complaint volume on your own brand
- Compare your response rate, resolution rate, and RA score against direct competitors
- Detect a sudden surge in complaints tied to a product launch or pricing change
- Identify the top 5 problem categories driving negative sentiment
Customer Service & Operations
- Surface every "Não respondida" complaint older than 7 days and route to your CS queue
- Measure average response time vs. peers in your segment
- Mine complaint titles to refine your IVR taxonomy and FAQ coverage
- Build city/state heat maps of where complaints concentrate
Lead Generation for BPO and CX Agencies
- Find Brazilian brands with response rates under 60% — they need your contact-center help
- Build a target list of companies with thousands of unanswered complaints
- Pitch RA1000-aspirant companies before they hit the badge
Fintech & Compliance Risk
- Monitor complaint patterns at competing fintechs and digital banks
- Flag fraud, "cobrança indevida", and "cartão clonado" mentions for KYC/AML review
- Build risk dashboards on payment processors, neobanks, and credit-card issuers
Market Research & Consumer Insights
- Quantify pain points across e-commerce, retail, telecom, banking, airlines
- Compare delivery complaints across Mercado Livre, Magazine Luiza, and Amazon Brazil
- Track regional complaint patterns by city and state
Legal, Journalism & Academic Research
- Pull case studies for class-action research with full complaint text and dates
- Sample a brand's complaint corpus for investigative reporting
- Build labelled datasets of consumer Portuguese for NLP and sentiment work
Getting Started
Single Brand — Most Recent 100
The simplest run — one company slug, default cap:
{"companies": ["nubank"]}
Multi-Brand With Status Filter
Track unanswered complaints across three banks at once:
{"companies": ["nubank", "itau", "bradesco"],"statusFilter": ["NOT_ANSWERED"],"maxComplaintsPerCompany": 200}
Date-Bounded Free-Text Search
Find every complaint mentioning "atraso entrega" posted in the last quarter, across all brands:
{"searchQuery": "atraso entrega","dateFrom": "2026-01-01","dateTo": "2026-03-31","maxResults": 2000}
Full-URL Input + Comprehensive Audit
Paste a profile URL directly; pull both answered and pending complaints up to the platform ceiling:
{"companies": ["https://www.reclameaqui.com.br/empresa/magazine-luiza-loja-online/","mercado-livre"],"statusFilter": ["ANSWERED", "PENDING"],"dateFrom": "2025-01-01","maxComplaintsPerCompany": 500,"maxResults": 10000,"includeCompanyStats": true}
Input Reference
What to Scrape
| Parameter | Type | Default | Description |
|---|---|---|---|
companies | string[] | ["nubank"] | Company slugs (e.g. nubank, itau, bradesco) or full ReclameAqui profile URLs. Both forms are accepted and combined with the search query below. |
searchQuery | string | "" | Free-text keyword search across every complaint on ReclameAqui. Run alongside companies or on its own. |
Filters
| Parameter | Type | Default | Description |
|---|---|---|---|
statusFilter | select[] | [] (all) | Restrict by status: Respondidas (Answered by company), Não respondidas (Not answered), Pendentes (Awaiting consumer reply). Multi-select supported. |
dateFrom | string | null | Lower date bound, format YYYY-MM-DD. The scraper stops paginating once it walks past this cutoff. |
dateTo | string | null | Upper date bound, format YYYY-MM-DD. |
Limits
| Parameter | Type | Default | Description |
|---|---|---|---|
maxComplaintsPerCompany | integer | 100 | Cap on complaints captured per company, most recent first. Maximum 500 — the ReclameAqui platform's pagination ceiling. Set 0 to fetch up to that limit. |
maxResults | integer | 1000 | Maximum complaint rows for the entire run. Set 0 for no row cap. Each complaint costs $0.04 — a 5,000-complaint run costs $200. |
Output
| Parameter | Type | Default | Description |
|---|---|---|---|
includeCompanyStats | boolean | true | Emit one extra row per company with reputation data — score, response rate, resolution rate, average response time, total complaints, and category. Tagged recordType: "company". Disable for a complaints-only output. |
Output
Every row carries a recordType field — company or complaint — so you can filter cleanly downstream. Company rows are emitted once per brand and are bundled free.
Company Profile (recordType: "company")
{"recordType": "company","companyName": "Nubank","companySlug": "nubank","category": "Bancos","companyScore": 8.4,"responseRate": 99.6,"resolutionRate": 87.2,"averageResponseTimeHours": 14,"totalComplaints": 64584,"complaintsLast6Months": 18342,"raStatus": "RA1000","description": "O Nubank é uma instituição financeira brasileira...","website": "https://nubank.com.br","companyUrl": "https://www.reclameaqui.com.br/empresa/nubank/"}
| Field | Type | Description |
|---|---|---|
recordType | string | Always "company" |
companyName | string | Brand display name |
companySlug | string | ReclameAqui URL slug |
category | string | Primary segment (e.g. "Bancos", "E-commerce", "Telecom") |
companyScore | number | 6-month ReclameAqui reputation score, scale 0–10 |
responseRate | number | Percentage of complaints answered, last 6 months |
resolutionRate | number | Percentage of complaints marked resolved by the consumer |
averageResponseTimeHours | number | Mean time-to-first-response in hours |
totalComplaints | number | Lifetime complaint count |
complaintsLast6Months | number | Complaints posted in the trailing 6-month window |
raStatus | string | RA badge (e.g. RA1000, RA200, Bom, Regular, Ruim, Não recomendada) |
description | string | Brand description (HTML stripped) |
website | string | Official brand website |
companyUrl | string | Direct ReclameAqui profile URL |
Complaint (recordType: "complaint")
{"recordType": "complaint","complaintId": "1856732041","companyName": "Nubank","companySlug": "nubank","title": "Cobrança indevida no cartão de crédito","body": "Identifiquei uma cobrança que não reconheço no valor de R$ 489,90...","status": "Respondida • Resolvida","city": "São Paulo","state": "SP","category": "Cartões","product": "Cartão de crédito","problem": "Cobrança indevida","createdAt": "2026-04-12T09:42:18Z","interactionCount": 3,"complaintUrl": "https://www.reclameaqui.com.br/nubank/cobranca-indevida-no-cartao_1856732041/"}
Core Fields
| Field | Type | Description |
|---|---|---|
recordType | string | Always "complaint" |
complaintId | string | Unique ReclameAqui complaint ID |
title | string | Complaint headline as posted by the consumer |
body | string | Full complaint text, HTML tags stripped |
status | string | Localized PT status — Respondida, Não respondida, or Pendente, optionally suffixed with • Resolvida or • Não resolvida |
createdAt | string | ISO 8601 timestamp of when the complaint was posted |
interactionCount | number | Number of back-and-forth replies on the thread |
complaintUrl | string | Direct ReclameAqui complaint URL |
Brand & Location
| Field | Type | Description |
|---|---|---|
companyName | string | Brand the complaint is filed against |
companySlug | string | ReclameAqui URL slug for the brand |
city | string | Consumer's reported city |
state | string | Two-letter Brazilian state code (e.g. SP, RJ, MG) |
Categorization
| Field | Type | Description |
|---|---|---|
category | string | Top-level category, resolved to human-readable text (e.g. "Cartões", "Entrega") |
product | string | Product subcategory (e.g. "Cartão de crédito") |
problem | string | Problem subcategory (e.g. "Cobrança indevida", "Atraso na entrega") |
Tips for Best Results
- Plan around the 500-per-company cap. ReclameAqui only exposes the 500 most-recent complaints per company through this view. To survey a brand's full history, schedule incremental runs filtered by
dateFromso each run captures the new complaints since the last one. - Sweep many brands at once. Up to 500 per company × N companies scales linearly. A 20-fintech sweep at 500 each lands ~10,000 complaints in a single run with one input array.
- Use
searchQueryto find competitor mentions. Drop a competitor's brand name or a campaign keyword intosearchQueryto pull every complaint that names it, regardless of which company the complaint targets. - Pair
dateFromwithstatusFilter: ["NOT_ANSWERED"]to surface fresh unaddressed complaints — perfect for daily monitoring or BPO lead-gen. - Use the
solvedsuffix instatusto split your dataset:Respondida • Resolvidaare closed cases;Respondida • Não resolvidaflags answered-but-unhappy customers worth re-engaging. - Multi-select status sparingly. Each selected status fires its own pagination pass per company, so multiplying statuses multiplies cost. Leave the filter empty to fetch all three in one run if your
maxComplaintsPerCompanyis already low. - Paste profile URLs directly. No need to extract the slug — drop
https://www.reclameaqui.com.br/empresa/<brand>/intocompaniesand the scraper handles it. - Keep
includeCompanyStats: true. Profile rows are free, and they give you the score, response rate, and RA status alongside the complaints in a single dataset for downstream joins.
Pricing
$40 per 1,000 complaints — charged per complaint row pushed to the dataset. Company profile rows are included free, and there are no compute charges.
| Complaints | Estimated Cost |
|---|---|
| 100 | $4 |
| 1,000 | $40 |
| 10,000 | $400 |
| 100,000 | $4,000 |
You only pay per complaint collected. recordType: "company" profile rows do not count toward your bill, and there are no compute or storage charges added on top. Each company is capped at 500 complaints (the platform's pagination ceiling), so 10,000 complaints in one run means a sweep of at least 20 companies.
Integrations
Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:
- Zapier / Make / n8n — Workflow automation
- Google Sheets — Direct spreadsheet export
- Slack / Email — Notifications on new results
- Webhooks — Trigger custom APIs on run completion
- Apify API — Full programmatic access
Legal & Ethical Use
This actor is designed for legitimate brand monitoring, market research, customer-service operations, compliance, journalism, and academic research. Users are responsible for complying with applicable laws — including the LGPD (Lei Geral de Proteção de Dados) — and ReclameAqui's terms of service. Do not use extracted data for spam, harassment, doxxing, or any illegal purpose. When publishing or sharing complaint text, redact personal identifiers where appropriate.