Skip to content

// docs

Reclame AQUI: Search companies

Searches companies in Reclame AQUI by URL or keyword and returns identity, location, verification, segments, and a reputation summary. Cost: 1 credit per request.

reclameaqui.com.br:plp · 1 credit per request

Standard credit cost. Your account pricing is shown in the sandbox.

Try this operation in the sandbox

HTTP request

cURL
curl -X POST https://api.geckoapi.com.br/v1/extract \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "target": "reclameaqui.com.br",
  "type": "plp",
  "keyword": "nubank",
  "state": "SP",
  "city": "São Paulo",
  "pageSize": 10
}'

Keep your API key on your server. See the quickstart for authentication and response handling.

MCP request

The hosted MCP tool fixes target and type for this operation. Its remaining arguments use the same input rules as Extract.

POST /v1/mcp · Bearer or X-API-Key authentication

reclameaqui_com_br_plp · tools/call
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "reclameaqui_com_br_plp",
    "arguments": {
      "keyword": "nubank",
      "state": "SP",
      "city": "São Paulo",
      "pageSize": 10,
      "executionId": "exec_example_123"
    }
  }
}

Supported inputs

Conditional fields depend on the alternatives and constraints in the rule column. Fields marked unsupported are omitted.

FieldTypeRequirementRuleDefaultExample
url
URL extraction target. For some PLPs it can be omitted when API assembles URL from other fields.
string (URL) Conditional Send a public URL /busca/?q=... or enter keyword. Do not send both fields. - https://www.reclameaqui.com.br/busca/?q=nubank
keyword
Keyword for PLP searches. In Google Search it represents the query sent to Google; in Booking PLP is mandatory; in other PLPs it can replace URL.
string Conditional Name or term used to search for companies. Mandatory when url is not sent. - nubank
pageSize
Number of items per page. In Reclame AQUI PLP accepts from 1 to 50; in ILP the default font is e 5.
integer Optional Maximum number of companies returned, between 1 and 50. 50 10
city
City used in structured searches for properties and vehicles and optionally in Catho PLP. In VivaReal, it requires state.
string Optional City name to restrict the search within UF. - São Paulo
state
UF used in structured searches for properties and vehicles and optionally in Catho PLP.
string (UF 2 letters) Optional UF with two letters to narrow the search, for example SP. - SP
target
Target source for extraction.
enum Required Always required and must be reclameaqui.com.br. - reclameaqui.com.br
type
Extraction type: pdp, idp, plp, ilp, quote, review or places.
enum Required Always required and must be plp. - plp

Request examples

Keyword search

Enter keyword and, optionally, pageSize, state and city. The backend mounts the public search URL.

Keyword search
{
  "target": "reclameaqui.com.br",
  "type": "plp",
  "keyword": "nubank",
  "state": "SP",
  "city": "São Paulo",
  "pageSize": 10
}

Search for URL

You can also directly send a URL /busca/ from Reclame AQUI.

Search for URL
{
  "target": "reclameaqui.com.br",
  "type": "plp",
  "url": "https://www.reclameaqui.com.br/busca/?q=nubank",
  "pageSize": 10
}

Response schema

Leaf paths and expected types. Field names and enum values are part of the API contract.

responseSchema
{
  "requestId": "string (uuid)",
  "executionId": "string (uuid)",
  "data.source": "string",
  "data.type": "string",
  "data.parser": "\"1.0.0\"",
  "data.url": "string (URL)",
  "data.requestUrl": "string (URL)",
  "data.extractedAt": "string (ISO datetime)",
  "data.query": "string",
  "data.limit": "integer",
  "data.appliedFilters.state": "string | null",
  "data.appliedFilters.city": "string | null",
  "data.count": "integer",
  "data.companies[].id": "string",
  "data.companies[].name": "string | null",
  "data.companies[].shortname": "string | null",
  "data.companies[].profileUrl": "string (URL) | null",
  "data.companies[].website": "string (URL) | null",
  "data.companies[].logoUrl": "string (URL) | null",
  "data.companies[].documents[]": "string",
  "data.companies[].verified": "boolean",
  "data.companies[].verificationStatus": "string | null",
  "data.companies[].reputation.status": "string | null",
  "data.companies[].reputation.score": "number | null",
  "data.companies[].reputation.complaintsCount": "integer | null",
  "data.companies[].reputation.solvedPercent": "number | null",
  "data.companies[].segments.main.name": "string | null",
  "data.companies[].segments.main.shortname": "string | null",
  "data.companies[].segments.secondary.name": "string | null",
  "data.companies[].segments.secondary.shortname": "string | null",
  "data.companies[].location.city": "string | null",
  "data.companies[].location.state": "string | null",
  "data.companies[].createdAt": "string (ISO datetime) | null"
}

Example response

Illustrative response. Product names, reviews and other source content retain their original language. Missing and null values do not imply zero stock, free shipping or zero reviews.

