# Mercado Libre Product Details Scraper (`piotrv1001/mercado-libre-product-details-scraper`) Actor

The Mercado Libre Product Details Scraper extracts prices, discounts, installments, stock, shipping, seller reputation, variations, specs, images, ratings and reviews from product pages on all 18 Mercado Libre sites — ideal for price monitoring, seller intelligence and catalog enrichment.

- **URL**: https://apify.com/piotrv1001/mercado-libre-product-details-scraper.md
- **Developed by:** [FalconScrape](https://apify.com/piotrv1001) (community)
- **Categories:** E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $8.00 / 1,000 products

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 Product Details Scraper

Everything on a Mercado Libre product page, as clean JSON, on all 18 Latin American sites. The **Mercado Libre Product Details Scraper** takes product URLs and returns the live price, original price and discount, installments, stock, shipping and returns, the seller with its reputation and sales tier, other-seller options, variations, highlighted and full specifications, description, images, the rating summary and the top reviews. Built for price monitoring, catalog enrichment, seller intelligence and market research across Argentina, Brazil, Mexico, Colombia, Chile, Peru and the rest of the region.

Pairs with the [Mercado Libre Listings Scraper](https://apify.com/piotrv1001/mercado-libre-listings-scraper): find products by keyword or category there, then pull full details here.

### ✨ Features

- 💰 **Live pricing**: price, original price, discount percent, price without national taxes and the installment offer, in the site's currency.
- 📦 **Stock and delivery**: availability, units left, Full fulfilment, free shipping, international shipping and import tax notes, free returns, factory warranty.
- 🧑‍💼 **Seller intelligence**: seller name and profile URL, official-store brand, sales tier, MercadoLíder level, reputation thermometer level, invoice capability, plus how many other sellers offer the product and from what price.
- 🎨 **Variations**: the selected colour, memory or size and every sibling option with its page URL and swatch image.
- 📋 **Specs and content**: highlighted specs, the full specification tables by section, description, gallery images, breadcrumb category, SKU and package dimensions.
- ⭐ **Ratings**: average rating, rating and review counts, and the top reviews with rating, date and origin.
- 🌎 **All 18 sites**: catalog pages (`/p/MLA…`) and item pages (`articulo.mercadolibre…`, `produto.mercadolivre.com.br`) from any Mercado Libre or Mercado Livre domain.
- 💸 **Pay per product**: one flat price per product. Withdrawn or unknown products are free.

### 🛠️ How It Works

1. **Paste product URLs** – e.g. `https://www.mercadolibre.com.ar/apple-iphone-15-128-gb-azul/p/MLA27172667` or `https://produto.mercadolivre.com.br/MLB-3697016838-…-_JM`.
2. **Set the cap** – `maxItems` stops the run after that many products.
3. **Run the scraper** – Get one row per product with seller, variations, specs and reviews nested inside. Each product takes a little while to load, so larger lists run in parallel.

### 💰 Pricing

| Event          |  Price | What you get                                                                                         |
| -------------- | -----: | ---------------------------------------------------------------------------------------------------- |
| Product detail | $0.008 | One product with price, stock, seller reputation, variations, specs, description, images and reviews |

100 products cost $0.80. Products that no longer exist are not charged.

### 📥 Input

| Field         | Type    | Description                                                            |
| ------------- | ------- | ---------------------------------------------------------------------- |
| `productUrls` | array   | Mercado Libre catalog (`/p/…`) or item (`…/MLA-…-_JM`) URLs, any site. |
| `maxItems`    | integer | Stop after this many products. Default `50`.                           |

### 📊 Sample Output Data

One row per product (trimmed):

```json
{
    "id": "MLA27172667",
    "siteId": "MLA",
    "kind": "catalog",
    "url": "https://www.mercadolibre.com.ar/apple-iphone-15-128-gb-azul/p/MLA27172667",
    "title": "Apple iPhone 15 (128 GB) - Azul",
    "brand": "Apple",
    "category": ["Celulares y Teléfonos", "Celulares y Smartphones", "Apple Iphone"],
    "condition": "Nuevo",
    "soldCount": "+1000 vendidos",
    "price": 1299999,
    "originalPrice": null,
    "discountPercent": null,
    "currency": "ARS",
    "priceWithoutTaxes": 1074379,
    "installments": "6 cuotas de $292.478,11",
    "availability": "InStock",
    "inStock": true,
    "availableQuantity": 10,
    "availableQuantityText": "(+10 disponibles)",
    "freeShipping": true,
    "fullFulfilment": true,
    "shippingNotes": ["Full"],
    "freeReturns": true,
    "warranty": null,
    "officialStore": null,
    "sellerName": "TECNOPUNTOESTE",
    "sellerUrl": null,
    "sellerSalesTier": "MercadoLíder | +5 mil ventas",
    "sellerLevel": "MercadoLíder | +5 mil ventas",
    "sellerIssuesInvoice": true,
    "sellerReputationLevel": null,
    "otherSellersCount": 18,
    "otherSellersFromPrice": 1299999,
    "variations": [
        {
            "attribute": "Color",
            "value": "Amarillo",
            "selected": false,
            "url": "https://www.mercadolibre.com.ar/apple-iphone-15-128-gb-amarillo/p/MLA27172668",
            "image": "https://http2.mlstatic.com/D_Q_NP_711983-MLA93084478630_092025-R.webp"
        },
        {
            "attribute": "Color",
            "value": "Azul",
            "selected": true,
            "url": "https://www.mercadolibre.com.ar/apple-iphone-15-128-gb-azul/p/MLA27172667",
            "image": "https://http2.mlstatic.com/D_Q_NP_901991-MLA96144091409_102025-R.webp"
        }
    ],
    "selectedVariation": {
        "Color": "Azul",
        "Memoria interna": "128 GB"
    },
    "highlightedSpecs": {
        "Memoria interna": "128 GB",
        "Cámara trasera principal": "48 Mpx",
        "Con NFC": "Sí"
    },
    "specifications": {
        "Características generales": {
            "Marca": "Apple",
            "Línea": "iPhone 15",
            "Modelo": "iPhone 15"
        },
        "Memoria": {
            "Memoria interna": "128 GB",
            "Memoria RAM": "6 GB"
        }
    },
    "description": "El iPhone 15 viene con la Dynamic Island, cámara gran angular de 48 MP, entrada USB-C y un resistent …",
    "images": ["https://http2.mlstatic.com/D_NQ_NP_2X_901991-MLA96144091409_102025-F.webp"],
    "rating": 4.8,
    "ratingCount": 11919,
    "reviewCount": 4556,
    "reviews": [
        {
            "rating": 5,
            "date": "Hace más de 1 año",
            "origin": "México",
            "text": "Producto chino pero 100% original, tomando en cuenta que todos los iphone se producen en c …"
        }
    ],
    "questionCount": null,
    "sku": "MLA27172667",
    "dimensions": {},
    "status": "ok",
    "scrapedAt": "2026-09-15T07:29:25.200Z"
}
```

Unknown or withdrawn products come back as `{ "id": "…", "status": "not_found" }` and are not charged. Variation rows carry the sibling product's URL; run those URLs to get each variant's own price.

### 🔗 Use cases

- **Price monitoring**: Re-run on your catalog or a competitor's to catch price, discount, installment and stock changes.
- **Seller intelligence**: Track who holds the buy box, their reputation level and sales tier, and how many other sellers compete.
- **Catalog enrichment**: Fill your product database with specs, descriptions, images and category paths in the local language.
- **Market research**: Aggregate ratings, review counts and discounts across a category pulled with the listings scraper.

Know every Mercado Libre product inside out — run the **Mercado Libre Product Details Scraper** today! 🚀

# Actor input Schema

## `productUrls` (type: `array`):

Mercado Libre product pages from any of the 18 sites: catalog pages (…/p/MLA…) or listing pages (articulo.mercadolibre…/MLA-…, produto.mercadolivre.com.br/MLB-…).

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

Stop after this many products from the list.

## Actor input object example

```json
{
  "productUrls": [
    "https://www.mercadolibre.com.ar/apple-iphone-15-128-gb-azul/p/MLA27172667",
    "https://www.mercadolivre.com.br/apple-iphone-15-128-gb-preto/p/MLB27172667"
  ],
  "maxItems": 50
}
```

# Actor output Schema

## `products` (type: `string`):

No description

# 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 = {
    "productUrls": [
        "https://www.mercadolibre.com.ar/apple-iphone-15-128-gb-azul/p/MLA27172667",
        "https://www.mercadolivre.com.br/apple-iphone-15-128-gb-preto/p/MLB27172667"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("piotrv1001/mercado-libre-product-details-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 = { "productUrls": [
        "https://www.mercadolibre.com.ar/apple-iphone-15-128-gb-azul/p/MLA27172667",
        "https://www.mercadolivre.com.br/apple-iphone-15-128-gb-preto/p/MLB27172667",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("piotrv1001/mercado-libre-product-details-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 '{
  "productUrls": [
    "https://www.mercadolibre.com.ar/apple-iphone-15-128-gb-azul/p/MLA27172667",
    "https://www.mercadolivre.com.br/apple-iphone-15-128-gb-preto/p/MLB27172667"
  ]
}' |
apify call piotrv1001/mercado-libre-product-details-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,piotrv1001/mercado-libre-product-details-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/GHnAL5rXTZk0ybUG6/builds/DbRBfhynrrdX5TxVl/openapi.json
