// docs

Reclame AQUI IDP — Detalhes da reclamação

Carrega uma reclamação pública completa com relato, classificação, status, avaliação do consumidor e todas as interações públicas em ordem cronológica. Custo: 1 crédito por request.

Nota importante: alguns campos podem retornar null em produção, dependendo da página de origem. Nesta documentação, os exemplos de output são preenchidos intencionalmente com valores não nulos para facilitar integração.

Quando a entidade consultada não existe na origem, o extract e a tool MCP retornam 200 com data: null e notFound: true. Esse caso é tratado como resposta concluída, não como erro de servidor.

Chamada HTTP

cURL
curl -X POST https://api.geckoapi.com.br/v1/extract \
  -H "Authorization: Bearer SUA_CHAVE" \
  -H "Content-Type: application/json" \
  -d '{
  "target": "reclameaqui.com.br",
  "type": "idp",
  "complaintId": "1rCft1v6-JLpFGtC"
}'

Chamada MCP

A mesma seam também aparece no MCP hospedado como uma tool dedicada. Os argumentos reaproveitam os campos do extract, mas target e type já ficam fixos pela tool.

Ver guia completo do MCP

Endpoint

POST /v1/mcp

Tool name

reclameaqui_com_br_idp

Auth

Bearer ou X-API-Key

reclameaqui_com_br_idp tools/call
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "reclameaqui_com_br_idp",
    "arguments": {
      "complaintId": "1rCft1v6-JLpFGtC",
      "executionId": "exec_example_123"
    }
  }
}

Possibilidades de input

Campos suportados nesta API do POST /v1/extract, com regras específicas de obrigatoriedade e condicionais.

Campo Tipo Status Regra Default Exemplo
url
URL alvo da extração. Para alguns PLPs pode ser omitida quando a API monta a URL a partir de outros campos.
string (URL) Condicional Envie a URL pública da reclamação ou informe complaintId. Não envie os dois campos. - https://www.mercadolivre.com.br/p/MLB123456
complaintId
Identificador publico da reclamacao no Reclame AQUI, normalmente o ultimo segmento da URL.
string Condicional Identificador textual no último segmento da URL. Obrigatório quando url não for enviada. - 1rCft1v6-JLpFGtC
target
Fonte alvo da extração.
enum Obrigatório Sempre obrigatório e deve ser reclameaqui.com.br. - mercadolivre.com.br
type
Tipo da extração: pdp, idp, plp, ilp, quote, review ou places.
enum Obrigatório Sempre obrigatório e deve ser idp. - pdp

Exemplos de request

Reclamação por ID

Informe o identificador textual que aparece no final da URL pública.

Reclamação por ID
{
  "target": "reclameaqui.com.br",
  "type": "idp",
  "complaintId": "1rCft1v6-JLpFGtC"
}

Reclamação por URL

Também é possível enviar diretamente a URL pública completa da reclamação.

Reclamação por URL
{
  "target": "reclameaqui.com.br",
  "type": "idp",
  "url": "https://www.reclameaqui.com.br/nubank/solicitacao-de-reativacao-de-cartao-de-credito-nubank-apos-regularizacao-de-pendencias_1rCft1v6-JLpFGtC/"
}

Schema de response (leaf paths)

Mapa de paths de saída com tipo esperado para esta API.

responseSchema
{
  "requestId": "string (uuid)",
  "executionId": "string (uuid)",
  "notFound": "boolean (optional; true quando a reclamação não existe e data é null)",
  "data.source": "string",
  "data.type": "string",
  "data.parser": "string",
  "data.url": "string (URL)",
  "data.requestUrl": "string (URL)",
  "data.extractedAt": "string (ISO datetime)",
  "data.complaint.id": "string",
  "data.complaint.legacyId": "integer | null",
  "data.complaint.title": "string | null",
  "data.complaint.description": "string | null",
  "data.complaint.createdAt": "string (ISO datetime) | null",
  "data.complaint.statusRaw": "string | null",
  "data.complaint.status": "string",
  "data.complaint.evaluated": "boolean",
  "data.complaint.solved": "boolean",
  "data.complaint.score": "number | null",
  "data.complaint.wouldDoBusinessAgain": "boolean | null",
  "data.complaint.evaluationExpiresAt": "string (ISO datetime) | null",
  "data.complaint.daysRemaining": "integer | null",
  "data.complaint.additionalInfo": "string | null",
  "data.complaint.consumer.id": "string | null",
  "data.complaint.consumer.city": "string | null",
  "data.complaint.consumer.state": "string | null",
  "data.complaint.company.id": "string | null",
  "data.complaint.company.name": "string | null",
  "data.complaint.company.shortname": "string | null",
  "data.complaint.company.profileUrl": "string (URL) | null",
  "data.complaint.classification.category.id": "string | null",
  "data.complaint.classification.category.name": "string | null",
  "data.complaint.classification.productType.id": "string | null",
  "data.complaint.classification.productType.name": "string | null",
  "data.complaint.classification.problemType.id": "string | null",
  "data.complaint.classification.problemType.name": "string | null",
  "data.complaint.interactions[].id": "string",
  "data.complaint.interactions[].sourceType": "string | null",
  "data.complaint.interactions[].type": "string",
  "data.complaint.interactions[].authorRole": "string",
  "data.complaint.interactions[].message": "string | null",
  "data.complaint.interactions[].createdAt": "string (ISO datetime) | null"
}

