// docs

Reclame AQUI ILP — Lista de reclamações

Lista reclamações públicas de uma empresa com paginação, busca textual, aliases de status, filtros de taxonomia e facets para novas consultas. O pageSize é fixo em 5. 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": "ilp",
  "company": "nubank",
  "page": 1,
  "complaintStatus": "latest"
}'

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_ilp

Auth

Bearer ou X-API-Key

reclameaqui_com_br_ilp tools/call
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "reclameaqui_com_br_ilp",
    "arguments": {
      "company": "nubank",
      "page": 1,
      "complaintStatus": "latest",
      "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 /empresa/{shortname}/lista-reclamacoes/ ou informe company. - https://www.mercadolivre.com.br/p/MLB123456
keyword
Palavra-chave para buscas PLP. Em Google Search ela representa a query enviada ao Google; em Booking PLP é obrigatória; em outros PLPs pode substituir a URL.
string Opcional Texto buscado nas reclamações da empresa. - iphone 15 pro max
company
Slug amigavel da empresa no Reclame AQUI. Pode substituir a URL nos endpoints de perfil e listagem de reclamacoes.
string (slug) Condicional Slug público da empresa. Obrigatório quando url não for enviada. - nubank
complaintStatus
Filtro amigavel da listagem de reclamacoes no Reclame AQUI. O backend traduz os aliases para os filtros da fonte.
"latest" | "unanswered" | "answered" | "evaluated" | "resolved" | "unresolved" Opcional Aliases aceitos: latest, unanswered, answered, evaluated, resolved e unresolved. latest unanswered
categoryId
ID de categoria retornado nos facets do Reclame AQUI ILP para refinar a listagem de reclamacoes.
string Opcional ID de categoria retornado em facets.categories. - 0000000000000003
problemTypeId
ID de tipo de problema retornado nos facets do Reclame AQUI ILP.
string Opcional ID de tipo de problema retornado em facets.problems. - 0000000000000075
productTypeId
ID de produto ou servico retornado nos facets do Reclame AQUI ILP.
string Opcional ID de produto ou serviço retornado em facets.products. - 0000000000000025
additionalInfoId
Campanha especial do Reclame AQUI ILP: blackfriday ou coronavirus.
string Opcional Campanha especial da fonte. Valores aceitos: blackfriday ou coronavirus. - blackfriday
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 ilp. - pdp
page
Paginacao. Em PLP, inclusive Trivago, e no Reclame AQUI ILP inicia em 1; em review (MercadoLivre, Booking e Hoteis) inicia em 0. O Reclame AQUI ILP aceita ate a pagina 100.
integer Opcional Página 1-based. A fonte suporta no máximo a página 100. 1 2

Exemplos de request

Reclamações mais recentes por empresa

Informe o slug da empresa; page inicia em 1 e complaintStatus usa latest por padrão.

Reclamações mais recentes por empresa
{
  "target": "reclameaqui.com.br",
  "type": "ilp",
  "company": "nubank",
  "page": 1,
  "complaintStatus": "latest"
}

Busca por palavra-chave e status

Filtra a página de reclamações por termo e pelo alias amigável answered.

Busca por palavra-chave e status
{
  "target": "reclameaqui.com.br",
  "type": "ilp",
  "url": "https://www.reclameaqui.com.br/empresa/nubank/lista-reclamacoes/",
  "keyword": "pix",
  "complaintStatus": "answered",
  "page": 2
}

Filtros de taxonomia e campanha especial

Reutilize IDs retornados em facets para categoria, produto e problema; especial aceita blackfriday ou coronavirus.

Filtros de taxonomia e campanha especial
{
  "target": "reclameaqui.com.br",
  "type": "ilp",
  "company": "nubank",
  "categoryId": "0000000000000003",
  "productTypeId": "0000000000000025",
  "problemTypeId": "0000000000000075",
  "additionalInfoId": "blackfriday",
  "page": 1
}

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 empresa 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.company.id": "string",
  "data.company.name": "string | null",
  "data.company.shortname": "string",
  "data.company.profileUrl": "string (URL)",
  "data.company.logoUrl": "string (URL) | null",
  "data.company.verified": "boolean",
  "data.company.verificationStatus": "string | null",
  "data.company.reputationStatus": "string | null",
  "data.company.score": "number | null",
  "data.filters.page": "integer",
  "data.filters.pageSize": "integer",
  "data.filters.keyword": "string | null",
  "data.filters.status": "string",
  "data.filters.categoryId": "string | null",
  "data.filters.productTypeId": "string | null",
  "data.filters.problemTypeId": "string | null",
  "data.filters.additionalInfoId": "string | null",
  "data.pagination.page": "integer",
  "data.pagination.pageSize": "integer",
  "data.pagination.totalCount": "integer",
  "data.pagination.totalPages": "integer",
  "data.pagination.hasPreviousPage": "boolean",
  "data.pagination.hasNextPage": "boolean",
  "data.pagination.maxSupportedPage": "integer",
  "data.facets.categories[].id": "string",
  "data.facets.categories[].name": "string | null",
  "data.facets.categories[].count": "integer",
  "data.facets.products[].id": "string",
  "data.facets.products[].name": "string | null",
  "data.facets.products[].count": "integer",
  "data.facets.problems[].id": "string",
  "data.facets.problems[].name": "string | null",
  "data.facets.problems[].count": "integer",
  "data.complaints[].id": "string",
  "data.complaints[].title": "string | null",
  "data.complaints[].description": "string | null",
  "data.complaints[].canonicalUrl": "string (URL)",
  "data.complaints[].createdAt": "string (ISO datetime) | null",
  "data.complaints[].statusRaw": "string | null",
  "data.complaints[].status": "string",
  "data.complaints[].evaluated": "boolean",
  "data.complaints[].solved": "boolean"
}

