# Mercado Libre Scraper (`trudax/mercadolibre-scraper`) Actor

MercadoLibre Scraper enables you to extract data about products, sellers, and listings present on this marketplace.

- **URL**: https://apify.com/trudax/mercadolibre-scraper.md
- **Developed by:** [Trudax](https://apify.com/trudax) (community)
- **Categories:** E-commerce
- **Stats:** 725 total users, 9 monthly users, 100.0% runs succeeded, 22 bookmarks
- **User rating**: 2.89 out of 5 stars

## Pricing

$35.00/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#rental-actors

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

### What does MercadoLibre Scraper do?

The MercadoLibre Scraper enables you to extract data from any [MercadoLibre](https://www.mercadolibre.com/) website. It allows you to gather information about products, sellers, and listings over mupliple countries at the same time. Here is a list of the supported domains:

-   Argentina: https://www.mercadolibre.com.ar
-   Bolivia: https://www.mercadolibre.com.bo
-   Brasil: https://www.mercadolivre.com.br
-   Chile: https://www.mercadolibre.cl
-   Colombia: https://www.mercadolibre.com.co
-   Costa Rica: https://www.mercadolibre.co.cr
-   Dominicana: https://www.mercadolibre.com.do
-   Ecuador: https://www.mercadolibre.com.ec
-   Guatemala: https://www.mercadolibre.com.gt
-   Honduras: https://www.mercadolibre.com.hn
-   México: https://www.mercadolibre.com.mx
-   Nicaragua: https://www.mercadolibre.com.ni
-   Panamá: https://www.mercadolibre.com.pa
-   Paraguay: https://www.mercadolibre.com.py
-   Perú: https://www.mercadolibre.com.pe
-   El Salvador: https://www.mercadolibre.com.sv
-   Uruguay: https://www.mercadolibre.com.uy
-   Venezuela: https://www.mercadolibre.com.ve

### Why scrape MercadoLibre?

MercadoLibre is one of the largest e-commerce platforms in Latin America, with a vast array of products and sellers. It hosts a valuable dataset of products, prices, and seller information that can be used for various purposes.

Here are some potential use cases for scraping MercadoLibre:

-   **Market Research**: Analyze trends, pricing, and product availability to make informed business decisions.
-   **Competitor Analysis**: Monitor competitor prices and product offerings.
-   **Inventory Management**: Keep track of product availability and pricing changes.
-   **Price Comparison**: Provide users with up-to-date price comparisons across different sellers.
-   **Product Recommendations**: Use scraped data to offer personalized product recommendations.

### How much will it cost to scrape MercadoLibre?

The MercadoLibre Scraper is designed to be efficient and cost-effective. The cost will depend on the number of requests and data volume. On average, it costs approximately $0.15 per 100 requests on top of the monthly rental fee.

### How to scrape MercadoLibre

You can initiate the scraper by specifying search criteria or by providing specific URLs from MercadoLibre. Here are some common URLs to start the scraper:

-   `https://www.mercadolibre.com.mx/`: The homepage for general product searches.
-   `https://listado.mercadolibre.com.mx/categoria`: Category-specific listings.
-   `https://articulo.mercadolibre.com.mx/XXXXX`: Individual product listings.

### Example results

The scraped data from MercadoLibre is typically stored in structured formats. Here are sample results:

Product Listing:

```json
{
    "title": "Sony PlayStation 5 Digital 825GB God of War Ragnarok Bundle color blanco y negro",
    "price": "10,299",
    "currency": "MXM",
    "rating": "4.5",
    "reviews": "5825",
    "condition": "New",
    "seller": "Electronics World",
    "quantity_available": "5",
    "description": "Con tu consola PlayStation 5 tendrás entretenimiento asegurado todos los días. Su tecnología fue creada para poner nuevos retos tanto a jugadores principiantes como expertos.\n\nPlayStation renovó las expectativas del mundo virtual con esta nueva consola y su gran rendimiento. Cuenta con una interfaz de usuario más rápida y fácil de navegar que en anteriores modelos. Además, podrás jugar durante horas desafiando a millones de contrincantes alrededor del mundo que esperan nuevos retos.\n\nCalidad de otro nivel\nSe considera que esta consola es de las mejores dentro del mercado, dado que presenta una resolución de hasta 4K.\n\nAdemás, el control DualSense para PS5 combina estilo y tecnología para que jugar sea más cómodo e interactivo para todos sus jugadores.\n\nAdaptada a tus necesidades\nGuarda tus apps, fotos, videos y mucho más en el disco duro, que cuenta con una capacidad de 825 GB.\nAl contar con un procesador de 8 núcleos y uno gráfico, brinda una experiencia dinámica, respuestas ágiles, y transiciones fluidas de imágenes en alta definición.\nPor otro lado, tiene puerto USB y salida HDMI, que permiten conectar accesorios y cargar la batería de tu control mientras juegas.\n\nVas a poder reproducir música, ver tus películas y series favoritas a través de las aplicaciones descargables.\n",
    "images": [
        "https://http2.mlstatic.com/img1.webp",
        "https://http2.mlstatic.com/img2.webp",
        "https://http2.mlstatic.com/img3.webp"
    ],
    "url": "https://articulo.mercadolibre.com.mx/XXXXXXXXX"
}
````

# Actor input Schema

## `startUrls` (type: `array`):

URLs to start with.

## `search` (type: `string`):

Search for anything you want to find

## `searchCategory` (type: `string`):

Select the category to search in.

## `sortBy` (type: `string`):

Select how the search results should be sorted.

## `domainCode` (type: `string`):

Select which domain from Mercadolibre you want to search.

## `maxItemCount` (type: `integer`):

How many search results should be processed

## `fastMode` (type: `boolean`):

Get data directly from listing page without enter product details

## `vehicleYear` (type: `integer`):

Filter vehicles by year

## `runReferenceId` (type: `string`):

Optional reference ID to be added to each run result

## `proxy` (type: `object`):

Select proxies to be used by your crawler.

## `debugMode` (type: `boolean`):

Display detailed logs and error messages

## Actor input object example

```json
{
  "search": "smartphone",
  "searchCategory": "all",
  "sortBy": "relevance",
  "domainCode": "MX",
  "maxItemCount": 5,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "search": "smartphone",
    "searchCategory": "all",
    "sortBy": "relevance",
    "domainCode": "MX",
    "maxItemCount": 5,
    "proxy": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("trudax/mercadolibre-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "search": "smartphone",
    "searchCategory": "all",
    "sortBy": "relevance",
    "domainCode": "MX",
    "maxItemCount": 5,
    "proxy": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("trudax/mercadolibre-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "search": "smartphone",
  "searchCategory": "all",
  "sortBy": "relevance",
  "domainCode": "MX",
  "maxItemCount": 5,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call trudax/mercadolibre-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=trudax/mercadolibre-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Mercado Libre Scraper",
        "description": "MercadoLibre Scraper enables you to extract data about products, sellers, and listings present on this marketplace.",
        "version": "1.7",
        "x-build-id": "ns3D5SmdIbqcOrpcz"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/trudax~mercadolibre-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-trudax-mercadolibre-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/trudax~mercadolibre-scraper/runs": {
            "post": {
                "operationId": "runs-sync-trudax-mercadolibre-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/trudax~mercadolibre-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-trudax-mercadolibre-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "URLs to start with.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "search": {
                        "title": "Search",
                        "type": "string",
                        "description": "Search for anything you want to find"
                    },
                    "searchCategory": {
                        "title": "Search Category",
                        "enum": [
                            "all",
                            "vehicles"
                        ],
                        "type": "string",
                        "description": "Select the category to search in.",
                        "default": "all"
                    },
                    "sortBy": {
                        "title": "Sort by",
                        "enum": [
                            "relevance",
                            "price_asc",
                            "price_desc"
                        ],
                        "type": "string",
                        "description": "Select how the search results should be sorted.",
                        "default": "relevance"
                    },
                    "domainCode": {
                        "title": "Search Domain",
                        "enum": [
                            "AR",
                            "BO",
                            "BR",
                            "CL",
                            "CO",
                            "CR",
                            "DO",
                            "EC",
                            "GT",
                            "HN",
                            "MX",
                            "NI",
                            "PA",
                            "PY",
                            "PE",
                            "SV",
                            "UY",
                            "VE"
                        ],
                        "type": "string",
                        "description": "Select which domain from Mercadolibre you want to search.",
                        "default": "MX"
                    },
                    "maxItemCount": {
                        "title": "Search results limit",
                        "type": "integer",
                        "description": "How many search results should be processed",
                        "default": 5
                    },
                    "fastMode": {
                        "title": "Enable fast mode",
                        "type": "boolean",
                        "description": "Get data directly from listing page without enter product details"
                    },
                    "vehicleYear": {
                        "title": "Vehicle Year",
                        "type": "integer",
                        "description": "Filter vehicles by year"
                    },
                    "runReferenceId": {
                        "title": "Run reference ID",
                        "type": "string",
                        "description": "Optional reference ID to be added to each run result"
                    },
                    "proxy": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Select proxies to be used by your crawler.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ]
                        }
                    },
                    "debugMode": {
                        "title": "Enable debug mode",
                        "type": "boolean",
                        "description": "Display detailed logs and error messages"
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
