# Mercado Libre Scraper - Products, Prices & Sellers (`scrapesage/mercadolibre-scraper`) Actor

Scrape Mercado Libre / Mercado Livre across 14 LATAM marketplaces: products, prices, discounts, units sold, ratings, sellers, variations, full specs & reviews. Search, category, product or seller URLs. Price monitoring, seller leads & multi-country research.

- **URL**: https://apify.com/scrapesage/mercadolibre-scraper.md
- **Developed by:** [Scrape Sage](https://apify.com/scrapesage) (community)
- **Categories:** E-commerce, Lead generation, Agents
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 product scrapeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## Mercado Libre Scraper - Products, Prices & Sellers

Scrape **Mercado Libre / Mercado Livre** across **14 Latin American marketplaces** - Mexico, Brazil, Argentina, Chile, Colombia, Peru, Uruguay, Venezuela, Ecuador and more - from a single actor. Search by keyword or paste any search, category, product or seller URL and get the **richest product dataset in the category**: exact prices and discounts, **units sold**, star ratings, **seller name & reputation**, official-store and **Mercado Envíos FULL** flags, plus - on the product page - the full description, **complete specification table**, every variation, all images, stock, warranty and buyer reviews.

No login, no API key. A fast HTTP lane with an **anti-detect browser fallback** renders the storefront reliably and pins the proxy to each marketplace's country so you get true local prices and stock.

### Why this Mercado Libre scraper?

| Data | Typical scrapers | This actor |
|---|---|---|
| Title, price, currency, image | ✅ | ✅ |
| **Original price, discount %, installments** | partial | ✅ |
| Star rating | partial | ✅ |
| **Units sold (soldQuantity)** | ❌ | ✅ opt-in |
| **Seller name + reputation level** | ❌ | ✅ |
| **Official store & Mercado Envíos FULL flags** | ❌ | ✅ |
| Free-shipping flag | partial | ✅ |
| **Full description + complete spec table** | ❌ | ✅ opt-in |
| **All variations, images, stock, warranty** | ❌ | ✅ opt-in |
| Category breadcrumb path | ❌ | ✅ opt-in |
| **Buyer reviews** (rating, date, likes) | ❌ | ✅ opt-in |
| Sponsored vs organic flag | ❌ | ✅ |
| **14 marketplaces, country-pinned proxy** | 1-2 | ✅ |
| New/changed-only **price & stock monitor** | ❌ | ✅ |

### Use cases

- **Price monitoring & repricing** - track competitor prices, discounts and stock across marketplaces; schedule with monitor mode to capture only what changed.
- **Product & market research** - measure demand with **units sold**, ratings and review counts; benchmark catalogs by category and country.
- **Dropshipping & sourcing** - find winning products, compare prices across 14 countries, and pull full specs and images.
- **Seller & competitive intelligence** - map sellers, reputation levels, official stores and their catalogs.
- **Data enrichment** - join by product id / SKU / GTIN to enrich your catalog with Mercado Libre prices and specs.

### How to use

1. [Sign up for Apify](https://console.apify.com/sign-up) - the free plan is enough to try this actor.
2. Open the **Mercado Libre Scraper**, choose the **Country / site** (e.g. Mexico), add **search queries** (e.g. `iphone 15`, `air fryer`) or paste any Mercado Libre URL, and click **Start**.
3. Turn on **Include product details** for full specs, variations, sold count, seller and reviews.
4. **Export** as JSON, CSV, Excel, XML or RSS - or pull results via the [Apify API](https://docs.apify.com/api/v2).

### Input

```json
{
    "searchQueries": ["iphone 15", "air fryer"],
    "site": "MLM",
    "startUrls": [{ "url": "https://listado.mercadolibre.com.mx/computacion/laptops/" }],
    "maxItems": 100,
    "maxPagesPerQuery": 3,
    "includeProductDetails": true,
    "includeReviews": true,
    "condition": "new",
    "sort": "price_asc",
    "minPrice": 1000,
    "officialStoresOnly": false,
    "freeShippingOnly": false,
    "monitorMode": false
}
```

- **searchQueries** - keywords searched on the selected marketplace.
- **site** - marketplace: `MLM` Mexico, `MLB` Brazil, `MLA` Argentina, `MLC` Chile, `MCO` Colombia, `MPE` Peru, `MLU` Uruguay, `MLV` Venezuela, `MEC` Ecuador, `MRD`, `MBO`, `MPY`, `MGT`, `MPA` (also accepts a country name/code).
- **startUrls** - search, category, product or seller URLs (country auto-detected from the URL).
- **maxItems** *(default 100)* - global product cap; `0` = no limit.
- **maxPagesPerQuery** *(default 3)* - search pages (~48 products each) per query.
- **includeProductDetails** *(default false)* - open each product for full description, spec table, variations, images, stock, sold count and seller.
- **includeReviews** *(default false)* - attach buyer reviews (implies details).
- **condition / sort / minPrice / maxPrice / officialStoresOnly / freeShippingOnly** - filters.
- **monitorMode** *(default false)* - emit only new/changed products (price, stock, sold) across runs.
- **proxyConfiguration** *(default: Apify Residential, country-pinned)*.

### Output

One record per product (`type: "product"`). Search-card fields are always present; detail and review fields are added when you enable those options.

```json
{
    "type": "product",
    "id": "MLM1066172678",
    "title": "Apple MacBook Air 13\" M3 8GB 256GB",
    "url": "https://www.mercadolibre.com.mx/.../p/MLM1066172678",
    "price": 12999,
    "originalPrice": 15999,
    "discount": "18% OFF",
    "currency": "MXN",
    "condition": "new",
    "soldQuantity": 1000,
    "rating": 4.9,
    "reviewsCount": 641,
    "sellerName": "Global-Laptops",
    "sellerReputation": "MercadoLíder Platinum",
    "officialStore": true,
    "freeShipping": true,
    "fulfillment": "full",
    "availability": "InStock",
    "brand": "Apple",
    "sku": "MLM1066172678",
    "category": "Laptops",
    "categoryPath": ["Computación", "Laptops y Accesorios", "Laptops"],
    "specs": { "Memoria RAM": "8 GB", "Modelo del procesador": "M3", "...": "..." },
    "images": ["https://http2.mlstatic.com/..."],
    "site": "MLM"
}
```

### Automate & schedule

Run it on a [schedule](https://docs.apify.com/platform/schedules) with **monitor mode** to track price drops, restocks and new competitors and receive only what changed. Every run can [notify you or push data](https://docs.apify.com/platform/integrations) onward.

### Integrate with any app

Connect the dataset to Google Sheets, Slack, Zapier, Make, or your backend via the [Apify API](https://docs.apify.com/api/v2), webhooks and [integrations](https://docs.apify.com/platform/integrations).

### Use with AI assistants (MCP)

This actor is exposed over the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp), so AI assistants and agents (Claude, ChatGPT, Cursor, and any MCP client) can discover and run it and read structured Mercado Libre data straight into their context.

### Agent-ready: autonomous payments (x402 & Skyfire)

This actor is **agent-ready** — AI agents can discover it, run it, and **pay for it autonomously**, with no Apify account and no human in the loop. It uses [pay-per-event](https://docs.apify.com/platform/actors/publishing/monetize/pay-per-event) pricing and [limited permissions](https://docs.apify.com/platform/actors/development/permissions), so it qualifies for Apify's agentic-payment standards:

- **[x402](https://docs.apify.com/platform/integrations/x402)** — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp) — no account, no API key.
- **[Skyfire](https://docs.apify.com/platform/integrations/skyfire)** — agent-to-service payments for fully autonomous AI-agent workflows.

Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.

### More scrapers from scrapesage

Pair Mercado Libre data with our other e-commerce scrapers - Amazon, AliExpress, Alibaba, and more - to build a cross-marketplace price and product dataset.

### Tips

- **Pick the right Country / site** - prices, stock and currency are per-marketplace; the proxy is pinned to that country automatically.
- Leave **Include product details** off for the fastest, cheapest run - search cards already carry price, discount, rating, seller and shipping. Turn it on when you need specs, sold counts and reviews.
- Use **monitor mode** + a schedule for price/stock tracking; it emits only what changed.
- `maxItems: 0` scrapes until the results end or the run's time limit - the actor stops gracefully with partial data rather than timing out.

### FAQ

**Do I need a login or API key?** No. The actor works logged-out with residential proxies.

**Which countries are supported?** All 14 Mercado Libre / Mercado Livre marketplaces (MX, BR, AR, CL, CO, PE, UY, VE, EC, DO, BO, PY, GT, PA).

**Can it get units sold and seller reputation?** Yes - enable **Include product details**; both come from the product page.

**How much does it cost?** Pay-per-event: per product, per detail add-on, and per review - see the pricing tab. No monthly subscription.

### Need help?

Open an issue on the actor's **Issues** tab with your input and run ID and we'll help.

# Actor input Schema

## `searchQueries` (type: `array`):

Keywords to search, e.g. <code>iphone 15</code>, <code>notebook gamer</code>. Each is searched on the marketplace selected in <b>Country / site</b>.

## `site` (type: `string`):

Which Mercado Libre marketplace to search. Accepts a country name, ISO code or site id.

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

Mercado Libre URLs: search results, category, product (<code>/p/MLM…</code> or <code>articulo…</code>) or seller pages. Auto-classified; country is taken from the URL. Used in addition to the search queries.

## `maxItems` (type: `integer`):

Global cap on product records across all queries/URLs. A search page lists ~50 products. Set <code>0</code> for no limit (paginates until the results or the run timeout ends).

## `maxPagesPerQuery` (type: `integer`):

How many search-result pages (~50 products each) to paginate per query.

## `includeProductDetails` (type: `boolean`):

Open each product page to add the full description, complete attribute/spec table, all variations, pictures, stock, total sold quantity, warranty and the seller (name, reputation, location). Slower (one page per product) and billed per detail (productDetails event).

## `includeReviews` (type: `boolean`):

Attach buyer reviews (rating, title, text, date, likes) per product. Implies product details.

## `maxReviewsPerProduct` (type: `integer`):

Cap reviews fetched per product when reviews are enabled.

## `condition` (type: `string`):

Filter by item condition.

## `sort` (type: `string`):

Result ordering.

## `minPrice` (type: `integer`):

Minimum price filter (in the site currency).

## `maxPrice` (type: `integer`):

Maximum price filter (in the site currency).

## `officialStoresOnly` (type: `boolean`):

Only products sold by official brand stores.

## `freeShippingOnly` (type: `boolean`):

Only products with free shipping.

## `monitorMode` (type: `boolean`):

Remember products across runs and emit only NEW or CHANGED ones (price, stock, sold) - ideal for scheduled price/stock tracking.

## `monitorKey` (type: `string`):

Names the monitor memory so separate schedules don't collide.

## `proxyConfiguration` (type: `object`):

Residential proxies recommended; the actor pins the proxy country to the selected marketplace. Defaults to Apify Residential.

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

Dump raw pages to the key-value store for troubleshooting.

## Actor input object example

```json
{
  "searchQueries": [
    "iphone 15",
    "air fryer"
  ],
  "site": "MLM",
  "maxItems": 100,
  "maxPagesPerQuery": 3,
  "includeProductDetails": false,
  "includeReviews": false,
  "maxReviewsPerProduct": 20,
  "condition": "all",
  "sort": "relevance",
  "officialStoresOnly": false,
  "freeShippingOnly": false,
  "monitorMode": false,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  },
  "debugMode": false
}
```

# Actor output Schema

## `results` (type: `string`):

All scraped Mercado Libre product records as JSON items in the default dataset.

# 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 = {
    "searchQueries": [
        "laptop"
    ],
    "site": "MLM",
    "maxItems": 100,
    "maxPagesPerQuery": 3,
    "maxReviewsPerProduct": 20,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapesage/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 = {
    "searchQueries": ["laptop"],
    "site": "MLM",
    "maxItems": 100,
    "maxPagesPerQuery": 3,
    "maxReviewsPerProduct": 20,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

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

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

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

```

## CLI example

```bash
echo '{
  "searchQueries": [
    "laptop"
  ],
  "site": "MLM",
  "maxItems": 100,
  "maxPagesPerQuery": 3,
  "maxReviewsPerProduct": 20,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call scrapesage/mercadolibre-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapesage/mercadolibre-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/9ovA1nBaUrpgFxFlA/builds/ogT6E3ktJbwvLjI34/openapi.json
