Reclame Aqui Scraper — Complaints & Company Reputation avatar

Reclame Aqui Scraper — Complaints & Company Reputation

Pricing

from $25.00 / 1,000 complaints

Go to Apify Store
Reclame Aqui Scraper — Complaints & Company Reputation

Reclame Aqui Scraper — Complaints & Company Reputation

Scrape public Reclame Aqui complaints and company reputation for Brazilian brands. Each row includes the reputation score, RA status, response and resolution rates, CNPJ, complaint text, status, and city.

Pricing

from $25.00 / 1,000 complaints

Rating

0.0

(0)

Developer

Andrej Kiva

Andrej Kiva

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Disclaimer: Unofficial tool — not affiliated with, sponsored by, or endorsed by Reclame Aqui or its affiliates. Data is read from publicly accessible company reputation profiles and complaint listings only. No login. You are responsible for complying with applicable law (including GDPR and LGPD where personal data appears) and the site’s terms. No warranty on accuracy or availability. Provided for informational and research use.

Scrape Reclame Aqui complaints and company reputation into a JSON dataset: reputation score, RA status, response rate, resolution rate, CNPJ, complaint title, text, status, date, city, and state. Use it as a Reclame Aqui API alternative from Python, Node.js, or cURL for brand monitoring, supplier checks, and customer-experience research in Brazil.

Best for: reputation scorecards, public complaint exports, and scheduled monitors that save only new complaint ids.

Reputation suite

ActorWhat it collects
Reclame Aqui Scraper ◄── you are hereBrazilian company score, response rate, and public complaints
Trustpilot ScraperTrustScore, star ratings, and review text

When to use this Actor

  • A Reclame Aqui scraper run for one brand or a list of slugs
  • Supplier or marketplace checks that need the public score, RA status, and recent complaint text
  • A scheduled complaint monitor that skips ids already saved
  • JSON or CSV for a BI tool or an AI assistant via Apify MCP

When not to use this Actor

  • The logged-in company inbox, Hugme, or any reply action
  • Private consumer contact details — emails and IPs on the payload are not saved
  • Review sites outside this reputation pair (use Trustpilot for that brand’s international reviews)

Key features

  • Company slug, company name, or /empresa/ URL
  • One reputation row: score, RA status, solved percent, answered percent, deal-again percent, CNPJ, segment
  • Complaint rows: title, description, status, date, city, state, problem type, and reply text when the list includes it
  • Optional date window and status filter
  • Monitor mode stores seen complaint ids in a named key-value store and writes zero rows on a quiet tick
  • HTTP only, 256 MB. A direct request is tried first. If the platform IP is challenged, the run retries through residential proxy.

Input

FieldDefaultWhat it does
companiesnubankSlug, name, or /empresa/ URL
startUrlsemptyExtra company URLs
maxComplaintsPerCompany20Complaint cap per company. 0 keeps the reputation row only
maxItems50Cap across company and complaint rows
includeCompanyProfiletrueSave the reputation row. Off while monitor mode is on
scrapeComplaintstrueSave complaint rows
statusLATESTANSWERED, NOT_ANSWERED, or EVALUATED to filter the list
dateFrom / dateToemptyYYYY-MM-DD window on the complaint created date
monitorModefalseSave only new complaint ids
monitorStateStorereclameaqui-monitorNamed store for ids already seen
proxyConfigurationoffOptional Apify proxy. Leave off unless you want to force a proxy.
{
"companies": ["nubank"],
"maxComplaintsPerCompany": 20,
"maxItems": 50,
"includeCompanyProfile": true,
"scrapeComplaints": true,
"status": "LATEST",
"monitorMode": false
}

Output

Each dataset item is either a company row or a complaint row.

FieldCompanyComplaint
recordTypecompanycomplaint
companyName, shortname, urlyesyes
finalScore, raStatus, solvedPercent, answeredPercentyes
cnpj, segment, complainCountyes
complaintId, title, description, status, createdyes
userCity, userState, problemTypeyes
interactionsreply text when the list includes it
{
"recordType": "company",
"companyName": "Nubank",
"shortname": "nubank",
"finalScore": 8.7,
"raStatus": "RA1000",
"solvedPercent": 92.3,
"answeredPercent": 99.7,
"cnpj": "18236120000158",
"url": "https://www.reclameaqui.com.br/empresa/nubank/"
}
{
"recordType": "complaint",
"complaintId": "M5CNw4kipwPTxkOc",
"title": "Cobranca nao reconhecida",
"status": "ANSWERED",
"created": "2026-09-20T10:00:00",
"userCity": "Sao Paulo",
"userState": "SP",
"companyName": "Nubank",
"url": "https://www.reclameaqui.com.br/nubank/cobranca-nao-reconhecida_M5CNw4kipwPTxkOc/"
}

Use cases

  • Weekly reputation check for a marketplace seller list: score, response rate, and the newest complaints
  • Supplier onboarding: CNPJ plus the public RA status before a contract
  • Customer-experience export of complaint text for a single brand, filtered to answered or evaluated items
  • A scheduler tick that stores seen ids and stays empty until a new complaint appears

Integration examples

Replace APIFY_TOKEN with your Apify token. The actor id is crawloop/reclameaqui-scraper.

Node.js

import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor("crawloop/reclameaqui-scraper").call({
companies: ["nubank"],
maxComplaintsPerCompany: 20,
includeCompanyProfile: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("crawloop/reclameaqui-scraper").call(run_input={
"companies": ["nubank"],
"maxComplaintsPerCompany": 20,
"includeCompanyProfile": True,
})
items = list(client.dataset(run["defaultDatasetId"]).iterate_items())
print(len(items))

cURL

curl "https://api.apify.com/v2/acts/crawloop~reclameaqui-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d "{\"companies\":[\"nubank\"],\"maxComplaintsPerCompany\":20}"

MCP and AI assistants

Use this Actor from AI tools via Apify MCP. Connect your Apify account, then call this Actor by its name crawloop/reclameaqui-scraper.

Example prompts:

  • "Run Reclame Aqui Scraper for nubank and return the reputation score plus the 20 newest complaints as JSON"
  • "Scrape Reclame Aqui complaints for magazine-luiza-loja-online created this month and summarize the problem types"
  • "Chain Reclame Aqui Scraper for the Brazilian score, then Trustpilot Scraper for the same brand’s international reviews"

Suite next step

After the Brazilian score and complaint text, run Trustpilot Scraper for the same brand’s TrustScore and review text outside Brazil.

FAQ

Does this log into Reclame Aqui? No. It reads public company profiles and public complaint listings.

What if I only need the score? Set maxComplaintsPerCompany to 0 and leave includeCompanyProfile on. You get one reputation row per company.

What does monitor mode save? Only complaint ids that were not stored for that company in monitorStateStore. A quiet tick writes zero rows.

Is this a Reclame Aqui API alternative? It reads the public scorecard and public complaint list and returns JSON. It does not log in, reply, or replace the company’s own Hugme inbox.

Are consumer emails included? No. Email addresses, IP addresses, and phone numbers from the complaint payload are dropped before the row is saved.