Reputation & Reviews

Reclame Aqui API

The ReclameAqui API returns Brazilian consumer-complaint data as clean JSON.

6 actionsLive JSON1,000 free creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

The primary company/search endpoint resolves a company (name, slug, reputation), and you can pull company/detail, company/stats, company/complaints, search complaints and a complaint/detail. It is built for reputation monitoring and Brazilian market research that need ReclameAqui data without a scraper. One ReefAPI key, one shared credit pool, the standard envelope.

Live example

Real request and response JSON

Captured from the indexed primary action, company/search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/reclameaqui/v1/company/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "query": "nubank"
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "reclameaqui",
    "endpoint": "company/search",
    "mode": "live",
    "latency_ms": 4777.2,
    "record_count": 1,
    "bytes": 0,
    "cache_hit": false
  },
  "data": {
    "companies": [
      {
        "id": "88850",
        "evolution_id": "667af[redacted-phone]ce-b9b3-f013cf1f03d1",
        "name": "Nubank",
        "fantasy_name": "Nubank",
        "shortname": "nubank",
        "description": "Somos uma fintech que nasceu para mudar como você lida com o seu dinheiro. Lutamos contra a burocracia para deixar você sempre no controle.",
        "website": "http://www.nubank.com.br",
        "company_url": "https://www.reclameaqui.com.br/empresa/nubank/",
        "url_site": "http://www.nubank.com.br",
        "verified": true,
        "category": null,
        "complaints_last_6_months": 57898,
        "reputation": {
          "status": "RA1000",
          "score": 8.7,
          "consumer_score": 7.7,
          "answered_percent": 99.7,
          "solved_percent": 93,
          "would_buy_again_percent": 81.2,
          "average_response_time_seconds": 387707.59291652235,
          "average_response_time_hours": 107.7,
          "total_complaints": 57898,
          "answered": 57740,
          "total_solved": 14507,
          "total_not_solved": 1085,
          "total_deal_again": 12657,
          "total_not_deal_again": 2935,
          "total_evaluations": 15592,
          "evaluation_sum": 120028
        },
        "period_indexes": {
          "SIX_MONTHS": {
            "type": "[trimmed-depth]",
            "status": "[trimmed-depth]",
            "score": "[trimmed-depth]",
            "consumer_score": "[trimmed-depth]",
            "total_complaints": "[trimmed-depth]",
            "total_answered": "[trimmed-depth]",
            "total_not_answered": "[trimmed-depth]",
            "answered_percent": "[trimmed-depth]",
            "solved_percent": "[trimmed-depth]",
            "would_buy_again_percent": "[trimmed-depth]",
            "total_evaluated": "[trimmed-depth]",
            "average_response_time_seconds": "[trimmed-depth]",
            "average_response_time_3m_seconds": "[trimmed-depth]",
            "start": "[trimmed-depth]",
            "end": "[trimmed-depth]"
          },
          "TWELVE_MONTHS": {
            "type": "[trimmed-depth]",
            "status": "[trimmed-depth]",
            "score": "[trimmed-depth]",
            "consumer_score": "[trimmed-depth]",
            "total_complaints": "[trimmed-depth]",
            "total_answered": "[trimmed-depth]",
            "total_not_answered": "[trimmed-depth]",
            "answered_percent": "[trimmed-depth]",
            "solved_percent": "[trimmed-depth]",
            "would_buy_again_percent": "[trimmed-depth]",
            "total_evaluated": "[trimmed-depth]",
            "average_response_time_seconds": "[trimmed-depth]",
            "average_response_time_3m_seconds": "[trimmed-depth]",
            "start": "[trimmed-depth]",
            "end": "[trimmed-depth]"
          },
          "LAST_YEAR": {
            "type": "[trimmed-depth]",
            "status": "[trimmed-depth]",
            "score": "[trimmed-depth]",
            "consumer_score": "[trimmed-depth]",
            "total_complaints": "[trimmed-depth]",
            "total_answered": "[trimmed-depth]",
            "total_not_answered": "[trimmed-depth]",
            "answered_percent": "[trimmed-depth]",
            "solved_percent": "[trimmed-depth]",
            "would_buy_again_percent": "[trimmed-depth]",
            "total_evaluated": "[trimmed-depth]",
            "average_response_time_seconds": "[trimmed-depth]",
            "average_response_time_3m_seconds": "[trimmed-depth]",
            "start": "[trimmed-depth]",
            "end": "[trimmed-depth]"
          },
          "PAST_LAST_YEAR": {
            "type": "[trimmed-depth]",
            "status": "[trimmed-depth]",
            "score": "[trimmed-depth]",
            "consumer_score": "[trimmed-depth]",
            "total_complaints": "[trimmed-depth]",
            "total_answered": "[trimmed-depth]",
            "total_not_answered": "[trimmed-depth]",
            "answered_percent": "[trimmed-depth]",
            "solved_percent": "[trimmed-depth]",
            "would_buy_again_percent": "[trimmed-depth]",
            "total_evaluated": "[trimmed-depth]",
            "average_response_time_seconds": "[trimmed-depth]",
            "average_response_time_3m_seconds": "[trimmed-depth]",
            "start": "[trimmed-depth]",
            "end": "[trimmed-depth]"
          },
          "LAST_THREE_YEARS": {
            "type": "[trimmed-depth]",
            "status": "[trimmed-depth]",
            "score": "[trimmed-depth]",
            "consumer_score": "[trimmed-depth]",
            "total_complaints": "[trimmed-depth]",
            "total_answered": "[trimmed-depth]",
            "total_not_answered": "[trimmed-depth]",
            "answered_percent": "[trimmed-depth]",
            "solved_percent": "[trimmed-depth]",
            "would_buy_again_percent": "[trimmed-depth]",
            "total_evaluated": "[trimmed-depth]",
            "average_response_time_seconds": "[trimmed-depth]",
            "average_response_time_3m_seconds": "[trimmed-depth]",
            "start": "[trimmed-depth]",
            "end": "[trimmed-depth]"
          }
        },
        "raw_keys": [
          "additionalFields",
          "documents",
          "marketplaceConfiguration"
        ],
        "pageviews": 2694596
      }
    ]
  }
}
Actions