Exemplo de response

responseExample
{
  "requestId": "req_01K0RACOMPLAINT00000000001",
  "executionId": "exe_01K0RACOMPLAINT00000000002",
  "data": {
    "source": "reclameaqui.com.br",
    "type": "idp",
    "parser": "public_complaint_api",
    "url": "https://www.reclameaqui.com.br/nubank/nubank-falha-recorrente-na-resolucao-de-problemas-de-inconsistencia-de-dados-no-app-apos-quitacao-de-emprestimo_C3xZYYfUpkimGRKB/",
    "requestUrl": "https://api-green.reclameaqui.com.br/public-complaint-read-service/api/complaint/C3xZYYfUpkimGRKB",
    "extractedAt": "2026-07-12T12:33:00.000Z",
    "complaint": {
      "id": "C3xZYYfUpkimGRKB",
      "legacyId": 245964349,
      "title": "Nubank: Falha recorrente na resolução de inconsistência de dados no app após quitação de empréstimo",
      "description": "Consumidor relata informações incorretas no aplicativo mesmo após a quitação do empréstimo.",
      "createdAt": "2026-04-13T21:30:59",
      "statusRaw": "ANSWERED",
      "status": "SOLVED",
      "evaluated": true,
      "solved": true,
      "score": 10,
      "wouldDoBusinessAgain": true,
      "evaluationExpiresAt": "2026-07-20T23:59:59.000Z",
      "daysRemaining": 8,
      "additionalInfo": "Atendimento realizado pelos canais digitais.",
      "consumer": {
        "id": "consumer_public_id",
        "city": "Curitiba",
        "state": "PR"
      },
      "company": {
        "id": "88850",
        "name": "Nubank",
        "shortname": "nubank",
        "profileUrl": "https://www.reclameaqui.com.br/empresa/nubank/"
      },
      "classification": {
        "category": {
          "id": "0000000000000001",
          "name": "Bancos"
        },
        "productType": {
          "id": "0000000000000910",
          "name": "Conta"
        },
        "problemType": {
          "id": "0000000000000011",
          "name": "Divergência de valores"
        }
      },
      "interactions": [
        {
          "id": "interaction_company_answer",
          "sourceType": "ANSWER",
          "type": "ANSWER",
          "authorRole": "company",
          "message": "A empresa informou que analisou o caso e orientou o consumidor pelos canais oficiais.",
          "createdAt": "2026-06-21T10:30:00.000Z"
        },
        {
          "id": "interaction_consumer_reply",
          "sourceType": "REPLY",
          "type": "REPLY",
          "authorRole": "consumer",
          "message": "O consumidor confirmou o atendimento e registrou sua avaliação.",
          "createdAt": "2026-06-23T16:10:00.000Z"
        }
      ]
    }
  }
}

Referência completa de campos

