# Reclameaqui (`gabruck97/reclameaqui`) Actor

Unofficial Reclame Aqui API for scraping complaints, customer reviews, ratings, complaint details, and historical data for any company within a selected date range. Ideal for brand monitoring, sentiment analysis, and market intelligence.

- **URL**: https://apify.com/gabruck97/reclameaqui.md
- **Developed by:** [Frajola Inc](https://apify.com/gabruck97) (community)
- **Categories:** Developer tools, Automation
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $10.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## 📊 Reclame Aqui Scraper Pro

Extract complaint data from **Reclame Aqui** automatically, reliably, and in a structured format.

This Actor is designed for companies, data analysts, Customer Success teams, and Market Intelligence professionals who need to monitor public complaints at scale.

---

## 🚀 Features

- ✅ Detailed extraction of each complaint
- ✅ Automatic navigation through complaint listing pages
- ✅ Visits every complaint individually to collect complete information
- ✅ Date filtering to reduce processing time
- ✅ Built with **Playwright**
- ✅ Optimized for **headless** execution
- ✅ Robust error handling and page loading strategy
- ✅ Automatic export to the Apify Dataset

---

## ⚙️ How It Works

The Actor performs the following steps:

1. Opens the company's page on Reclame Aqui.
2. Automatically navigates through all complaint pages.
3. Opens each complaint individually.
4. Extracts all available information.
5. Stops automatically when complaints older than the specified date are found.
6. Stores every record in the Apify Dataset.

---

## 📥 Input

### Schema

| Field | Type | Required | Description |
|--------|------|----------|-------------|
| empresa | String | Yes | Company slug used in the Reclame Aqui URL |
| data_limite | String | Yes | Minimum complaint date to collect (format: DD/MM/YYYY) |

### How to Find the `empresa` Value

The `empresa` field corresponds to the company **slug** used in the Reclame Aqui URL after `/empresa/`. 

For example, if the company page is:

````

https://www.reclameaqui.com.br/empresa/gold-spell-cosmeticos/

```

The slug is:

```

gold-spell-cosmeticos

````

Use it as the input:

```json
{
  "empresa": "gold-spell-cosmeticos",
  "data_limite": "01/06/2026"
}
````

#### Another Example

### Example

```json
{
  "empresa": "ifood",
  "data_limite": "01/06/2026"
}
```

***

## 📤 Output

Each Dataset item follows the structure below:

```json
{
  "id_reclamacao": "252762893",
  "empresa": "iFood",
  "cidade": "São Paulo - SP",
  "data": "01/07/2026 às 00:30",
  "texto_principal": "Mesmo recebendo email e estando tudo em ordem não consigo de maneira alguma acessar o gestor ou trabalhar, não aparece nem se quer a opção de chamado, e tenho diversos emails enviados porém nenhum respondido.",
  "status_resultado": "Resolvido",
  "voltaria_a_fazer_negocio": "Sim",
  "nota_atendimento": "10",
  "link": "https://www.reclameaqui.com.br/ifood/ativacao-da-loja-que-nao-ativa_EsFxEtXxA4ax1SvW/"
}
```

***

## 📋 Example Output

```json
[
  {
    "id_reclamacao": "252762893",
    "empresa": "iFood",
    "cidade": "São Paulo - SP",
    "data": "01/07/2026 às 00:30",
    "texto_principal": "Mesmo recebendo email e estando tudo em ordem não consigo de maneira alguma acessar o gestor ou trabalhar, não aparece nem se quer a opção de chamado, e tenho diversos emails enviados porém nenhum respondido.",
    "status_resultado": "Resolvido",
    "voltaria_a_fazer_negocio": "Sim",
    "nota_atendimento": "10",
    "link": "https://www.reclameaqui.com.br/ifood/ativacao-da-loja-que-nao-ativa_EsFxEtXxA4ax1SvW/"
  },
  {
    "id_reclamacao": "252718107",
    "empresa": "iFood",
    "cidade": "Juiz de Fora - MG",
    "data": "30/06/2026 às 15:50",
    "texto_principal": "Tive o pedido cancelado e não recebi o reembolso.",
    "status_resultado": "Resolvido",
    "voltaria_a_fazer_negocio": "Sim",
    "nota_atendimento": "10",
    "link": "https://www.reclameaqui.com.br/ifood/nao-recebi-o-reembolso_okEilDj0vcb7Gjzb/"
  },
  {
    "id_reclamacao": "252713849",
    "empresa": "iFood",
    "cidade": "Manaus - AM",
    "data": "30/06/2026 às 15:17",
    "texto_principal": "Delivery time kept increasing and the order could not be canceled despite the delay.",
    "status_resultado": "Não resolvido",
    "voltaria_a_fazer_negocio": "Não",
    "nota_atendimento": "0",
    "link": "https://www.reclameaqui.com.br/ifood/ifood-com-pessimo-atendimento-para-os-produtos-canarinhos-ifood_kYJ2WqYCI4r3Wg7d/"
  },
  {
    "id_reclamacao": "252711659",
    "empresa": "iFood",
    "cidade": "Uberlândia - MG",
    "data": "30/06/2026 às 15:00",
    "texto_principal": "Order canceled after an address mistake and refund denied.",
    "status_resultado": "Resolvido",
    "voltaria_a_fazer_negocio": "Sim",
    "nota_atendimento": "7",
    "link": "https://www.reclameaqui.com.br/ifood/perda-de-pedido-e-reembolso-negado-apos-erro-no-endereco-e-recusa-de-motoboy-em-ajustar-rota_Cb8R-wotWLMUXQQW/"
  },
  {
    "id_reclamacao": "252709651",
    "empresa": "iFood",
    "cidade": "Pelotas - RS",
    "data": "30/06/2026 às 14:45",
    "texto_principal": "Wrong products delivered and customer support refused the refund request.",
    "status_resultado": "Resolvido",
    "voltaria_a_fazer_negocio": "Sim",
    "nota_atendimento": "8",
    "link": "https://www.reclameaqui.com.br/ifood/recebi-produtos-errados-e-o-chat-do-ifood-nao-resolveu-o-meu-problema__d3qCxpQ0uB22JqE/"
  }
]
```

***

## 📈 Use Cases

#### 📊 Brand Monitoring

Track complaints about your company in near real time.

***

#### 🏆 Competitor Monitoring

Analyze competitors to understand:

- Common customer complaints
- Service quality
- Customer satisfaction
- Market trends

***

#### 🤖 AI & Sentiment Analysis

Use the extracted data for:

- Large Language Models (LLMs)
- NLP pipelines
- Embeddings
- Sentiment analysis
- Text classification

***

#### 📈 Business Intelligence

Export and connect directly to:

- Power BI
- Looker Studio
- Tableau
- Excel
- Python
- Pandas

***

#### 📞 Customer Success

Quickly identify:

- Recurring issues
- Support bottlenecks
- Customer pain points
- Product improvement opportunities

***

## 💡 Tips

### Proxy Configuration

For large-scale scraping, it is recommended to configure **Apify Proxy** with IP rotation to improve reliability and minimize blocking.

***

### Dataset

All extracted records are automatically stored in the Actor's Dataset.

Results can be exported as:

- JSON
- CSV
- Excel
- XML

or accessed directly through the Apify API.

***

## ⚡ Performance

This Actor is optimized for speed and reliability.

Highlights:

- Playwright Headless
- Smart waiting strategy
- Automatic retry handling
- Robust navigation
- Automatic pagination
- Stops automatically when reaching the specified date
- Low resource consumption

***

## 📦 Built With

- Python
- Playwright
- Apify SDK
- Crawlee
- AsyncIO

***

## ✅ Ideal For

- Companies
- Customer Success Teams
- Marketing Teams
- Growth Teams
- Business Intelligence
- Data Analytics
- Market Research
- Brand Monitoring
- Competitive Intelligence
- Data Scientists
- AI Applications

# Actor input Schema

## `empresa` (type: `string`):

O nome da empresa como aparece na URL do Reclame Aqui (ex: ifood)

## `data_limite` (type: `string`):

Extrair reclamações a partir desta data (Formato: DD/MM/AAAA)

## `limite_reviews` (type: `integer`):

Quantidade máxima de reclamações a serem coletadas. Defina como 0 para trazer TUDO (sem limite).

## Actor input object example

```json
{
  "empresa": "ifood",
  "data_limite": "01/06/2026",
  "limite_reviews": 5
}
```

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("gabruck97/reclameaqui").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("gabruck97/reclameaqui").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{}' |
apify call gabruck97/reclameaqui --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=gabruck97/reclameaqui",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Reclameaqui",
        "description": "Unofficial Reclame Aqui API for scraping complaints, customer reviews, ratings, complaint details, and historical data for any company within a selected date range. Ideal for brand monitoring, sentiment analysis, and market intelligence.",
        "version": "0.0",
        "x-build-id": "dIW79LAurA8obp7yL"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/gabruck97~reclameaqui/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-gabruck97-reclameaqui",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/gabruck97~reclameaqui/runs": {
            "post": {
                "operationId": "runs-sync-gabruck97-reclameaqui",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/gabruck97~reclameaqui/run-sync": {
            "post": {
                "operationId": "run-sync-gabruck97-reclameaqui",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "empresa",
                    "data_limite"
                ],
                "properties": {
                    "empresa": {
                        "title": "Nome da Empresa (URL)",
                        "type": "string",
                        "description": "O nome da empresa como aparece na URL do Reclame Aqui (ex: ifood)",
                        "default": "ifood"
                    },
                    "data_limite": {
                        "title": "Data Limite",
                        "type": "string",
                        "description": "Extrair reclamações a partir desta data (Formato: DD/MM/AAAA)",
                        "default": "01/06/2026"
                    },
                    "limite_reviews": {
                        "title": "Limite de Reclamações",
                        "type": "integer",
                        "description": "Quantidade máxima de reclamações a serem coletadas. Defina como 0 para trazer TUDO (sem limite).",
                        "default": 5
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
