# Mercado Libre Search Scraper (`maximedupre/mercado-libre-search-scraper`) Actor

Search Mercado Libre and Mercado Livre by keyword, search URL, or category URL. Export product rows with prices, sellers, shipping, ratings, images, and rank.

- **URL**: https://apify.com/maximedupre/mercado-libre-search-scraper.md
- **Developed by:** [Maxime Dupré](https://apify.com/maximedupre) (community)
- **Categories:** E-commerce, Lead generation, Developer tools
- **Stats:** 3 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.95 / 1,000 scraped 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/platform/actors/running/actors-in-store#pay-per-event

## 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

### Mercado Libre Search Scraper

Search [Mercado Libre](https://www.mercadolibre.com/) and Mercado Livre by keyword, search URL, or category URL. Get clean product rows with title, price, rank, seller, shipping text, rating, image, and source URL so you can study a market without copying cards by hand.

The fastest first run is already filled in: keep `iphone`, keep Mexico as the market, and run the Actor. You can raise or lower the product limit before you start.

### What This Actor Does

Mercado Libre Search Scraper turns search result pages into an Apify dataset. Use it when you need product search data for price checks, market research, stock checks, rank tracking, seller lists, or ecommerce lead work.

You can enter:

- Plain search terms, such as `iphone`, `nike shoes`, or `air fryer`
- Mercado Libre search URLs
- Mercado Livre search URLs from Brazil
- Category and listing URLs
- Mixed batches of searches and URLs

For plain search terms, choose the market in the input form. For full Mercado Libre or Mercado Livre URLs, the Actor uses the URL's own country domain.

### Data You Get

Each output row is one product card from search results. Rows are flat, so they are easy to export to CSV, JSON, Excel, Google Sheets, webhooks, or your own API workflow.

The dataset can include:

- Product title and URL
- Product or item ID when shown
- Search rank and page number
- Search term or URL that found the product
- Mercado Libre site code, country, and currency
- Current price, old price, and discount percent
- Installment and shipping text
- Seller or official store name
- Official store and sponsored flags
- Rating and review count
- Main image URL
- Category ID when it is visible
- Scrape time

Some fields can be empty when Mercado Libre does not show that data on the search card.

### Why Use It

Use this Actor to:

- Track how products rank for search terms
- Compare prices across sellers and markets
- Watch discount and shipping text at scale
- Build product lists for ecommerce research
- Find official stores and sponsored products
- Feed clean Mercado Libre search data into BI tools, scripts, or alerts

### How To Run

1. Add one or more searches or Mercado Libre URLs.
2. Pick a market for plain search terms.
3. Set the product limit.
4. Choose the sort order if you use search terms.
5. Run the Actor and open the dataset.

You can schedule runs on Apify, call the Actor from the API, export the dataset, or connect it to other Apify integrations.

### Input

#### Searches or URLs

Enter search terms or paste Mercado Libre search, category, and listing URLs. You can mix both in one run.

#### Market

This is used only for plain search terms. Full URLs keep their own Mercado Libre or Mercado Livre domain.

#### Product Limit

The maximum number of products to save across all searches and URLs in the run. The default is `50`.

#### Sort Products By

Use relevance, low-to-high price, or high-to-low price for plain search terms. Full URLs keep their own source sort when possible.

#### Start Page

Start from a later search page when you want to continue a past run or skip the first page.

### Output Example

```json
{
  "productId": "MLM1054106937",
  "title": "Apple iPhone 17 Pro Max",
  "url": "https://www.mercadolibre.com.mx/...",
  "searchRank": 1,
  "pageNumber": 1,
  "sourceTarget": "iphone",
  "country": "mx",
  "site": "MLM",
  "currency": "MXN",
  "currentPrice": 30898,
  "sellerName": "Apple",
  "isOfficialStore": true,
  "isSponsored": false,
  "rating": 4.9,
  "reviewCount": 120,
  "imageUrl": "https://http2.mlstatic.com/...",
  "scrapedAt": "2026-05-18T00:00:00.000Z"
}
````

### Pricing

This Actor uses pay-per-event pricing. Each run has a small Actor start charge, then a charge for each Mercado Libre product saved to the dataset. Set `Product limit` to control run size and cost before you start.

### Notes And Limits

Mercado Libre can change what it shows by market, page, or product type. The Actor saves fields that are visible in search results; product detail pages, reviews, Q\&A, seller catalog pages, and checkout data are outside this Actor.

### FAQ

#### Does This Scrape Mercado Livre In Brazil?

Yes. Choose Brazil for plain search terms or paste a Mercado Livre URL.

#### Can I Use Mercado Libre Category URLs?

Yes. Paste a category or listing URL into the searches field.

#### Does It Scrape Product Detail Pages?

No. This Actor is focused on search result and category result cards.

#### Can I Export The Data?

Yes. Apify datasets can be exported as JSON, CSV, Excel, RSS, XML, and HTML, and can be used from the Apify API.

#### What If A Field Is Empty?

Some product cards do not show every field. Empty values mean that field was not shown on the search card for that product.

### Support

If a run does not return the products you expected, open an issue from the Actor page and include the input you used, the market, and the run ID. This makes it much easier to check the source page and help you quickly.

# Actor input Schema

## `targets` (type: `array`):

Enter search terms like iphone, or paste Mercado Libre and Mercado Livre search, category, or listing URLs. You can mix terms and URLs in one run.

## `country` (type: `string`):

Market to use for plain search terms. Full Mercado Libre and Mercado Livre URLs keep their own country domain.

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

Sort order for plain search terms. Full URLs keep their own source sort when possible.

## `maxResults` (type: `integer`):

Maximum products to save across all searches and URLs in this run. Lower this number for a quick test.

## `startPage` (type: `integer`):

Start from a later results page when you want to continue a past run or skip early products.

## Actor input object example

```json
{
  "targets": [
    "iphone"
  ],
  "country": "mx",
  "sortBy": "relevance",
  "maxResults": 50,
  "startPage": 1
}
```

# Actor output Schema

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

Open the dataset of Mercado Libre product rows with prices, sellers, shipping text, ratings, images, and rank.

# 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 = {
    "targets": [
        "iphone"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("maximedupre/mercado-libre-search-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 = { "targets": ["iphone"] }

# Run the Actor and wait for it to finish
run = client.actor("maximedupre/mercado-libre-search-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 '{
  "targets": [
    "iphone"
  ]
}' |
apify call maximedupre/mercado-libre-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Mercado Libre Search Scraper",
        "description": "Search Mercado Libre and Mercado Livre by keyword, search URL, or category URL. Export product rows with prices, sellers, shipping, ratings, images, and rank.",
        "version": "0.0",
        "x-build-id": "gx7dsf26UCYeaDMeq"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/maximedupre~mercado-libre-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-maximedupre-mercado-libre-search-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/maximedupre~mercado-libre-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-maximedupre-mercado-libre-search-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/maximedupre~mercado-libre-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-maximedupre-mercado-libre-search-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",
                "required": [
                    "targets"
                ],
                "properties": {
                    "targets": {
                        "title": "Searches or URLs",
                        "minItems": 1,
                        "type": "array",
                        "description": "Enter search terms like iphone, or paste Mercado Libre and Mercado Livre search, category, or listing URLs. You can mix terms and URLs in one run.",
                        "items": {
                            "type": "string",
                            "minLength": 1
                        }
                    },
                    "country": {
                        "title": "Market",
                        "enum": [
                            "ar",
                            "bo",
                            "br",
                            "cl",
                            "co",
                            "cr",
                            "do",
                            "ec",
                            "gt",
                            "hn",
                            "mx",
                            "ni",
                            "pa",
                            "py",
                            "pe",
                            "sv",
                            "uy",
                            "ve"
                        ],
                        "type": "string",
                        "description": "Market to use for plain search terms. Full Mercado Libre and Mercado Livre URLs keep their own country domain.",
                        "default": "mx"
                    },
                    "sortBy": {
                        "title": "Sort products by",
                        "enum": [
                            "relevance",
                            "price_asc",
                            "price_desc"
                        ],
                        "type": "string",
                        "description": "Sort order for plain search terms. Full URLs keep their own source sort when possible.",
                        "default": "relevance"
                    },
                    "maxResults": {
                        "title": "Product limit",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum products to save across all searches and URLs in this run. Lower this number for a quick test.",
                        "default": 50
                    },
                    "startPage": {
                        "title": "Start page",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Start from a later results page when you want to continue a past run or skip early products.",
                        "default": 1
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