Path Tipo Descrição Exemplo
data.complaint.additionalInfo string | null Informação adicional pública associada ao caso. Atendimento realizado pelos canais digitais.
data.complaint.classification.category.id string | null ID textual da categoria pública associada à reclamação. 0000000000000001
data.complaint.classification.category.name string | null Nome da categoria pública associada à reclamação. Bancos
data.complaint.classification.problemType.id string | null ID textual do tipo de problema associado. 0000000000000011
data.complaint.classification.problemType.name string | null Nome do tipo de problema associado. Divergência de valores
data.complaint.classification.productType.id string | null ID textual do produto ou serviço associado. 0000000000000910
data.complaint.classification.productType.name string | null Nome do produto ou serviço associado. Conta
data.complaint.company.id string | null Identificador textual da empresa reclamada. 88850
data.complaint.company.name string | null Nome público da empresa reclamada. Nubank
data.complaint.company.profileUrl string (URL) | null URL canônica do perfil da empresa. https://www.reclameaqui.com.br/empresa/nubank/
data.complaint.company.shortname string | null Slug público da empresa. nubank
data.complaint.consumer.city string | null Cidade pública associada à reclamação. Curitiba
data.complaint.consumer.id string | null Identificador público do consumidor, sem exposição do nome. consumer_public_id
data.complaint.consumer.state string | null UF pública associada à reclamação. PR
data.complaint.createdAt string (ISO datetime) | null Data de publicação da reclamação. 2026-04-13T21:30:59
data.complaint.daysRemaining integer | null Dias restantes para avaliação quando aplicável. 8
data.complaint.description string | null Relato público completo do consumidor. Consumidor relata informações incorretas no aplicativo mesmo após a quitação do empréstimo.
data.complaint.evaluated boolean Indica se o atendimento foi avaliado pelo consumidor. true
data.complaint.evaluationExpiresAt string (ISO datetime) | null Prazo final para avaliação quando informado pela fonte. 2026-07-20T23:59:59.000Z
data.complaint.id string Identificador público textual da reclamação. C3xZYYfUpkimGRKB
data.complaint.interactions[].authorRole string Papel normalizado do autor, como company ou consumer. company
data.complaint.interactions[].createdAt string (ISO datetime) | null Data/hora pública da interação. 2026-06-21T10:30:00.000Z
data.complaint.interactions[].id string Identificador textual da interação. interaction_company_answer
data.complaint.interactions[].message string | null Conteúdo público integral da interação. A empresa informou que analisou o caso e orientou o consumidor pelos canais oficiais.
data.complaint.interactions[].sourceType string | null Tipo bruto da origem/autor da interação. ANSWER
data.complaint.interactions[].type string Tipo de evento, como resposta ou réplica. ANSWER
data.complaint.legacyId integer | null Identificador numérico legado quando disponível. 245964349
data.complaint.score number | null Nota atribuída pelo consumidor quando há avaliação. 10
data.complaint.solved boolean Indica se o consumidor marcou o problema como resolvido. true
data.complaint.status string Status normalizado pela GeckoAPI. SOLVED
data.complaint.statusRaw string | null Status bruto retornado pela fonte. ANSWERED
data.complaint.title string | null Título público da reclamação. Nubank: Falha recorrente na resolução de inconsistência de dados no app após quitação de empréstimo
data.complaint.wouldDoBusinessAgain boolean | null Indica se o consumidor voltaria a fazer negócio. true
data.extractedAt string (ISO datetime) Timestamp UTC da extração. 2026-07-12T12:33:00.000Z
data.parser string Estratégia usada para consultar e normalizar a API pública de reclamações. public_complaint_api
data.requestUrl string (URL) Endpoint upstream efetivamente consultado pelo worker. https://api-green.reclameaqui.com.br/public-complaint-read-service/api/complaint/C3xZYYfUpkimGRKB
data.source string Fonte fixa da extração. reclameaqui.com.br
data.type string Tipo fixo da extração. idp
data.url string (URL) URL pública canônica retornada pela fonte. https://www.reclameaqui.com.br/nubank/nubank-falha-recorrente-na-resolucao-de-problemas-de-inconsistencia-de-dados-no-app-apos-quitacao-de-emprestimo_C3xZYYfUpkimGRKB/
executionId string (uuid) ID interno da execução processada pelo worker. exe_01K0RACOMPLAINT00000000002
notFound boolean (optional; true quando a reclamação não existe e data é null) Presente e true quando a reclamação não é encontrada; nesse caso data é null. N/A
requestId string (uuid) ID da requisição HTTP na GeckoAPI. req_01K0RACOMPLAINT00000000001

Erros comuns

Respostas com notFound: true não entram nesta tabela, porque retornam sucesso HTTP 200.

Status errorCode Quando acontece
400 INVALID_PAYLOAD JSON inválido ou violação das regras de validação do payload.
401 UNAUTHORIZED Header Authorization ausente ou token/chave inválida.
402 INSUFFICIENT_CREDITS Saldo de créditos insuficiente para a API solicitada.
403 FORBIDDEN Usuário sem acesso ou API temporariamente desabilitada.
409 EXECUTION_CONFLICT executionId conflita com uma execução em estado incompatível.
429 RATE_LIMIT_EXCEEDED / TOO_MANY_INFLIGHT_REQUESTS Limite de taxa ou limite de requisições em voo excedido.
5xx UPSTREAM_TIMEOUT / UPSTREAM_HTTP_ERROR / WORKER_INVOCATION_FAILED / WORKER_FUNCTION_ERROR / WORKER_INVALID_RESPONSE / INTERNAL_ERROR Falha de servidor no worker, provider/proxy ou gateway. Nesses casos os créditos são estornados automaticamente.