Exemplo de response

responseExample
{
  "requestId": "req_01K0RALISTNUBANK0000000001",
  "executionId": "exe_01K0RALISTNUBANK0000000002",
  "data": {
    "source": "reclameaqui.com.br",
    "type": "ilp",
    "parser": "next_data_and_network_capture",
    "url": "https://www.reclameaqui.com.br/empresa/nubank/lista-reclamacoes/?pagina=2&busca=pix&status=ANSWERED&categoria=0000000000000003&produto=0000000000000025&problema=0000000000000075&especial=blackfriday",
    "requestUrl": "https://www.reclameaqui.com.br/empresa/nubank/lista-reclamacoes/?pagina=2&busca=pix&status=ANSWERED&categoria=0000000000000003&produto=0000000000000025&problema=0000000000000075&especial=blackfriday",
    "extractedAt": "2026-07-12T12:32:00.000Z",
    "company": {
      "id": "88850",
      "name": "Nubank",
      "shortname": "nubank",
      "profileUrl": "https://www.reclameaqui.com.br/empresa/nubank/",
      "logoUrl": "https://img.reclameaqui.com.br/company/nubank/logo.png",
      "verified": true,
      "verificationStatus": "SHOW_VERIFIED",
      "reputationStatus": "RA1000",
      "score": 8.1
    },
    "filters": {
      "page": 2,
      "pageSize": 5,
      "keyword": "pix",
      "status": "answered",
      "categoryId": "0000000000000003",
      "productTypeId": "0000000000000025",
      "problemTypeId": "0000000000000075",
      "additionalInfoId": "blackfriday"
    },
    "pagination": {
      "page": 2,
      "pageSize": 5,
      "totalCount": 284,
      "totalPages": 57,
      "hasPreviousPage": true,
      "hasNextPage": true,
      "maxSupportedPage": 100
    },
    "facets": {
      "categories": [
        {
          "id": "0000000000000003",
          "name": "Cartões de Crédito",
          "count": 96
        }
      ],
      "products": [
        {
          "id": "0000000000000025",
          "name": "Cartão de crédito",
          "count": 171
        }
      ],
      "problems": [
        {
          "id": "0000000000000075",
          "name": "Cobrança indevida",
          "count": 43
        }
      ]
    },
    "complaints": [
      {
        "id": "1rCft1v6-JLpFGtC",
        "title": "Solicitação de reativação de cartão após regularização",
        "description": "Consumidor relata que regularizou as pendências e solicita nova análise do cartão.",
        "canonicalUrl": "https://www.reclameaqui.com.br/nubank/solicitacao-de-reativacao-de-cartao-de-credito-nubank-apos-regularizacao-de-pendencias_1rCft1v6-JLpFGtC/",
        "createdAt": "2026-06-20T14:15:00.000Z",
        "statusRaw": "ANSWERED",
        "status": "ANSWERED",
        "evaluated": false,
        "solved": false
      }
    ]
  }
}

Referência completa de campos

