Reclame Aqui Scraper - Complaints & Reputation
Pricing
from $8.90 / 1,000 rows
Reclame Aqui Scraper - Complaints & Reputation
Scrape Reclame Aqui, Brazil's consumer complaint site. One row per company: reputation score, index status, answer and resolution rates over five periods. One row per complaint: text, the company's reply, the consumer's 0 to 10 rating, city and date. $9.20 per 1,000 rows.
Pricing
from $8.90 / 1,000 rows
Rating
0.0
(0)
Developer
Dami's Studio
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Scrape Reclame Aqui complaints and company reputation scores: give it a company, as a Reclame Aqui link, the short name from that link or the brand typed out. You get one company row with the reputation score, index status and answer, resolution and buy-again rates for five periods, plus one row per complaint with the full text, the company's reply, the consumer's 0 to 10 rating, city, state and dates.
Two things to know first. Big retailers are split into several pages with separate scores, so a typed brand name picks one of them. And one listing stops at 519 complaints, the site's own limit.
| Input | Companies, as a Reclame Aqui link, a short name or a brand name |
| Output | One row per company: reputation score, index status, answer, resolution and buy-again rates for five periods. One row per complaint: text, company reply, consumer rating, city, state, dates |
| Ceiling | 519 complaints per company for each sort order and combination of filters |
| Account needed | None |
| Price | $9.20 per 1,000 rows on the Free plan, a little less on paid plans. The free plan's $5 a month covers about 540 |
🔍 What Reclame Aqui Scraper does
The company row carries the figures the company's own page shows, for the site's default period,
the last six months. The other periods sit in periods in the same shape: last 12 months, last
calendar year, the year before that and the last three years. A year-on-year comparison needs no
second run.
Complaint rows come newest first, or oldest first if you ask. Oldest first on Casas Bahia's online store went back to a complaint filed on 7 May 2013.
A typed brand is looked up and the best match wins. That matters, because "Loja Online", "Lojas
Físicas" and "Marketplace" are separate companies with separate scores. Typing Casas Bahia picked
casas-bahia-loja-online and listed four other pages for the brand in otherPagesForThisBrand.
Paste the exact link when you care which one you get.
The company's reply lives on each complaint's own page, so includeCompanyReply reads that page
too. Fifty complaints and the company row took 41 seconds with replies on in a test run; sixty
without replies took 8.
About personal data. Reclame Aqui withholds the consumer's name, e-mail and IP, so the rows
carry only city and state about the person. Every text field is also scanned for e-mail addresses,
CPF, CNPJ, CEP and Brazilian phone numbers, which are replaced with [CPF removido] and the like.
Names get the same treatment where they usually turn up: the greeting a company's reply opens with
(Olá, Maria, Prezado Sr. João), a consumer's sign-off or meu nome é, and that same name
anywhere else in the complaint. Each becomes [nome removido]. It is a pattern match, so a name
written anywhere else comes through as written, and so do the first names company staff sign with.
📋 What data you get from each Reclame Aqui company and complaint
| What you get | Field |
|---|---|
| The company: names, id, page, website, CNPJ, segment, logo | companyName, tradingName, companyId, shortname, url, website, cnpj, segment, secondarySegments, logoUrl |
| Reputation for the default period | reputationScore, indexStatus, indexStatusLabel, consumerScore |
| Answer, resolution and buy-again rates, and the average answer time | answeredPercent, resolvedPercent, wouldBuyAgainPercent, averageAnswerHours |
| The same figures for all five periods, with dates and complaint counts | periods |
| Complaint totals | complaintsTotalAllTime, complaintsLast30Days |
| Profile details | verifiedCompany, accountStatus, city, state, profileCreatedAt, socialProfiles |
| How a typed name was matched, and the brand's other pages | matchedBy, otherPagesForThisBrand |
| The complaint: title, text, extra details, link | complaintId, complaintNumber, title, text, extraDetails, url |
| Where it stands | status, answered, resolved, resolutionStatus, isCompliment |
| The consumer's verdict | rated, consumerScore, consumerComment, wouldBuyAgain |
| The company's reply and the back-and-forth | companyReply, companyReplyAt, companyReplyCount, consumerReplies |
| Where the consumer is and when they posted | city, state, publishedAt, updatedAt, firstReplyAt |
▶️ How to scrape Reclame Aqui complaints
- Open Reclame Aqui Scraper and click Try for free.
- Put one company per line in Companies.
- Set Complaints per company, or 0 for the company row only.
- Pick any filters under Complaint status, Resolution and Only complaints the consumer rated.
- Click Start, then download the dataset as JSON, CSV or Excel.
Start it with Companies empty and you get one labelled sample row, which is not charged.
💰 How much does it cost to scrape Reclame Aqui complaints?
$9.20 per 1,000 rows on the Free plan. Paid plans pay a little less: $9.10 on Starter, $9.00 on Scale and $8.90 on Business. A company row and a complaint row cost the same, so the reputation card alone is one row. On the free plan, the $5 Apify gives you each month covers about 540 rows.
Not charged: the sample row, every note below, the lookup behind a typed brand name, and a company listed twice, which is read once. If you set a maximum cost for the run, it stops there and says so in its status.
📥 What you give it
{"companies": ["https://www.reclameaqui.com.br/empresa/nubank/", "magazine-luiza-loja-online", "Casas Bahia"],"maxComplaintsPerCompany": 50,"includeCompanyReply": true,"sortOrder": "newest"}
| Field | If you leave it out | What it is |
|---|---|---|
companies | a free sample row | One per line: a company page link, the short name from it (nubank) or the brand written out (Magazine Luiza). |
maxComplaintsPerCompany | 50 | Complaints per company. The site lists at most 519 per sort order and filter combination, so a higher number stops there. 0 returns the company row only. |
includeCompanyProfile | on | One row per company with the reputation figures for every period. |
includeCompanyReply | on | The company's reply and the consumer's follow-ups. It reads one more page per complaint, so the run takes longer. |
complaintStatus | any | ANSWERED (the company replied) or PENDING (it has not). The only two Reclame Aqui filters on. |
resolution | any | solved or unsolved, as the consumer marked it. |
onlyRated | off | Only complaints the consumer came back and scored. |
sortOrder | newest | newest or oldest. Oldest starts at the company's very first complaint. |
proxyConfiguration | not used | Only for servers of your own, which are used as given. Leave it alone otherwise. |
The form opens with nubank filled in, as an example.
📤 What you get back
A real company row from a real run, with periods cut to one of its five entries and the social
links to two:
{"ok": true,"rowType": "company","companyId": "88850","companyName": "Nubank","tradingName": "Nubank","shortname": "nubank","url": "https://www.reclameaqui.com.br/empresa/nubank/","website": "http://www.nubank.com.br","description": "Somos uma fintech que nasceu para mudar como você lida com o seu dinheiro. Lutamos contra a burocracia para deixar você sempre no controle.","cnpj": "18236120000158","segment": "Bancos e Financeiras","segmentShortname": "bancos-e-financeiras","secondarySegments": ["Bancos Tradicionais e Digitais", "Cartões Private Label de Varejo e Mercados", "Bancos Digitais", "Melhores Emissoras e Bandeiras de Cartão de Crédito"],"logoUrl": "https://raichu-uploads.s3.amazonaws.com/logo_nubank_S5jVIi.png","defaultPeriod": "last6Months","reputationScore": 8.7,"indexStatus": "RA1000","indexStatusLabel": "RA1000","consumerScore": 7.73,"answeredPercent": 100,"resolvedPercent": 93.3,"wouldBuyAgainPercent": 81.2,"averageAnswerHours": 98.1,"complaintsTotalAllTime": 60372,"complaintsLast30Days": 9090,"periods": [{"period": "last6Months","periodRaw": "SIX_MONTHS","from": "2026-03-01T00:00:00","to": "2026-08-31T23:59:59","reputationScore": 8.7,"indexStatus": "RA1000","indexStatusLabel": "RA1000","consumerScore": 7.73,"complaints": 56984,"complaintsAnswered": 56960,"complaintsNotAnswered": 8,"complaintsRated": 24921,"answeredPercent": 100,"resolvedPercent": 93.3,"wouldBuyAgainPercent": 81.2,"averageAnswerHours": 98.1}],"verifiedCompany": true,"accountStatus": "ACTIVE","city": "SAO PAULO","state": "SP","profileCreatedAt": "2014-12-12T10:47:00","profileUpdatedAt": "2026-09-29T09:16:34","socialProfiles": [{ "type": "facebook", "url": "https://www.facebook.com/nubankbrasil" },{ "type": "instagram", "url": "https://www.instagram.com/nubank/" }],"matchedBy": "shortname","inputValue": "nubank","otherPagesForThisBrand": [],"scrapedAt": "2026-09-30T02:31:39.934Z"}
And a real complaint row, with the company's reply cut short:
{"ok": true,"rowType": "complaint","complaintId": "s0QQZwQobNrF-S6Q","complaintNumber": "259386859","companyId": "88850","companyName": "Nubank","companyShortname": "nubank","title": "Solicito remoção de negativação de dívida já quitada","text": "Complaint text, cut short here.","extraDetails": null,"status": "ANSWERED","answered": true,"resolved": true,"rated": true,"consumerScore": 10,"consumerComment": "Obrigada","wouldBuyAgain": true,"isCompliment": false,"companyReply": "Olá! Esperamos que você esteja bem.\n\nSomos da equipe especializada do Nubank e estamos aqui para ajudar a esclarecer qualquer dúvida que você possa ter...","companyReplyAt": "2026-09-18T16:12:01","companyReplyCount": 1,"consumerReplies": [{ "text": "Obrigada", "at": "2026-09-18T17:48:51" }],"resolutionStatus": "SOLVED","city": "Taboão da Serra","state": "SP","publishedAt": "2026-09-18T05:00:22","updatedAt": "2026-09-18T17:48:51","firstReplyAt": "2026-09-18T16:12:01","url": "https://www.reclameaqui.com.br/nubank/solicito-remocao-de-negativacao-de-divida-ja-quitada_s0QQZwQobNrF-S6Q/","position": 6,"scrapedAt": "2026-09-20T02:07:42.375Z"}
| Field | How to read it |
|---|---|
reputationScore, indexStatus, indexStatusLabel | The score out of 10 and the index, such as RA1000, GREAT or REGULAR, exactly as the site publishes them. |
answeredPercent, resolvedPercent, wouldBuyAgainPercent, averageAnswerHours | The site's own figures, carried through, not computed from your rows. |
periods | The same figures for each of the five periods, with their dates and complaint counts. |
matchedBy, otherPagesForThisBrand | How the company was found, and the other pages the brand has when a typed name was matched. |
status, answered | The company's side: ANSWERED or PENDING. |
resolved, rated, consumerScore, consumerComment, wouldBuyAgain | The consumer's side. resolved only means something once rated is true, so false on a two-day-old complaint means "not yet". |
companyReply, companyReplyAt, consumerReplies | The reply and the back-and-forth, when includeCompanyReply is on. |
Null means the site has nothing there: the consumer's score and comment until they rate, the reply
until the company answers or when includeCompanyReply is off, cnpj, website or
socialProfiles when a company never filled them in, and the score and percentages when a company
carries no index. [Editado pelo Reclame Aqui] inside a text is the site's own moderation.
🧾 Reading the output
Real rows have no charged field. Every free row carries charged: false, so dropping those leaves
only companies and complaints.
| Row | How to spot it | Charged |
|---|---|---|
| A company | rowType: "company" | yes |
| A complaint | rowType: "complaint" | yes |
| The sample | _sample: true | no |
| A note | _diagnostic: true, ok: false, with an errorCode, an error and a hint | no |
The sample row, which a run with no companies returns, carries ok: true and
rowType: "complaint" like a real one. Filter on _sample or charged, not on those.
errorCode | What it means |
|---|---|
COMPANY_NOT_FOUND | No company page matches what you typed. Copy the short name out of the page's link. |
BAD_INPUT | Not a Reclame Aqui link, short name or brand. |
NO_COMPLAINTS | No complaints for that company with those filters. Try with the filters cleared. |
FETCH_FAILED, REFUSED | The rest of that company could not be read on this run. The rows before the note are complete; run it again for the rest. |
💡 What people use it for
- Working through your own company's unanswered complaints, with
complaintStatusset toPENDING. - Tracking a company's reputation on a schedule with
maxComplaintsPerCompanyat0: one row a run, five periods in it. - Comparing answer and resolution rates across the banks or retailers in one sector.
- Reading a company's record from its first complaint, oldest first.
🚧 What it does not do
- No consumer names from the site. Reclame Aqui withholds them, and the ones in greetings and sign-offs are masked. A name typed anywhere else can still get through, see above.
- 519 complaints per company for each order and filter combination. That is the site's own listing limit; oldest first reaches the other end.
- No private or deleted complaints, and no attachments, images or audio.
- No group roll-up. Sub-brands are separate companies, so ask for each page.
- No sentiment scores, categories or summaries. It returns what the site says.
- No translation. Complaints and replies stay in Portuguese.
- It is not an official Reclame Aqui tool. Dami's Studio is independent and is not affiliated with or endorsed by Reclame Aqui, or by any other company named on this page.
🧭 Which review scraper do you need?
| If you want | Use |
|---|---|
| Complaints and reputation scores for Brazilian companies | This one |
| Reviews of a place on Google Maps | Google Maps Reviews Scraper |
| Shop ratings and reviews on Shopee | Shopee Shop Reviews & Ratings Scraper |
| App reviews from Google Play | Google Play Reviews Scraper |
❓ Questions people ask
Do I need a Reclame Aqui login or an API key?
No. Everything here is what a signed-out visitor can see.
Is the reputation score the same one on the company's page?
Yes, for the same default period the page shows, the last six months. The other periods are in
periods, so pick the matching one before you compare.
Can I get the complaints my own company received?
Yes. Put your company's page in companies and set complaintStatus to PENDING for everything
still waiting on an answer.
Why did a brand name give me a different company page than I expected?
The brand has several. otherPagesForThisBrand lists the ones not picked; copy the short name you
want.
Can I call it from code or connect it to an AI assistant?
Yes. The API tab has ready-made
code for Python, JavaScript and the command line. For Claude, ChatGPT or another MCP client, connect
https://mcp.apify.com/?tools=fetch-actor-details,dami_studio/reclame-aqui-scraper. Either way the
run happens on your Apify account at the same price.
Is it legal to scrape Reclame Aqui complaints?
The complaints are public, but they are personal data under the LGPD and similar laws, so have a reason for holding them and take care before republishing. Apify's write-up on the legality of web scraping is a good starting point. We are not lawyers.
🆘 If something breaks
Open the Issues tab on the actor page and send the input you used and the run ID. The note rows in the dataset usually name the reason already.