# ReclameAqui API (Brazil) — company reputation, ratings, statistics and consumer complaints from ReclameAqui

> resolve a company by name/slug
> ReefAPI engine `reclameaqui` · 6 endpoints · clean JSON, no scraping or browsers to manage.

## How to call
- **Endpoint:** `POST https://api.reefapi.com/reclameaqui/v1/<action>` with a JSON body.
- **Auth:** header `x-api-key: <YOUR_REEFAPI_KEY>` — create one free (1,000 credits, no card): https://reefapi.com/signup
- **Response (every call):** `{ ok: boolean, data: ..., meta: { record_count, credits, ... }, error: { code, message } }` — branch on `ok`. Failed or blocked calls are free.
- **One key + one shared credit pool** across every ReefAPI API. Per-call credits are listed on each endpoint below.
- **Use it from an AI agent (MCP):** connect `https://api.reefapi.com/mcp` (remote streamable-http, `Authorization: Bearer <key>`) and your assistant can call these actions directly.

## Endpoints

### POST /reclameaqui/v1/company/search — 1 credit
resolve a company by name/slug

**Parameters:**
- `query` (string, optional) — Company name (resolved to a slug) or, for complaints/search, the keyword to match in complaint titles/bodies.
- `slug` (string, optional) — ReclameAqui company shortname/slug (e.g. 'nubank'). Provide this OR query / company_id.

**Returns:** companies[]{name,slug,id,reputation,...} (the resolved company)

**Example request body:**
```json
{
  "query": "nubank"
}
```

### POST /reclameaqui/v1/company/detail — 1 credit
company profile + reputation index

**Parameters:**
- `slug` (string, optional) — ReclameAqui company shortname/slug (e.g. 'nubank'). Provide this OR query / company_id.
- `company_id` (string, optional) — ReclameAqui numeric company id (from company/detail or company/search).

**Returns:** company{} — profile + reputation index + pageviews; raw payload

### POST /reclameaqui/v1/company/stats — 3 credits
reputation metrics + main/performance problems

**Parameters:**
- `slug` (string, optional) — ReclameAqui company shortname/slug (e.g. 'nubank'). Provide this OR query / company_id.
- `company_id` (string, optional) — ReclameAqui numeric company id (from company/detail or company/search).

**Returns:** stats{pageviews,main_problems,performance_problems_6m}, unavailable[]

**Example request body:**
```json
{
  "slug": "nubank"
}
```

### POST /reclameaqui/v1/company/complaints — 1 credit
paginated complaints for a company

**Parameters:**
- `company_id` (string, required) — ReclameAqui numeric company id (from company/detail or company/search).
- `status` (enum, optional, default "ANSWERED") — Complaint status to page through (default ANSWERED). Use `statuses` to combine several. [one of: ANSWERED, EVALUATED, NOT_ANSWERED, PROCESSING]
- `statuses` (array, optional) — Optional list of statuses to fetch (overrides `status`).
- `limit` (integer, optional, default 50) — Maximum complaints to return (public cap is 255).
- `page_size` (integer, optional, default 5) — Complaints fetched per upstream page (tuning knob).
- `date_from` (string, optional) — Only include complaints on/after this date (YYYY-MM-DD).
- `date_to` (string, optional) — Only include complaints on/before this date (YYYY-MM-DD).
- `company_slug` (string, optional) — Company slug (used to build the complaint URL / label rows).
- `company_name` (string, optional) — Optional company display name to stamp onto returned complaint rows.

**Returns:** complaints[] (deduplicated, date-filtered; personal data is redacted by default), with meta.stop_reason, pages fetched and cap info

### POST /reclameaqui/v1/complaints/search — 1 credit
search complaints by keyword

**Parameters:**
- `query` (string, required) — Company name (resolved to a slug) or, for complaints/search, the keyword to match in complaint titles/bodies.
- `limit` (integer, optional, default 50) — Maximum complaints to return (public cap is 255).
- `page_size` (integer, optional, default 10) — Complaints fetched per upstream page (tuning knob).
- `date_from` (string, optional) — Only include complaints on/after this date (YYYY-MM-DD).
- `date_to` (string, optional) — Only include complaints on/before this date (YYYY-MM-DD).

**Returns:** query, complaints[]{title,description,date,company,...}

**Example request body:**
```json
{
  "query": "banco",
  "limit": 10
}
```

### POST /reclameaqui/v1/complaint/detail — 2 credits
single complaint thread (HTML timeline)

**Parameters:**
- `company_slug` (string, required) — Company slug (used to build the complaint URL / label rows).
- `complaint_url_slug` (string, required) — The complaint's URL slug (the last path segment of its ReclameAqui page).

**Returns:** detail{} — the full complaint thread (title, body, timeline, status)

## More
- Try it live, no code: https://reefapi.com/playground?engine=reclameaqui
- Human docs page: https://reefapi.com/docs/reclameaqui
- Every ReefAPI API in one file (for your AI): https://reefapi.com/llms-full.txt
