Mercado Libre Scraper | Stores, Products & Categories
Pricing
from $2.20 / 1,000 results
Mercado Libre Scraper | Stores, Products & Categories
Collect Mercado Libre and Mercado Livre store identities, product grids and category data across Latin American country sites. Export JSON, CSV or Excel; pay per delivered row plus a start fee.
Pricing
from $2.20 / 1,000 results
Rating
0.0
(0)
Developer
kane liu
Maintained by CommunityActor stats
2
Bookmarked
11
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Security
Limited permissionsShare
Mercado Libre Scraper
Extract Mercado Libre and Mercado Livre store identities, product grids and category data as rows you can export.
- Store names, seller IDs and public store links.
- Product IDs, titles, prices and currencies where available.
- Category navigation and marketplace metadata.
- Country selection across Latin America, including Argentina, Mexico and Brazil.
- Pay $3 per 1,000 delivered rows on the Free plan, plus a start fee.
What does Mercado Libre Scraper do?
The Actor collects marketplace data for seller research, catalog organization and assortment comparisons. Choose one country and one mode per run. It is unofficial and is not affiliated with Mercado Libre.
- Stores:
tienda,tiendas,perfilandstorefrontreturn store or seller records. - Products:
landingcollects product grids;search,product,categoryandofertascan encounter login restrictions and return no rows. - Categories and metadata:
categories,navandapireturn category information, navigation entries or resource records. - Seller details:
enrichDetailsdefaults totrue. WithstoreSlug, listing rows can receive seller information only when their seller identity matches that store. It does not add separate store rows.
The country selector accepts 18 hosts: Argentina, Mexico, Brazil, Chile, Colombia, Peru, Uruguay, Venezuela, Ecuador, Bolivia, Guatemala, Costa Rica, Panama, Dominican Republic, Honduras, Nicaragua, El Salvador and Paraguay. A selectable country does not guarantee every mode is available there.
What data can you extract from Mercado Libre?
Fields vary by mode; store rows do not have product prices. Common fields identify the country, source link and collection time.
Common fields
| Field | Description | Example |
|---|---|---|
mode | Collection mode | tienda |
siteId | Marketplace identifier | MLA |
countrySite | Country host | mercadolibre.com.ar |
title | Product title, store name or category label | Example Store |
permalink | Source link | https://www.mercadolibre.com.ar/tienda/2bambu |
scrapedAt | Collection timestamp | 2026-10-24T08:00:00Z |
Store and seller rows
| Field | Description | Example |
|---|---|---|
store_slug | Store URL name | 2bambu |
shop_name | Public store name | Example Store |
seller_id | Seller identifier, when present | 123456789 |
official_store_id | Official-store identifier | 1234 |
followers | Published follower count | 250 |
nickname | Seller nickname in perfil | EXAMPLESELLER |
storefront_id | Storefront identifier | example-storefront-id |
item_ids | Item identifiers found in a storefront row | ["MLA1917258137"] |
org | Seller identity and store link | {"name":"Example Store"} |
leadAbsences | Reasons contact or identity fields are unavailable | {} |
Product rows
| Field | Description | Example |
|---|---|---|
item_id | Listing identifier | MLA1917258137 |
catalog_id | Catalog identifier on a grid | MLA64352063 |
price | Displayed price | 12999.9 |
currency | Currency code | ARS |
previous_price | Previous price, when shown | 14999.9 |
shipping_text | Displayed shipping information | Envío gratis |
Category, navigation and metadata rows
| Field | Description | Example |
|---|---|---|
category_id | Category identifier | MLA1055 |
category_name | Category name | Celulares y Smartphones |
category_slug | Category URL name | celulares-y-telefonos |
path_from_root | Category ancestry | [] |
children | Immediate child-category descriptions | [] |
children_count | Number of immediate children | 0 |
The api mode retains fields supplied by the selected resource, so its rows differ between countries, payment methods and attributes. A storefront row contains an identifier list, not one fully described product per identifier.
How to scrape Mercado Libre
- Open Mercado Libre Scraper in Apify Console.
- Keep
storeSlugas2bambufor a first store example, or replace it with your target. Clear it when switching targets. - Choose
countrySiteand setmaxResultsto 1–5. - Click Start and wait for delivery.
- Download the dataset or read it through the API.
Empty JSON input {} selects the sample store, tienda, and at most one row. Normal event charges apply. With mode set to auto, one target field selects its matching mode. Explicit target-free modes keep your chosen row limit instead of starting the example.
Store: tienda
Fill storeSlug from a /tienda/ link, or /loja/ in Brazil. One store produces one store row, not its entire catalog.
Store directory: tiendas
Choose this mode explicitly. It returns official-store directory entries for the selected country, up to the row limit.
Seller profile: perfil
Fill nickname to resolve a seller identifier. An unresolved nickname does not produce a charged placeholder row.
Storefront: storefront
Choose this mode and supply storeSlug or storefrontId. It returns one store record with any item identifiers found.
Product grid: landing
Choose importados for international-shopping products or market for the supermarket grid. Availability varies by country.
Category record: categories
Supply categoryId, or use the country-specific default ending in 1055. One category record contains its ancestry and immediate children; this is not a recursive catalog export.
Navigation: nav
Choose this mode explicitly for category navigation entries and links. No target field is required.
Marketplace metadata: api
Select countries, classified_locations, payment_methods, domain_discovery, categories or attributes. For domain_discovery, also fill keyword to request category suggestions.
Search: search
Fill keyword or keywords. Login restrictions can prevent results; use a small test before relying on this mode.
Product: product
Supply productUrl, productId, itemId or userProductId. Product pages may require login and return no data.
Category listings: category
Fill categorySlug, such as celulares-y-telefonos. This requests product listings, unlike categories, and may be restricted.
Deals: ofertas
Choose this mode explicitly. Optional deal filters refine the request, but do not make a restricted page available.
What to fill in
| Field | What to enter | Default |
|---|---|---|
mode | Mode listed above | auto |
countrySite | Country host | mercadolibre.com.ar |
siteId | Country identifier overriding the host, such as MLM | Unset |
storeSlug | Store URL name | Unset; form example 2bambu |
nickname | Seller nickname | Unset |
storefrontId | Storefront identifier | Unset |
keyword, keywords | One search term or an array of terms | Unset |
productUrl | Full product link | Unset |
productId, itemId, userProductId | Catalog, listing or user-product identifier | Unset |
categorySlug | Category URL name | Unset |
categoryId | Category record ID or deals filter | Country ID + 1055 in categories |
containerId | Deals collection identifier | Unset |
price | Deals price range, such as 65000.0-250000.0 | Unset |
installments | Deals installment filter value | Unset |
page | Deals page, 1–100 | 1 |
landing | importados or market | importados |
resource | Metadata resource | countries |
resourceId | Country code or category ID for the resource | Selected country or its category ending in 1055 |
enrichDetails | Match listing rows to supplied store identity | true |
maxResults | Rows per keyword or selected target, 1–500 | 70; form example 1 |
Input examples
Automatic selection:
{"mode":"auto","storeSlug":"2bambu","maxResults":1}
Store:
{"mode":"tienda","storeSlug":"2bambu","maxResults":1}
Directory:
{"mode":"tiendas","countrySite":"mercadolibre.com.ar","maxResults":5}
Seller profile; replace the placeholder nickname:
{"mode":"perfil","nickname":"EXAMPLESELLER","maxResults":1}
Storefront:
{"mode":"storefront","storeSlug":"2bambu","maxResults":1}
Product grid:
{"mode":"landing","landing":"importados","maxResults":5}
Category record:
{"mode":"categories","categoryId":"MLA1055","maxResults":1}
Navigation:
{"mode":"nav","countrySite":"mercadolibre.com.ar","maxResults":5}
Metadata:
{"mode":"api","resource":"countries","resourceId":"AR","maxResults":1}
Search, subject to login restrictions:
{"mode":"search","keywords":["celular"],"maxResults":3}
Product, subject to login restrictions:
{"mode":"product","itemId":"MLA1917258137","maxResults":1}
Category listings, subject to login restrictions:
{"mode":"category","categorySlug":"celulares-y-telefonos","maxResults":3}
Deals, subject to login restrictions:
{"mode":"ofertas","page":1,"maxResults":3}
maxItems and limit are aliases for maxResults. Close field-name misspellings can be corrected; other unknown fields are ignored with a note. INPUT_REPORT in the run's key-value store records filled, corrected and ignored fields.
Unusable input stops before row delivery with INVALID_INPUT: and a correction message. No rows are charged, although the start fee still applies. Correctable inputs and invalid optional filters may instead be normalized or ignored. Use Spanish search terms, or Portuguese for Brazil; automatic translation is not promised.
Output example
Illustrative store-directory row; the timestamp and name below are examples, not a live result:
{"source": "mercadolibre","mode": "tiendas","siteId": "MLA","countrySite": "mercadolibre.com.ar","store_slug": "example-store","shop_name": "Example Store","title": "Example Store","permalink": "https://www.mercadolibre.com.ar/tienda/example-store","source_surface": "tiendas-oficiales","scrapedAt": "2026-10-24T08:00:00Z"}
Export the dataset as JSON, CSV, Excel, XML, RSS or an HTML table. Nested fields are easiest to preserve in JSON.
Why use this Mercado Libre scraper?
- Row-based billing: pay for delivered rows, plus the start fee, not attempted pages.
- Saved output: rows already written remain in the dataset. A manual stop before delivery can leave it empty.
- Input feedback: inspect
INPUT_REPORT;RUN_SUMMARYdescribes the result andERROR_SUMMARYrecords handled failures. - Missing-data handling: unavailable contact fields stay empty with absence reasons, rather than invented details.
- Multiple search inputs:
keywordsaccepts an array, subject to search availability. - No proxy setup: you do not need to set up proxies or supply a marketplace account for the public modes.
How much does it cost to scrape Mercado Libre?
Pricing is pay-per-event: a $0.005 start event plus each delivered row. Start billing is one event per GB of allocated memory, with a minimum of one. At the default 512 MB, the start charge is $0.005. Platform usage is included in these prices.
| Apify plan | Price per row | Price per 1,000 rows |
|---|---|---|
| Free | $0.003 | $3.00 |
| Starter | $0.003 | $3.00 |
| Scale | $0.0026 | $2.60 |
| Business | $0.0022 | $2.20 |
maxResultsapplies per input: default 70, maximum 500. Larger requests are collected in parts of 70.- The Free Apify plan is limited to 200 rows per run and 10 runs of this Actor.
- Maximum cost per run (
maxTotalChargeUsdin the API) caps spending across the whole run. - A store, category, navigation or metadata row has the same row price as a product row.
Example: five delivered directory rows on the Free plan at 512 MB cost 5 × $0.003 + $0.005 = $0.020. The row limit is a ceiling, not a promise that five matches exist.
What happens when the run timeout is too short
When there is insufficient time to wait, the Actor can pause with the message "Queued on the collection backend; this run will resume automatically when results are ready (about N s)." The run temporarily shows ABORTED; this automatic pause is not a collection failure.
When results are ready, the same run resumes and writes to the same dataset. It skips rows already delivered; successful delivery finishes as SUCCEEDED. A resumed delivery may show "Resumed: delivering N rows." Automatic pauses are limited to three per run. Keep the default timeout of 3600 seconds to reduce interruptions.
The synchronous endpoints run-sync and run-sync-get-dataset-items wait at most 300 seconds and can return an empty dataset during a pause. For longer requests, start asynchronously and read the dataset after SUCCEEDED, or use a success webhook. A manually aborted run or a genuine collection error is not the same as this automatic pause.
Use with AI agents and the API
Apify MCP server
Add this remote server to an MCP-capable client such as Claude, ChatGPT, Cursor or VS Code:
https://mcp.apify.com?tools=lentic_clockss/mercadolibre-scraper
Sign in with Apify through OAuth, or send Authorization: Bearer <YOUR_APIFY_TOKEN>. The tool starts a run and returns run and dataset IDs; use get-dataset-items to read rows. Clients without remote-server support can use npx @apify/actors-mcp-server --tools lentic_clockss/mercadolibre-scraper with APIFY_TOKEN set.
Example prompt: "Get five official-store directory rows from Mercado Libre Argentina, including names and store links."
Apify API
Python:
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("lentic_clockss/mercadolibre-scraper").call(run_input={"mode": "tiendas", "countrySite": "mercadolibre.com.ar", "maxResults": 5})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
JavaScript:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('lentic_clockss/mercadolibre-scraper').call({mode: 'tiendas', countrySite: 'mercadolibre.com.ar', maxResults: 5});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Over HTTP, send input JSON to POST https://api.apify.com/v2/acts/lentic_clockss~mercadolibre-scraper/runs with Authorization: Bearer <YOUR_APIFY_TOKEN>. After completion, read GET https://api.apify.com/v2/datasets/<datasetId>/items?format=json.
Integrations
Use Apify's Integrations tab to connect results to Google Sheets, Make, Zapier, n8n, Slack, Airtable or a webhook. Use Apify Schedules for recurring runs.
En español
Este scraper reúne información de tiendas, vendedores, categorías y productos de Mercado Libre y Mercado Livre. Para empezar, indica storeSlug y elige el país en countrySite; una tienda produce una fila. Si buscas varias tiendas, selecciona tiendas y prueba con maxResults de 5. El modo landing recoge productos de páginas de importados o supermercado cuando están disponibles. Las búsquedas y las páginas de producto pueden exigir inicio de sesión y no devolver datos. Cada fila entregada tiene un precio según tu plan de Apify, además del cargo de inicio. Puedes descargar los resultados en JSON, CSV o Excel. No se incluyen teléfonos ni correos privados de vendedores.
FAQ
Is it legal to scrape Mercado Libre?
Use only data you are entitled to collect. You are responsible for complying with site terms and applicable data-protection law; processing personal data requires a lawful basis. This Actor does not grant permission.
Why did my run end as ABORTED?
Check its status message. An automatic timeout-related pause resumes when results are ready. A manual abort is different; see the timeout section above.
How many results can I get?
Request 1–500 rows per input, within the run's spending cap. Free-plan runs stop at 200 rows. Store and category-record modes can return only one row despite a larger limit.
Why are some fields empty?
The source may omit them, or they may not apply to that mode. Seller phones and emails are not provided by public store pages. Check leadAbsences where present.
Why do search or product requests return no data?
The site can restrict those pages to logged-in visitors. ofertas and category can face the same restriction. Try store-directory, category-record or available landing modes instead; success is not guaranteed.
Can it purchase items or access private seller accounts?
No. Checkout, private messaging and account management are outside its scope. You do not supply account credentials for public-mode collection.
Does seller enrichment add extra charged rows?
No. enrichDetails adds matching seller information to existing listing rows. It does not attach the selected store to unrelated sellers or append a separate store row.
Limitations
- Country support and populated fields vary by source page; a host in the selector is not a coverage guarantee.
- Product search, details, deals and category listings may return no data because of login restrictions.
categoriesreturns a category record, not all descendant products;storefrontidentifiers are not full product details.- Private contact details, buyer information, order histories and messages are not collected.
- Increasing
maxResultscannot create matches or recover data from an inaccessible page.
Related scrapers
More e-commerce and marketplace scrapers from the same publisher:
- Walmart Product Scraper
- Temu Product Scraper
- Allegro Scraper
- TikTok Shop Product Scraper
- Amazon Search, Category & Best Sellers Scraper
- Coupang Product Scraper
- Rakuten Japan Scraper
- SHEIN Product Scraper
Browse all of our scrapers at apify.com/lentic_clockss.
Support
Found a problem or need another field? Open an issue in the Issues tab of this Actor's page and include the run ID and the input you used.