responseExample
{
  "requestId": "req_01K0RASEARCHNUBANK000000001",
  "executionId": "exe_01K0RASEARCHNUBANK000000002",
  "data": {
    "source": "reclameaqui.com.br",
    "type": "plp",
    "parser": "1.0.0",
    "url": "https://www.reclameaqui.com.br/busca/?q=nubank&state=SP&city=S%C3%A3o+Paulo",
    "requestUrl": "https://www.reclameaqui.com.br/busca/?q=nubank&state=SP&city=S%C3%A3o+Paulo",
    "extractedAt": "2026-07-12T12:30:00.000Z",
    "query": "nubank",
    "limit": 10,
    "appliedFilters": {
      "state": "SP",
      "city": "São Paulo"
    },
    "count": 1,
    "companies": [
      {
        "id": "88850",
        "name": "Nubank",
        "shortname": "nubank",
        "profileUrl": "https://www.reclameaqui.com.br/empresa/nubank/",
        "website": "http://www.nubank.com.br",
        "logoUrl": "https://raichu-uploads.s3.amazonaws.com/logo_nubank_ePbSGr.png",
        "documents": [
          "18236120000158"
        ],
        "verified": true,
        "verificationStatus": "SHOW_VERIFIED",
        "reputation": {
          "status": "RA1000",
          "score": 8.7,
          "complaintsCount": 57922,
          "solvedPercent": 92.9
        },
        "segments": {
          "main": {
            "name": "Bancos e Financeiras",
            "shortname": "bancos-e-financeiras"
          },
          "secondary": {
            "name": "Bancos Tradicionais e Digitais",
            "shortname": "bancos-tradicionais-e-digitais"
          }
        },
        "location": {
          "city": "SAO PAULO",
          "state": "SP"
        },
        "createdAt": "2014-12-12T10:47:00"
      }
    ]
  }
}

Complete field reference

PathTypeDescriptionExample
data.appliedFilters.city string | null City filter recognized by the source, if applicable. São Paulo
data.appliedFilters.state string | null UF filter recognized by the source, if any. SP
data.companies[].createdAt string (ISO datetime) | null Date of creation/registration of the company in the source. 2014-12-12T10:47:00
data.companies[].documents[] string Public business documents associated with the profile, such as CNPJ. 18236120000158
data.companies[].id string Textual identifier of the company in the source. 88850
data.companies[].location.city string | null City associated with the profile. SAO PAULO
data.companies[].location.state string | null UF associated with the profile. SP
data.companies[].logoUrl string (URL) | null URL from the company's public logo. https://raichu-uploads.s3.amazonaws.com/logo_nubank_ePbSGr.png
data.companies[].name string | null Public company name. Nubank
data.companies[].profileUrl string (URL) | null URL canonical company profile. https://www.reclameaqui.com.br/empresa/nubank/
data.companies[].reputation.complaintsCount integer | null Volume of complaints considered in the summary. 57922
data.companies[].reputation.score number | null Aggregated reputation score. 8.7
data.companies[].reputation.solvedPercent number | null Percentage of complaints resolved. 92.9
data.companies[].reputation.status string | null Textual banner or seal of reputation. RA1000
data.companies[].segments.main.name string | null Name of the main thread. Bancos e Financeiras
data.companies[].segments.main.shortname string | null Main thread slug. bancos-e-financeiras
data.companies[].segments.secondary.name string | null Secondary segment name when available. Bancos Tradicionais e Digitais
data.companies[].segments.secondary.shortname string | null Secondary segment slug when available. bancos-tradicionais-e-digitais
data.companies[].shortname string | null Public slug used in company URLs. nubank
data.companies[].verificationStatus string | null Verbatim status of the check. SHOW_VERIFIED
data.companies[].verified boolean Indicates whether the company is verified on the platform. true
data.companies[].website string (URL) | null Institutional website reported in Reclame AQUI. http://www.nubank.com.br
data.count integer Number of companies returned in array companies. 1
data.extractedAt string (ISO datetime) Extraction Timestamp UTC. 2026-07-12T12:30:00.000Z
data.limit integer Limit applied, between 1 and 50. 10
data.parser "1.0.0" Stable version of the API response format. 1.0.0
data.query string Standard term used in the search. nubank
data.requestUrl string (URL) Same value as `data.url`; never exposes the queried internal endpoint. https://www.reclameaqui.com.br/busca/?q=nubank&state=SP&city=S%C3%A3o+Paulo
data.source string Fixed extraction source. reclameaqui.com.br
data.type string Fixed extraction type. plp
data.url string (URL) URL canonical public search on Reclame AQUI. https://www.reclameaqui.com.br/busca/?q=nubank&state=SP&city=S%C3%A3o+Paulo
executionId string (uuid) ID internal to the execution processed by the worker. exe_01K0RASEARCHNUBANK000000002
requestId string (uuid) ID from request HTTP to GeckoAPI. req_01K0RASEARCHNUBANK000000001

Errors and missing data

When supported by this operation, an entity not found upstream can return HTTP 200 with data: null and notFound: true. Check the documented response fields before interpreting an empty result. Source-specific behavior and exceptions are described above.

HTTP statusError codeMeaning
400INVALID_PAYLOADInvalid JSON or a request that violates the documented validation rules.
401UNAUTHORIZEDMissing authorization or an invalid API key or token.
402INSUFFICIENT_CREDITSThe account has insufficient credits for this operation.
403FORBIDDENThe account does not have access, or the API is temporarily disabled.
409EXECUTION_CONFLICTThe execution identifier conflicts with an incompatible execution state.
429RATE_LIMIT_EXCEEDED / TOO_MANY_INFLIGHT_REQUESTSA rate limit or simultaneous request limit was exceeded.
5xxUPSTREAM_TIMEOUT / UPSTREAM_HTTP_ERROR / WORKER_FUNCTION_ERRORAn upstream, worker or gateway failure. Failed requests follow the platform refund policy.

Other Reclame AQUI operations