Skip to content

ReclameAqui Scraper

Try for free

Scrape ReclameAqui (Brazil) consumer complaints with the full company reply thread, plus company reputation: score, RA1000 status, response and resolution rates, segment ranking, top problems, CNPJ and contacts. By company, URL or keyword search.

📣 ReclameAqui Scraper

Get Brazil's consumer complaints from ReclameAqui as clean data: the full complaint text, the whole conversation with the company (every company answer, consumer reply and final evaluation), status, score and taxonomy, plus each company's reputation scorecard with RA1000 status, response and resolution rates, segment ranking, top problems, CNPJ and contacts. Search by company, URL or keyword. No login, no browser, and 10 complaints with their reply threads arrive in about 15 seconds.

✨ Why use ReclameAqui Scraper?

  • 💬 The whole reply thread: every complaint carries interactions[], the ordered conversation with company answers (author: company) and consumer replies and the final evaluation (author: consumer), as HTML and plain text with timestamps. companyAnswer holds the first company answer.
  • 🏅 Full reputation scorecard: reputation score and label, RA1000 status, response, resolution and "would do business again" rates, average response time, complaint counts for 30 days, 6 and 12 months, and a 5-period reputation history.
  • 📊 Company intel: segment ranking, top problem categories with counts and shares, CNPJ, phones, address with coordinates, website and social profiles.
  • 🔎 Three ways in: company slugs, names or URLs; free-text complaint search across all of ReclameAqui; or complaint and filtered list URLs pasted straight from the site.
  • 🚦 Ready for triage: analysis adds hasCompanyReply, firstReplyDelayDays, resolutionDelayDays, isOverdue and a riskLevel; companies get scoreTrend and complaintVolumeTrend.
  • ⚡ Fast and deep: about 15 seconds for a company record plus 10 complaints in our tests. The site lists at most ~258 complaints per list, so for bigger pulls the scraper walks the company category by category, product and problem type, and removes duplicates.

🎯 Use cases

  • 👀 Reputation monitoring: track what customers say about your brand or your competitors every day, and how fast each company answers.
  • 🧭 Customer experience research: group complaints by category, problem and product to find the issues that drive churn.
  • 🏦 Vendor and partner due diligence: check a supplier's RA1000 status, resolution rate and complaint trend before you sign.
  • 📈 Market and sector analysis: compare banks, airlines, retailers or telecoms by score, response time and complaint volume.
  • 🤖 AI and analytics pipelines: feed full complaint threads into sentiment, topic or LLM workflows.

🚀 How to use

  1. Add one or more companies (a slug like nubank, a name like Magazine Luiza, or a company URL), and/or search complaints with keywords like atraso entrega.
  2. Set Max complaints per company or search (20 by default).
  3. Optionally pick a complaint status (not answered, answered, evaluated, solved, not solved), a date range or a keyword inside each company.
  4. Click Start. Download the results as JSON, CSV, Excel or HTML, or read them through the API.

📥 Input

FieldWhat it does
companiesSlugs (nubank), names (Magazine Luiza) or company URLs
searchQueriesFree-text complaint search across every company
startUrlsComplaint pages, filtered company list pages or search pages from reclameaqui.com.br
maxComplaintsPerCompanyComplaints per company or search query (default 20, 0 = all the site lists)
maxItemsCap on all saved results (0 = no cap)
statusFilterLATEST, NOT_ANSWERED, ANSWERED, EVALUATED, SOLVED, NOT_SOLVED
dateFrom, dateToOnly complaints created in this window (YYYY-MM-DD)
companyKeywordOnly complaints that mention a word or phrase, inside each company
includeCompanyProfileOne reputation record per company (on by default)
scrapeComplaintsSave complaints (on by default)
includeInteractionsOpen each complaint for full text and the reply thread (on by default)
extractContactsPull emails, phones, links and social profiles out of the texts
{
  "companies": ["nubank", "Magazine Luiza"],
  "searchQueries": ["cobrança indevida"],
  "maxComplaintsPerCompany": 20,
  "statusFilter": ["LATEST"],
  "includeCompanyProfile": true,
  "includeInteractions": true
}

📤 Output

Each row is a complaint (recordType: "complaint") or a company (recordType: "company"). The Complaints and Companies table views split them.

Complaint fieldMeaning
id, legacyId, url, titleComplaint identity
description, descriptionHtml, descriptionMarkdown, snippetFull text in several formats
status, statusLabel, solved, evaluated, score, dealAgainOutcome and the consumer's rating
created, userCity, userStateWhen and where
category, problemType, productType{id, name} taxonomy
interactions[], interactionsCount, companyAnswerThe conversation
analysisReply and resolution delays, overdue flag, risk level
companyId, companySlug, companyNameThe company
extractedEmails, extractedPhones, extractedUrls, socialProfilesContacts found in the texts
Company fieldMeaning
name, shortname, companyUrl, website, documents (CNPJ)Identity
finalScore, consumerScore, reputationLabel, raStatus, isRA1000Reputation
responseRate, resolutionRate, recommendationRate, avgResponseTimeHumanService rates
complaintsTotal, complaints30Days, complaints6Months, complaints12MonthsVolumes
segmentRankingPosition, segmentRankingName, mainSegment, mainProblems[]Ranking and top problems
reputationHistory, scoreTrend, complaintVolumeTrendHistory and trends
phones, emails, address, socialNetworksContacts