What the Reclame Aqui API does

ActionDescriptionConcrete use caseKey params
company/searchresolve a company by name/slugSupport teams call company/search to resolve a company by name/slug.query, slug
company/detailcompany profile + reputation indexReputation platforms call company/detail to get company profile + reputation index.slug, company_id
company/statsreputation metrics + main/performance problemsMarket researchers call company/stats to get reputation metrics + main/performance problems.slug, company_id
company/complaintspaginated complaints for a companyB2B review analysts call company/complaints to get paginated complaints for a company.company_id, status, statuses, limit, page_size, ...
complaints/searchsearch complaints by keywordSupport teams call complaints/search to search complaints by keyword.query, limit, page_size, date_from, date_to
complaint/detailsingle complaint thread (HTML timeline)Reputation platforms call complaint/detail to get single complaint thread (HTML timeline).company_slug, complaint_url_slug
Code samples

Call company/search from your stack

curl -X POST https://api.reefapi.com/reclameaqui/v1/company/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"nubank"}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.reclameaqui.company/search with {"query":"nubank"}.
Use cases

Who uses this API and why

  • Reputation teams call company/stats to monitor a brand's ReclameAqui score.
  • Researchers use complaints/search to find recurring complaint themes.
  • Support tools use complaint/detail to review individual cases.
FAQ

Questions developers ask before integrating

What is the Reclame Aqui API?

Reclame Aqui API is a ReefAPI endpoint group for brazilian company complaints and reputation. It returns live JSON through POST requests under /reclameaqui/v1.

Is the Reclame Aqui API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. Reclame Aqui calls use the same shared credit balance as every other ReefAPI engine.

Do I need a Reclame Aqui login or account?

No login to Reclame Aqui is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the Reclame Aqui data?

The page example is captured from a live company/search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the Reclame Aqui API use?

Reclame Aqui actions currently cost 1-3 credits per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.

Can I call Reclame Aqui from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call reclameaqui actions with the same key, credit pool and JSON envelope used by normal REST requests.

Is the Reclame Aqui API a Reclame Aqui scraper?

It is the managed alternative to a DIY Reclame Aqui scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same brazilian company complaints and reputation back as clean JSON.

Why does my Reclame Aqui scraper keep getting blocked?

Most Reclame Aqui scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked or failed calls are free.

docs / reclameaqui

Reclame Aqui

Brazilian company complaints and reputation.

base /reclameaqui/v16 endpoints
post/reclameaqui/v1/company/search1 credit

resolve a company by name/slug

ParameterAllowed / rangeDescription
queryoptionalCompany name (resolved to a slug) or, for complaints/search, the keyword to match in complaint titles/bodies.
slugoptionalReclameAqui company shortname/slug (e.g. 'nubank'). Provide this OR query / company_id.
Try in playground →
post/reclameaqui/v1/company/detail1 credit

company profile + reputation index

ParameterAllowed / rangeDescription
slugoptionalReclameAqui company shortname/slug (e.g. 'nubank'). Provide this OR query / company_id.
company_idoptionalReclameAqui numeric company id (from company/detail or company/search).
Try in playground →
post/reclameaqui/v1/company/stats3 credits

reputation metrics + main/performance problems

ParameterAllowed / rangeDescription
slugoptionalReclameAqui company shortname/slug (e.g. 'nubank'). Provide this OR query / company_id.
company_idoptionalReclameAqui numeric company id (from company/detail or company/search).
Try in playground →
post/reclameaqui/v1/company/complaints1 credit

paginated complaints for a company

ParameterAllowed / rangeDescription
company_idrequiredReclameAqui numeric company id (from company/detail or company/search).
status = ANSWEREDoptionalANSWERED · EVALUATED · NOT_ANSWERED · PROCESSINGComplaint status to page through (default ANSWERED). Use `statuses` to combine several.
statusesoptionalOptional list of statuses to fetch (overrides `status`).
limit = 50optional1–255Maximum complaints to return (public cap is 255).
page_size = 5optional1–50Complaints fetched per upstream page (tuning knob).
date_fromoptionalOnly include complaints on/after this date (YYYY-MM-DD).
date_tooptionalOnly include complaints on/before this date (YYYY-MM-DD).
company_slugoptionalCompany slug (used to build the complaint URL / label rows).
company_nameoptionalOptional company display name to stamp onto returned complaint rows.
Try in playground →
post/reclameaqui/v1/complaints/search1 credit

search complaints by keyword

ParameterAllowed / rangeDescription
queryrequiredCompany name (resolved to a slug) or, for complaints/search, the keyword to match in complaint titles/bodies.
limit = 50optional1–255Maximum complaints to return (public cap is 255).
page_size = 10optional1–50Complaints fetched per upstream page (tuning knob).
date_fromoptionalOnly include complaints on/after this date (YYYY-MM-DD).
date_tooptionalOnly include complaints on/before this date (YYYY-MM-DD).
Try in playground →
post/reclameaqui/v1/complaint/detail2 credits

single complaint thread (HTML timeline)

ParameterAllowed / rangeDescription
company_slugrequiredCompany slug (used to build the complaint URL / label rows).
complaint_url_slugrequiredThe complaint's URL slug (the last path segment of its ReclameAqui page).
Try in playground →