Most recent complaints by company
Enter the company slug; page starts at 1 and complaintStatus uses latest by default.
{
"target": "reclameaqui.com.br",
"type": "ilp",
"company": "nubank",
"page": 1,
"complaintStatus": "latest"
} // docs
Lists public complaints for a company with pagination, textual search, status aliases, taxonomy filters and facets for new queries. The pageSize is fixed to 5. Cost: 1 credit per request.
reclameaqui.com.br:ilp · 1 credit per request
Standard credit cost. Your account pricing is shown in the sandbox.
Try this operation in the sandboxcurl -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": "ilp",
"company": "nubank",
"page": 1,
"complaintStatus": "latest"
}' Keep your API key on your server. See the quickstart for authentication and response handling.
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
{
"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"
}
}
} Conditional fields depend on the alternatives and constraints in the rule column. Fields marked unsupported are omitted.
| Field | Type | Requirement | Rule | Default | Example |
|---|---|---|---|---|---|
| url URL extraction target. For some PLPs it can be omitted when API assembles URL from other fields. | string (URL) | Conditional | Send public URL /empresa/{shortname}/lista-reclamacoes/ or report company. | - | https://www.reclameaqui.com.br/empresa/nubank/lista-reclamacoes/ |
| 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 | Optional | Text searched for in company complaints. | - | pix |
| company Company friendly slug on Reclame AQUI. You can replace URL in the profile and complaint listing endpoints. | string (slug) | Conditional | Company public slug. Mandatory when url is not sent. | - | nubank |
| complaintStatus User-friendly filter for the list of complaints in Reclame AQUI. The backend translates the aliases for the source filters. | "latest" | "unanswered" | "answered" | "evaluated" | "resolved" | "unresolved" | Optional | Accepted aliases: latest, unanswered, answered, evaluated, resolved and unresolved. | latest | latest |
| categoryId ID returned in the facets of Reclame AQUI ILP to refine the complaint listing. | string | Optional | Category ID returned in facets.categories. | - | 0000000000000003 |
| problemTypeId ID of issue type returned in the facets of Reclame AQUI ILP. | string | Optional | ID of problem type returned in facets.problems. | - | 0000000000000075 |
| productTypeId ID of product or service returned in the facets of Reclame AQUI ILP. | string | Optional | ID of product or service returned in facets.products. | - | 0000000000000025 |
| additionalInfoId Reclame AQUI ILP special campaign: blackfriday or coronavirus. | string | Optional | Special font campaign. Accepted values: blackfriday or coronavirus. | - | blackfriday |
| 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 ilp. | - | ilp |
| page Pagination. In PLP, including Trivago, and in Reclame AQUI ILP starts in 1; in review (MercadoLivre, Booking and Hotels) starts in 0. The Reclame AQUI ILP even accepts the page 100. | integer | Optional | Page 1-based. The font supports a maximum of page 100. | 1 | 1 |
Enter the company slug; page starts at 1 and complaintStatus uses latest by default.
{
"target": "reclameaqui.com.br",
"type": "ilp",
"company": "nubank",
"page": 1,
"complaintStatus": "latest"
} Filters the complaints page by term and by the friendly alias answered.
{
"target": "reclameaqui.com.br",
"type": "ilp",
"url": "https://www.reclameaqui.com.br/empresa/nubank/lista-reclamacoes/",
"keyword": "pix",
"complaintStatus": "answered",
"page": 2
} Reuse IDs returned in facets for category, product and issue; special accepts blackfriday or coronavirus.
{
"target": "reclameaqui.com.br",
"type": "ilp",
"company": "nubank",
"categoryId": "0000000000000003",
"productTypeId": "0000000000000025",
"problemTypeId": "0000000000000075",
"additionalInfoId": "blackfriday",
"page": 1
} Leaf paths and expected types. Field names and enum values are part of the API contract.
{
"requestId": "string (uuid)",
"executionId": "string (uuid)",
"notFound": "boolean (optional; true when the company does not exist and data is null)",
"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.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"
} 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.
{
"requestId": "req_01K0RALISTNUBANK0000000001",
"executionId": "exe_01K0RALISTNUBANK0000000002",
"data": {
"source": "reclameaqui.com.br",
"type": "ilp",
"parser": "1.0.0",
"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
}
]
}
} | Path | Type | Description | Example |
|---|---|---|---|
| data.company.id | string | Textual identifier of the company. | 88850 |
| data.company.logoUrl | string (URL) | null | Public logo URL. | https://img.reclameaqui.com.br/company/nubank/logo.png |
| data.company.name | string | null | Public company name. | Nubank |
| data.company.profileUrl | string (URL) | URL canonical company profile. | https://www.reclameaqui.com.br/empresa/nubank/ |
| data.company.reputationStatus | string | null | Reputation textual range. | RA1000 |
| data.company.score | number | null | Aggregated reputation score. | 8.1 |
| data.company.shortname | string | Company public slug. | nubank |
| data.company.verificationStatus | string | null | Verbatim status of the check. | SHOW_VERIFIED |
| data.company.verified | boolean | Indicates whether the company is verified. | true |
| data.complaints[].canonicalUrl | string (URL) | URL canonical to open the full case. | 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 | Complaint publication date. | 2026-06-20T14:15:00.000Z |
| data.complaints[].description | string | null | Excerpt or public description of the complaint. | Consumidor relata que regularizou as pendências e solicita nova análise do cartão. |
| data.complaints[].evaluated | boolean | Indicates whether the consumer evaluated the service. | false |
| data.complaints[].id | string | Public textual identifier of the complaint. | 1rCft1v6-JLpFGtC |
| data.complaints[].solved | boolean | Indicates whether the consumer marked the case as resolved. | false |
| data.complaints[].status | string | Status normalized by GeckoAPI. | ANSWERED |
| data.complaints[].statusRaw | string | null | Raw status returned by the source. | ANSWERED |
| data.complaints[].title | string | null | Public title of the complaint. | Solicitação de reativação de cartão após regularização |
| data.extractedAt | string (ISO datetime) | Extraction Timestamp UTC. | 2026-07-12T12:32:00.000Z |
| data.facets.categories[].count | integer | Number of results in this category. | 96 |
| data.facets.categories[].id | string | ID. | 0000000000000003 |
| data.facets.categories[].name | string | null | Category name. | Cartões de Crédito |
| data.facets.problems[].count | integer | Number of results in this type of problem. | 43 |
| data.facets.problems[].id | string | ID reusable problem type. | 0000000000000075 |
| data.facets.problems[].name | string | null | Name of the problem type. | Cobrança indevida |
| data.facets.products[].count | integer | Number of results for this product or service. | 171 |
| data.facets.products[].id | string | ID reusable product or service. | 0000000000000025 |
| data.facets.products[].name | string | null | Name of the product or service. | Cartão de crédito |
| data.filters.additionalInfoId | string | null | Special campaign applied (blackfriday or coronavirus), or null. | blackfriday |
| data.filters.categoryId | string | null | Category ID applied, or null without filter. | 0000000000000003 |
| data.filters.keyword | string | null | Textual term applied to the listing. | pix |
| data.filters.page | integer | Page requested after normalization. | 2 |
| data.filters.pageSize | integer | Fixed page size, always 5. | 5 |
| data.filters.problemTypeId | string | null | ID of applied problem, or null. | 0000000000000075 |
| data.filters.productTypeId | string | null | ID of applied product/service, or null. | 0000000000000025 |
| data.filters.status | string | Status friendly alias applied. | answered |
| data.pagination.hasNextPage | boolean | Indicates whether there is a next page. | true |
| data.pagination.hasPreviousPage | boolean | Indicates whether there is a previous page. | true |
| data.pagination.maxSupportedPage | integer | Largest page allowed by integration. | 100 |
| data.pagination.page | integer | Current page, starting at 1. | 2 |
| data.pagination.pageSize | integer | Fixed number of items per page. | 5 |
| data.pagination.totalCount | integer | Total complaints found for the filters. | 284 |
| data.pagination.totalPages | integer | Calculated total pages. | 57 |
| data.parser | "1.0.0" | Stable version of the API response format. | 1.0.0 |
| data.requestUrl | string (URL) | Same value as `data.url`; never exposes the queried internal endpoint. | 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 | Fixed extraction source. | reclameaqui.com.br |
| data.type | string | Fixed extraction type. | ilp |
| data.url | string (URL) | URL canonical public listing with filters applied. | 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 internal to the execution processed by the worker. | exe_01K0RALISTNUBANK0000000002 |
| notFound | boolean (optional; true when the company does not exist and data is null) | Present and true when the company is not found; in this case data is null. | N/A |
| requestId | string (uuid) | ID from request HTTP to GeckoAPI. | req_01K0RALISTNUBANK0000000001 |
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 status | Error code | Meaning |
|---|---|---|
| 400 | INVALID_PAYLOAD | Invalid JSON or a request that violates the documented validation rules. |
| 401 | UNAUTHORIZED | Missing authorization or an invalid API key or token. |
| 402 | INSUFFICIENT_CREDITS | The account has insufficient credits for this operation. |
| 403 | FORBIDDEN | The account does not have access, or the API is temporarily disabled. |
| 409 | EXECUTION_CONFLICT | The execution identifier conflicts with an incompatible execution state. |
| 429 | RATE_LIMIT_EXCEEDED / TOO_MANY_INFLIGHT_REQUESTS | A rate limit or simultaneous request limit was exceeded. |
| 5xx | UPSTREAM_TIMEOUT / UPSTREAM_HTTP_ERROR / WORKER_FUNCTION_ERROR | An upstream, worker or gateway failure. Failed requests follow the platform refund policy. |