# Reclame Aqui Scraper - Company Reputation API (`ing-karlen/reclame-aqui-company-reputation`) Actor

Scrape Reclame Aqui company reputation: RA score, RA1000 status, complaints, response and solved rates, response time, 5 periods and top complaint topics. Benchmark competitors, vet vendors, qualify leads. $0.01 per company.

- **URL**: https://apify.com/ing-karlen/reclame-aqui-company-reputation.md
- **Developed by:** [fernando karlen](https://apify.com/ing-karlen) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $10.00 / 1,000 company results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Reclame Aqui Scraper — Company Reputation API

Get the **reputation of any Brazilian company on Reclame Aqui** (reclameaqui.com.br) in a clean, structured format: RA score, RA1000 status, number of complaints, response rate, solved rate, "would do business again" rate, average response time, **5 time periods** of history and the **most complained-about problems, categories and products**.

Built for competitor benchmarking, vendor due diligence, market research, lead qualification and customer-experience dashboards.

### What you get for each company

| Field | Example |
|---|---|
| `name`, `cnpj`, `website`, `mainSegment` | Nubank · 18236120000158 · Bancos e Financeiras |
| `reputationStatus` | Reclame Aqui's reputation label, e.g. `RA1000`, `GREAT`, `GOOD`, `REGULAR`, `NOT_RECOMMENDED`, `SUSPENDED` |
| `reputationScore`, `consumerScore` | 8.7 · 7.72 |
| `complaints`, `answered`, `notAnswered` | 56,987 · 56,963 · 8 |
| `responseRatePct`, `solvedRatePct`, `dealAgainRatePct` | 100.0 · 93.2 · 81.1 |
| `avgResponseTimeHours` | 98.1 |
| `reputationByPeriod` | Last 6 months, last 12 months, last year, the year before, last 3 years |
| `topProblems`, `topCategories`, `topProducts` | "Cobrança indevida" — 62,429 complaints (17.97%) |
| `customerServicePhones`, `socialNetworks`, `city`, `state` | Official company contact channels |

#### Example output (shortened)

```json
{
  "found": true,
  "name": "Nubank",
  "cnpj": "18236120000158",
  "reputationStatus": "RA1000",
  "reputationScore": 8.7,
  "complaints": 56987,
  "responseRatePct": 100,
  "solvedRatePct": 93.2,
  "dealAgainRatePct": 81.1,
  "avgResponseTimeHours": 98.1,
  "reputationByPeriod": [
    { "period": "SIX_MONTHS", "reputationScore": 8.7, "complaints": 56987, "solvedRatePct": 93.2 },
    { "period": "TWELVE_MONTHS", "reputationScore": 8.7, "complaints": 115290, "solvedRatePct": 92.4 }
  ],
  "topProblems": [
    { "name": "Cobrança indevida", "complaints": 62429, "sharePct": 17.97 }
  ]
}
```

### Real example: benchmarking Brazilian banks and marketplaces

Output from one run in September 2026 (last 6 months period). It took about 20 seconds.

| Company | Status | RA score | Complaints | Solved % | Avg. response (h) |
|---|---|---|---|---|---|
| Nubank | RA1000 | 8.7 | 56,987 | 93.2 | 98 |
| PicPay | RA1000 | 8.6 | 16,981 | 90.6 | 182 |
| Banco Itaú | GREAT | 8.1 | 19,160 | 85.1 | 160 |
| Mercado Pago | GREAT | 8.0 | 54,217 | 80.4 | 267 |
| Banco do Brasil | GOOD | 7.5 | 26,625 | 74.9 | 219 |
| C6 Bank | GOOD | 7.2 | 19,859 | 77.2 | 288 |
| Banco Bradesco | GOOD | 7.0 | 31,731 | 69.4 | 194 |
| Banco Santander | BAD | 5.7 | 33,290 | 52.0 | 170 |
| Magazine Luiza | RA1000 | 8.2 | 56,890 | 90.7 | 301 |
| Amazon | GREAT | 8.1 | 124,798 | 86.3 | 487 |
| Mercado Livre | GOOD | 7.8 | 194,481 | 78.5 | 264 |
| Shopee | REGULAR | 6.8 | 137,658 | 67.1 | 460 |

### Use cases

- **Competitor benchmarking:** compare your company against your sector every week.
- **Vendor and partner due diligence:** check reputation before signing with a supplier, bank or marketplace.
- **Lead qualification and sales intelligence:** prioritize prospects with bad customer service (they need help) or great reputation (they are good partners).
- **Market research and journalism:** rank a whole sector by complaints, solved rate or response time.
- **Reputation monitoring dashboards:** schedule daily runs and send results to Google Sheets, Looker Studio, Power BI or your database.

### New: whole-category rankings

Don't know the company names? Add a **segment** and get the **10 best and 10 worst ranked companies** of that category, each with full metrics plus its `segmentRankings` position.

Example: `bancos-e-financeiras/bancos-tradicionais-e-digitais`, taken from `reclameaqui.com.br/segmentos/bancos-e-financeiras/bancos-tradicionais-e-digitais/`. Reading rankings is free; you pay only for the companies returned.

### How to use

1. Add companies as they appear in their Reclame Aqui URL, after `/empresa/`. For `https://www.reclameaqui.com.br/empresa/nubank/` use `nubank`. Full URLs work too. You can also add segments, or combine both.
2. Run. Each company is one row in the dataset (table view included), ready to export to Excel, CSV, JSON or Google Sheets.
3. Schedule it daily or weekly to **track reputation over time** or monitor competitors.

#### Use it from your code (API)

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("ing-karlen/reclame-aqui-company-reputation").call(
    run_input={"companies": ["nubank", "itau", "mercado-livre"]}
)
for company in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(company["name"], company["reputationScore"], company["solvedRatePct"])
```

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('ing-karlen/reclame-aqui-company-reputation').call({ companies: ['nubank', 'itau'] });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

It also works from **Make, Zapier, n8n, Google Sheets** and AI agents via the **Apify MCP server**.

### Pricing

You pay **only for companies successfully returned**. Companies that don't exist or fail are reported in the dataset with `found: false` and are **not charged**. Set a maximum cost per run in the run options; the Actor stops cleanly when it is reached.

### Responsible data use

This Actor reads **only public company-level metrics** from company pages. It **does not collect complaint texts, consumer names or any personal data**. It also does not use pages that the site's `robots.txt` disallows, such as search, and it runs at a polite request rate. You are responsible for using the data in line with Reclame Aqui's terms and applicable law (LGPD).

### FAQ

**The company returns "not found".** The name must match the URL exactly. Open the company page on Reclame Aqui and copy the part after `/empresa/`.

**Can I get the complaints themselves?** No. This Actor is intentionally limited to company-level metrics.

**Found a problem or need a field?** Open an issue on the Actor page. Issues are answered within 24 hours.

***

### Em português

**Scraper do Reclame Aqui** para consultar a **reputação de empresas** via API: nota RA, selo RA1000, número de reclamações, índices de resposta, solução e "voltaria a fazer negócio", tempo médio de resposta, **5 períodos** (6 meses, 12 meses, ano anterior e mais) e os **principais problemas, categorias e produtos reclamados**.

- **Para que serve:** comparar concorrentes, avaliar fornecedores e parceiros, qualificar leads, pesquisa de mercado e painéis de monitoramento de reputação.
- **Como usar:** informe o nome da empresa como aparece na URL do Reclame Aqui (por exemplo, `nubank` em `reclameaqui.com.br/empresa/nubank/`). O resultado sai em Excel, CSV, JSON ou Google Sheets.
- **Preço:** US$0,01 por empresa encontrada. Empresas não encontradas não são cobradas.
- **Privacidade:** somente dados públicos da empresa, nenhum dado pessoal de consumidores (LGPD).

# Actor input Schema

## `companies` (type: `array`):

The company name exactly as it appears in its Reclame Aqui URL, after <code>/empresa/</code> (e.g. <code>nubank</code>, <code>magazine-luiza-loja-online</code>), or the full company page URL (<code>https://www.reclameaqui.com.br/empresa/nubank/</code>). Unknown names are reported as not found and are not charged.

## `segments` (type: `array`):

Get the best and worst ranked companies of a Reclame Aqui category, with full metrics for each. Use the part of the category URL after <code>/segmentos/</code>, e.g. <code>bancos-e-financeiras/bancos-tradicionais-e-digitais</code>, or the full URL. You pay only for the companies returned.

## `rankings` (type: `array`):

BEST = top 10, WORST = bottom 10 of each segment.

## `includeTags` (type: `boolean`):

Adds the most complained-about problems, categories and products with counts and share.

## `maxTags` (type: `integer`):

How many problems, categories and products to return for each company.

## `maxConcurrency` (type: `integer`):

Parallel requests. Keep it low to be polite to the website.

## `proxyConfiguration` (type: `object`):

Leave the default to use Apify Proxy smartly: cheap datacenter IPs first, switching automatically to Brazilian residential IPs only if the site blocks requests. Choose specific proxy groups to override.

## Actor input object example

```json
{
  "companies": [
    "nubank",
    "magazine-luiza-loja-online",
    "mercado-livre",
    "ifood"
  ],
  "rankings": [
    "BEST",
    "WORST"
  ],
  "includeTags": true,
  "maxTags": 10,
  "maxConcurrency": 3,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "companies": [
        "nubank",
        "magazine-luiza-loja-online",
        "mercado-livre",
        "ifood"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("ing-karlen/reclame-aqui-company-reputation").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "companies": [
        "nubank",
        "magazine-luiza-loja-online",
        "mercado-livre",
        "ifood",
    ],
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("ing-karlen/reclame-aqui-company-reputation").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "companies": [
    "nubank",
    "magazine-luiza-loja-online",
    "mercado-livre",
    "ifood"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call ing-karlen/reclame-aqui-company-reputation --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ing-karlen/reclame-aqui-company-reputation"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/7rVLzFFW4HgNpECD6/builds/UyuoOx0vFSQGsPZYn/openapi.json
