Reviews by URL
Extraction of evaluations starting on page 0.
{
"url": "https://www.mercadolivre.com.br/p/MLB4997536398",
"target": "mercadolivre.com.br",
"type": "review",
"page": 0
} // docs
Extracts product reviews in Mercado Livre with pagination.
mercadolivre.com.br:review · 1 credit per request
Standard credit cost. Your account pricing is shown in the sandbox.
Try this operation in the sandboxAlways use target=mercadolivre.com.br and select the country with region: BR, MX, CO, or AR. When region is omitted, collection remains in Brazil. Prices retain the currency published by the source (BRL, MXN, COP, or ARS), without conversion. Each call costs 1 credit; daily scheduling and history are managed by the integration.
curl -X POST https://api.geckoapi.com.br/v1/extract \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://www.mercadolivre.com.br/p/MLB4997536398",
"target": "mercadolivre.com.br",
"type": "review",
"page": 0
}' 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": "mercadolivre_com_br_review",
"arguments": {
"url": "https://www.mercadolivre.com.br/p/MLB4997536398",
"page": 0,
"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) | Required | Required for this operation. | - | https://www.mercadolivre.com.br/p/MLB4997536398 |
| region Query region. The format depends on API; Temu PDP accepts br (Brazil), us (United States), uk (United Kingdom) and co (Colombia); PLP accepts br, us and uk. The default of Temu without country in URL is br and OLX accepts a textual region. | string | Optional | Collection country: BR (Brazil), MX (Mexico), CO (Colombia), or AR (Argentina). Optional; defaults to BR when omitted. Accepts uppercase and lowercase. The URL and IDs must belong to the selected country. | - | MX |
| target Target source for extraction. | enum | Required | Always mandatory in the payload and must match the operation. | - | mercadolivre.com.br |
| type Extraction type: pdp, idp, plp, ilp, quote, review or places. | enum | Required | Always mandatory in the payload and must match the operation. | - | review |
| 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 | Supported for review; can start at 0. | - | 0 |
Extraction of evaluations starting on page 0.
{
"url": "https://www.mercadolivre.com.br/p/MLB4997536398",
"target": "mercadolivre.com.br",
"type": "review",
"page": 0
} Collect data in Mexico using the same endpoint and region=MX.
{
"target": "mercadolivre.com.br",
"type": "review",
"url": "https://www.mercadolibre.com.mx/laptop-ideapad-slim-3-153-intel-core-i5-24gb-ram-1tb-ssd-lenovo/p/MLM53153939",
"page": 0,
"region": "MX"
} Collect data in Colombia using the same endpoint and region=CO.
{
"target": "mercadolivre.com.br",
"type": "review",
"url": "https://www.mercadolibre.com.co/lenovo-ideapad-slim-3-15irh10-i5-13420h-16gb-512gb-tactil-gris/p/MCO67634298",
"page": 0,
"region": "CO"
} Collect data in Argentina using the same endpoint and region=AR.
{
"target": "mercadolivre.com.br",
"type": "review",
"url": "https://www.mercadolibre.com.ar/notebook-exo-smart-t38-intel-n4020-4gb-ssd-128gb-windows-11-color-gris/p/MLA22826188",
"page": 0,
"region": "AR"
} 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 upstream entity was not found and data is null)",
"data.source": "string",
"data.type": "string",
"data.url": "string",
"data.requestUrl": "string",
"data.extractedAt": "string (iso datetime)",
"data.objectId": "string",
"data.siteId": "string",
"data.isItem": "boolean",
"data.page": "number",
"data.resultsPerPage": "number",
"data.offset": "number",
"data.totalReviews": "number",
"data.hasNextPage": "boolean",
"data.nextPage": "number",
"data.nextPageUrl": "string",
"data.reviews[].reviewId": "string",
"data.reviews[].rating": "number",
"data.reviews[].title": "string",
"data.reviews[].comment": "string",
"data.reviews[].reviewDate": "string",
"data.reviews[].reviewDateIso": "string",
"data.reviews[].helpfulCount": "number",
"data.reviews[].media[].id": "string",
"data.reviews[].media[].type": "string",
"data.reviews[].media[].alt": "string",
"data.reviews[].media[].url": "string",
"data.reviews[].media[].variations[].size": "string",
"data.reviews[].media[].variations[].url": "string"
} 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": "33333333-1111-4111-8111-333333333333",
"executionId": "33333333-2222-4222-8222-333333333333",
"data": {
"source": "mercadolivre.com.br",
"type": "review",
"url": "https://www.mercadolivre.com.br/p/MLB4997536398",
"requestUrl": "https://www.mercadolivre.com.br/p/MLB4997536398",
"extractedAt": "2026-02-12T12:35:56.000Z",
"objectId": "MLB4997536398",
"siteId": "MLB",
"isItem": true,
"page": 0,
"resultsPerPage": 15,
"offset": 0,
"totalReviews": 321,
"hasNextPage": true,
"nextPage": 1,
"nextPageUrl": "https://www.mercadolivre.com.br/reviews/search?objectId=MLB4997536398&page=1",
"reviews": [
{
"reviewId": "2728303718",
"rating": 5,
"title": "Excelente produto",
"comment": "Otima qualidade e entrega rapida.",
"reviewDate": "2026-02-05",
"reviewDateIso": "2026-02-05",
"helpfulCount": 3,
"media": [
{
"id": "media-1",
"type": "image",
"alt": "Foto enviada pelo comprador",
"url": "https://http2.mlstatic.com/review-media-1.jpg",
"variations": [
{
"size": "small",
"url": "https://http2.mlstatic.com/review-media-1-small.jpg"
}
]
}
]
}
]
}
} | Path | Type | Description | Example |
|---|---|---|---|
| data.extractedAt | string (iso datetime) | data.extractedAt field returned in the response payload. | 2026-02-12T12:35:56.000Z |
| data.hasNextPage | boolean | Field data.hasNextPage returned in the response payload. | true |
| data.isItem | boolean | Field data.isItem returned in the response payload. | true |
| data.nextPage | number | Field data.nextPage returned in the response payload. | 1 |
| data.nextPageUrl | string | Field data.nextPageUrl returned in the response payload. | https://www.mercadolivre.com.br/reviews/search?objectId=MLB4997536398&page=1 |
| data.objectId | string | Field data.objectId returned in the response payload. | MLB4997536398 |
| data.offset | number | Field data.offset returned in the response payload. | 0 |
| data.page | number | Field data.page returned in the response payload. | 0 |
| data.requestUrl | string | Same value as `data.url`; never exposes the queried internal endpoint. | https://www.mercadolivre.com.br/p/MLB4997536398 |
| data.resultsPerPage | number | Field data.resultsPerPage returned in the response payload. | 15 |
| data.reviews[].comment | string | Field data.reviews[].comment returned in the response payload. | Otima qualidade e entrega rapida. |
| data.reviews[].helpfulCount | number | Field data.reviews[].helpfulCount returned in the response payload. | 3 |
| data.reviews[].media[].alt | string | data.reviews[].media[].alt field returned in the response payload. | Foto enviada pelo comprador |
| data.reviews[].media[].id | string | Field data.reviews[].media[].id returned in the response payload. | media-1 |
| data.reviews[].media[].type | string | Field data.reviews[].media[].type returned in the response payload. | image |
| data.reviews[].media[].url | string | Field data.reviews[].media[].url returned in the response payload. | https://http2.mlstatic.com/review-media-1.jpg |
| data.reviews[].media[].variations[].size | string | Field data.reviews[].media[].variations[].size returned in the response payload. | small |
| data.reviews[].media[].variations[].url | string | Field data.reviews[].media[].variations[].url returned in the response payload. | https://http2.mlstatic.com/review-media-1-small.jpg |
| data.reviews[].rating | number | Field data.reviews[].rating returned in the response payload. | 5 |
| data.reviews[].reviewDate | string | Field data.reviews[].reviewDate returned in the response payload. | 2026-02-05 |
| data.reviews[].reviewDateIso | string | Field data.reviews[].reviewDateIso returned in the response payload. | 2026-02-05 |
| data.reviews[].reviewId | string | Field data.reviews[].reviewId returned in the response payload. | 2728303718 |
| data.reviews[].title | string | Field data.reviews[].title returned in the response payload. | Excelente produto |
| data.siteId | string | Field data.siteId returned in the response payload. | MLB |
| data.source | string | Field data.source returned in the response payload. | mercadolivre.com.br |
| data.totalReviews | number | Field data.totalReviews returned in the response payload. | 321 |
| data.type | string | Field data.type returned in the response payload. | review |
| data.url | string | Field data.url returned in the response payload. | https://www.mercadolivre.com.br/p/MLB4997536398 |
| executionId | string (uuid) | Field executionId returned in the response payload. | 33333333-2222-4222-8222-333333333333 |
| notFound | boolean (optional; true when the upstream entity was not found and data is null) | Present and true when the upstream entity was not found. In this case data is null and the request still completes successfully. | N/A |
| requestId | string (uuid) | Field requestId returned in the response payload. | 33333333-1111-4111-8111-333333333333 |
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. |