Path Tipo Descrição Exemplo
data.company.id string Identificador textual da empresa. 88850
data.company.logoUrl string (URL) | null URL do logotipo público. https://img.reclameaqui.com.br/company/nubank/logo.png
data.company.name string | null Nome público da empresa. Nubank
data.company.profileUrl string (URL) URL canônica do perfil da empresa. https://www.reclameaqui.com.br/empresa/nubank/
data.company.reputationStatus string | null Faixa textual de reputação. RA1000
data.company.score number | null Nota agregada de reputação. 8.1
data.company.shortname string Slug público da empresa. nubank
data.company.verificationStatus string | null Status textual da verificação. SHOW_VERIFIED
data.company.verified boolean Indica se a empresa está verificada. true
data.complaints[].canonicalUrl string (URL) URL canônica para abrir o caso completo. https://www.reclameaqui.com.br/nubank/solicitacao-de-reativacao-de-cartao-de-credito-nubank-apos-regularizacao-de-pendencias_1rCft1v6-JLpFGtC/
data.complaints[].createdAt string (ISO datetime) | null Data de publicação da reclamação. 2026-06-20T14:15:00.000Z
data.complaints[].description string | null Trecho ou descrição pública da reclamação. Consumidor relata que regularizou as pendências e solicita nova análise do cartão.
data.complaints[].evaluated boolean Indica se o consumidor avaliou o atendimento. false
data.complaints[].id string Identificador público textual da reclamação. 1rCft1v6-JLpFGtC
data.complaints[].solved boolean Indica se o consumidor marcou o caso como resolvido. false
data.complaints[].status string Status normalizado pela GeckoAPI. ANSWERED
data.complaints[].statusRaw string | null Status bruto retornado pela fonte. ANSWERED
data.complaints[].title string | null Título público da reclamação. Solicitação de reativação de cartão após regularização
data.extractedAt string (ISO datetime) Timestamp UTC da extração. 2026-07-12T12:32:00.000Z
data.facets.categories[].count integer Quantidade de resultados nessa categoria. 96
data.facets.categories[].id string ID reutilizável da categoria. 0000000000000003
data.facets.categories[].name string | null Nome da categoria. Cartões de Crédito
data.facets.problems[].count integer Quantidade de resultados nesse tipo de problema. 43
data.facets.problems[].id string ID reutilizável do tipo de problema. 0000000000000075
data.facets.problems[].name string | null Nome do tipo de problema. Cobrança indevida
data.facets.products[].count integer Quantidade de resultados nesse produto ou serviço. 171
data.facets.products[].id string ID reutilizável do produto ou serviço. 0000000000000025
data.facets.products[].name string | null Nome do produto ou serviço. Cartão de crédito
data.filters.additionalInfoId string | null Campanha especial aplicada (blackfriday ou coronavirus), ou null. blackfriday
data.filters.categoryId string | null ID de categoria aplicado, ou null sem filtro. 0000000000000003
data.filters.keyword string | null Termo textual aplicado à listagem. pix
data.filters.page integer Página solicitada após normalização. 2
data.filters.pageSize integer Tamanho fixo da página, sempre 5. 5
data.filters.problemTypeId string | null ID de problema aplicado, ou null. 0000000000000075
data.filters.productTypeId string | null ID de produto/serviço aplicado, ou null. 0000000000000025
data.filters.status string Alias amigável de status aplicado. answered
data.pagination.hasNextPage boolean Indica se há próxima página. true
data.pagination.hasPreviousPage boolean Indica se há página anterior. true
data.pagination.maxSupportedPage integer Maior página permitida pela integração. 100
data.pagination.page integer Página atual, iniciando em 1. 2
data.pagination.pageSize integer Quantidade fixa de itens por página. 5
data.pagination.totalCount integer Total de reclamações encontradas para os filtros. 284
data.pagination.totalPages integer Total calculado de páginas. 57
data.parser string Estratégia combinada de dados da página e captura de rede. next_data_and_network_capture
data.requestUrl string (URL) URL upstream efetivamente consultada pelo worker. https://www.reclameaqui.com.br/empresa/nubank/lista-reclamacoes/?pagina=2&busca=pix&status=ANSWERED&categoria=0000000000000003&produto=0000000000000025&problema=0000000000000075&especial=blackfriday
data.source string Fonte fixa da extração. reclameaqui.com.br
data.type string Tipo fixo da extração. ilp
data.url string (URL) URL pública canônica da listagem com os filtros aplicados. https://www.reclameaqui.com.br/empresa/nubank/lista-reclamacoes/?pagina=2&busca=pix&status=ANSWERED&categoria=0000000000000003&produto=0000000000000025&problema=0000000000000075&especial=blackfriday
executionId string (uuid) ID interno da execução processada pelo worker. exe_01K0RALISTNUBANK0000000002
notFound boolean (optional; true quando a empresa não existe e data é null) Presente e true quando a empresa não é encontrada; nesse caso data é null. N/A
requestId string (uuid) ID da requisição HTTP na GeckoAPI. req_01K0RALISTNUBANK0000000001

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.