Sample complaint (fictional people, real shape):

{
  "recordType": "complaint",
  "id": "ExAmPlE1234abcd",
  "legacyId": 261900000,
  "companyId": "29266",
  "companySlug": "magazine-luiza-loja-online",
  "companyName": "Magazine Luiza - Loja Online",
  "title": "Pedido não entregue e sem resposta da transportadora",
  "description": "Comprei uma geladeira no dia 02/10 e o pedido consta como saiu para entrega há uma semana...",
  "url": "https://www.reclameaqui.com.br/magazine-luiza-loja-online/pedido-nao-entregue_ExAmPlE1234abcd/",
  "status": "ANSWERED",
  "statusLabel": "Resolvido",
  "solved": true,
  "evaluated": true,
  "score": 9,
  "dealAgain": true,
  "created": "2026-10-12T09:41:22",
  "userCity": "Campinas",
  "userState": "SP",
  "category": {"id": "0000000000000275", "name": "Marketplace"},
  "problemType": {"id": "0000000000001454", "name": "Produto não recebido"},
  "productType": {"id": null, "name": "Geladeira"},
  "interactionsCount": 2,
  "interactions": [
    {"id": "aBcD1234", "type": "ANSWER", "author": "company", "created": "2026-10-13T14:02:10", "message": "Olá, Ana! Sentimos muito pelo transtorno...", "messageText": "Olá, Ana! Sentimos muito pelo transtorno..."},
    {"id": "eFgH5678", "type": "FINAL_ANSWER", "author": "consumer", "created": "2026-10-15T08:30:45", "message": "Recebi o produto, obrigada.", "messageText": "Recebi o produto, obrigada."}
  ],
  "companyAnswer": "Olá, Ana! Sentimos muito pelo transtorno...",
  "analysis": {"hasCompanyReply": true, "firstReplyDelayDays": 1, "resolutionDelayDays": 3, "isOverdue": false, "riskLevel": "low"},
  "detailFetched": true,
  "scrapedAt": "2026-10-21T02:15:00.000Z"
}

Sample company record (trimmed, values from a test run on 2026-10-21):

{
  "recordType": "company",
  "companyId": "88850",
  "shortname": "nubank",
  "name": "Nubank",
  "companyUrl": "https://www.reclameaqui.com.br/empresa/nubank/",
  "website": "http://www.nubank.com.br",
  "finalScore": 8.7,
  "consumerScore": 7.76,
  "reputationLabel": "Ótimo",
  "raStatus": "RA1000",
  "isRA1000": true,
  "segmentRankingPosition": 1,
  "segmentRankingName": "Melhores Emissoras e Bandeiras de Cartão de Crédito",
  "complaintsTotal": 60372,
  "complaints30Days": 8932,
  "complaints6Months": 56622,
  "complaints12Months": 115123,
  "responseRate": 99.9,
  "resolutionRate": 93.1,
  "recommendationRate": 81.2,
  "avgResponseTimeHuman": "3 dias, 22 horas",
  "documents": ["18236120000158"],
  "phones": ["0800 591 2117"],
  "mainProblems": [{"id": "0000000000000003", "name": "Cartões de Crédito", "count": 123616, "recurrencePct": 35.64}],
  "scoreTrend": {"sixMonths": 8.7, "twelveMonths": 8.7, "delta": 0.0, "direction": "flat"}
}

💰 Pricing

You pay per saved result:

  • Complaint: $0.02 each, which is $20 per 1,000 complaints, reply thread included.
  • Company reputation record: $0.04 each, $40 per 1,000 companies.

Example: one company record plus 100 complaints costs $2.04 in result fees. Platform usage (compute and proxy traffic) is billed on top and is small: well under $0.05 for that job in our tests. Companies that cannot be found and complaints left out by your filters are not charged.

❓ FAQ

Is it legal to scrape ReclameAqui? The scraper only reads pages anyone can open without an account. Complaints can include names and other personal data that consumers chose to publish, so check that your use follows the LGPD and ReclameAqui's terms.

Do I need a ReclameAqui account or a proxy? No account. The managed proxy is on by default with Brazilian residential exits, because ReclameAqui challenges datacenter traffic. Traffic is light: about 40 MB per 1,000 complaints with reply threads in our tests.

How many complaints can I get? Up to about 258 per list (the site's own limit) for searches and filtered lists. For a company with "Latest" and the limit set high or to 0, the scraper also walks the company's complaints by category, product and problem type to reach thousands, without duplicates.

Why is a field empty? Fields are null when ReclameAqui does not show them, for example score before the consumer evaluates, or category when the consumer did not pick one. With Full text and reply thread off, texts come from the list as the site shows them (personal data masked) and interactions stays empty.

Can I schedule it or use the API? Yes. Save your input as a task, schedule it daily or weekly, and read new results through the API or the integrations.

⚠️ Limits

  • Keyword searches and filtered lists return at most ~258 complaints each, newest first. That is the site's cap.
  • Keyword searches filter by NOT_ANSWERED and ANSWERED on the site; the evaluated, solved and not-solved buckets are applied to those ~258 newest matches.
  • Date filters work on complaint creation dates. A narrow window far in the past may hold fewer complaints than exist, because the lists start from the newest.
  • Complaint author names are masked by ReclameAqui and are not returned.
  • No incremental "only new since last run" mode and no built-in notifications yet.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.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.

No credit card. No setup calls.