Mercado Libre Scraper — LATAM Prices, Listings & Specs avatar

Mercado Libre Scraper — LATAM Prices, Listings & Specs

Pricing

from $1.00 / 1,000 product listings

Go to Apify Store
Mercado Libre Scraper — LATAM Prices, Listings & Specs

Mercado Libre Scraper — LATAM Prices, Listings & Specs

Scrape Mercado Libre across 18 Latin American sites. Extract product listings, prices, discounts, installments, seller info, shipping, and ratings. Optional PDP mode for specs, stock, descriptions, and variations. Keyword search, category URLs, Akamai bypass.

Pricing

from $1.00 / 1,000 product listings

Rating

0.0

(0)

Developer

Andrej Kiva

Andrej Kiva

Maintained by Community

Actor stats

0

Bookmarked

23

Total users

4

Monthly active users

22 days ago

Last modified

Share

Disclaimer: Unofficial tool — not affiliated with, sponsored by, or endorsed by Mercado Libre or MercadoLibre, Inc or its affiliates. Data is read from publicly accessible pages only. No login. You are responsible for complying with applicable law (including GDPR where personal data appears) and the site’s terms. No warranty on accuracy or availability. Provided for informational and research use.

Extract structured product listings and full specifications from Mercado Libre across 18 Latin American country sites — Argentina, Brazil, Mexico, Colombia, Chile, Peru, and more. Search by keyword, category URL, seller storefront, or direct product link. Collect titles, prices, discounts, installments, seller info, shipping badges, ratings, sold counts, catalog IDs, technical attributes, stock, and image galleries.

Runs over country-targeted residential proxies. Keyword search fetches visible listado HTML over HTTP first (Chrome TLS; last retry uses a Googlebot UA), paginates with _Desde_N URLs, then batch-enriches seller/category via /items when that API answers. The public search API is OAuth-gated and is skipped on 403. Camoufox or Playwright Firefox is a fallback when listado serves a JS interstitial. Search returns the SERP as shown unless you turn on strictTitleMatch. If the run only recovers a handful of Ofertas cards after a wall, it fails instead of succeeding with 3–10% of maxItems. A run_coverage row records requested vs delivered.

Best for: Mercado Libre price monitoring, LATAM e-commerce market research, competitor catalog tracking, resale arbitrage, product specification enrichment, and bulk JSON/CSV export pipelines.

Crawloop Marketplace & E-commerce Suite — LATAM Mercado Libre plus Amazon, AliExpress, and Shopee search.

Mercado Libre Listings Scraper ◄── you are hereAmazon Search ScraperAliExpress Search ScraperShopee Search Scraper
LATAM listings, PDP specs, 18 country sitesAmazon keyword SERP, ASIN, badgesAliExpress retail search, sold countShopee regional search

Also see: Naver Search Scraper · eBay Sold Listings Scraper


When to use this Actor

  • Mercado Libre price tracking — Monitor listing prices, discounts, and installments across Argentina (MLA), Brazil (MLB), Mexico (MLM), Chile (MLC), Colombia (MCO), and 13 more LATAM sites.
  • Product catalog enrichment — Enable includeProductDetail to fetch full PDP data: description, spec tables, stock, sold count, variations, and high-resolution images.
  • Cross-border market research — Compare the same product keyword across multiple Mercado Libre country sites with local currency output.
  • Official store monitoring — Set officialStoresOnly, or paste a /tienda/, /loja/, /pagina/, or _CustId_ URL. Branded /tienda/ pages are landings, not card grids — without cookies the Actor follows catalog links, then matching public offers if listado is blocked.
  • Category & filter scraping — Paste any filtered Mercado Libre search or category URL into Start URLs to replicate browser filters exactly.
  • Bulk data pipelines — Export structured JSON or CSV datasets for spreadsheets, databases, and BI tools.

When not to use this Actor

  • Private seller messaging or account actions — Reads public listing and search pages only; no login, cart, or messaging access.
  • Real-time sub-second monitoring — Optimized for reliable bulk extraction, not millisecond-level price tick feeds.
  • Non-Mercado Libre sites — Built specifically for Mercado Libre domains across LATAM; not a generic web scraper.
  • Niche scoring, TAM, or market-size reports — this Actor exports listing rows only. It does not compute opportunity scores or demand models.
  • Treating a thin run as a full catalog — a login/captcha wall plus two cards is a failed scrape. Check the run_coverage row (requested, delivered, blocked).

Key Features

  • 18 LATAM country sites — MLA, MLB, MLM, MCO, MLC, MPE, MLU, MLV, MEC, MBO, MPA, MPY, MRD, MCR, MNI, MGT, MHN, MSV with automatic country-targeted residential proxy.
  • HTTP-first extraction — Visible search cards over residential HTTP. Camoufox / Playwright Firefox only if listado serves a JS interstitial or captcha wall.
  • Two extraction modes — Fast search-card mode (title, price, seller, shipping, sold, category) or full PDP enrichment (specs, description, stock, gallery, variations).
  • Parallel PDP fetching — Multi-session proxy pool with configurable pdpConcurrency and automatic retry on anti-bot timeouts.
  • Rich listing data — Original price, discount percent, installment plans, coupons, condition (new/used/refurbished), free shipping, FULL logistics badge, catalog product ID, seller reputation, sold counts, and ratings.
  • Flexible inputs — Keyword search, category URLs, seller storefronts, direct product URLs, price range filters, condition filters, sort (relevance / price / most sold / newest), and official-store-only mode.
  • Structured dataset output — Clean JSON rows ready for Apify dataset export, webhooks, and integrations.

How it works

  1. Hits visible listado HTML over residential HTTP. TLS impersonation rotates Chrome / Firefox / Android profiles; the last attempt uses a Googlebot UA. Extra Sec-Fetch headers are omitted so they do not mismatch the TLS fingerprint. After a few country-sticky walls it tries any residential IP. Pagination follows the on-page next link, or constructed _Desde_49 / _Desde_97 URLs when the pager is missing. The public search API is OAuth-gated (403) and is only used when it answers.
  2. If listado HTML is a JS interstitial (account-verification?go=…), Camoufox loads the same search URL, waits for the public challenge to clear, and replays the resulting cookies onto HTTP pagination. Playwright Firefox is the backup crawler: it opens listado first (not the homepage search box) and waits out the same interstitial.
  3. On a hard login or captcha wall it may paginate Ofertas, keeping only cards whose titles match the query. A wall plus a thin yield fails the run. Coverage is written to the dataset and COVERAGE in the key-value store.
  4. For /tienda/ or /loja/ storefronts, follows on-page catalog links (_Container_, “Ver todos”), then matching public offers if those listado URLs are walled.
  5. Parses search-result cards — titles, prices, seller name, shipping, thumbnails, catalog IDs, installments, sold buckets, and ratings — including listings embedded in page JSON when CSS cards are empty.
  6. When includeProductDetail is enabled, fetches each product detail page (HTTP first, Playwright if walled). soldQuantityIsEstimate is true when the page shows +N vendidos.
  7. Title filtering is off by default (strictTitleMatch: false) so the dataset matches the SERP. Turn it on when you want the Actor to drop off-query cards. Ofertas fallback always title-matches because deals mix unrelated SKUs.

Supported country sites

Site IDCountryCurrencyDomain
MLAArgentinaARSmercadolibre.com.ar
MLBBrazilBRLmercadolivre.com.br
MLMMexicoMXNmercadolibre.com.mx
MCOColombiaCOPmercadolibre.com.co
MLCChileCLPmercadolibre.cl
MPEPeruPENmercadolibre.com.pe
MLUUruguayUYUmercadolibre.com.uy
MLVVenezuelaVESmercadolibre.com.ve
MECEcuadorUSDmercadolibre.com.ec
MBOBoliviaBOBmercadolibre.com.bo
MPAPanamaUSDmercadolibre.com.pa
MPYParaguayPYGmercadolibre.com.py
MRDDominican RepublicDOPmercadolibre.com.do
MCRCosta RicaCRCmercadolibre.co.cr
MNINicaraguaNIOmercadolibre.com.ni
MGTGuatemalaGTQmercadolibre.com.gt
MHNHondurasHNLmercadolibre.com.hn
MSVEl SalvadorUSDmercadolibre.com.sv

Input Parameters

ParameterTypeDefaultDescription
siteIdStringMLATarget country site code (see table above).
searchQueriesArray["iphone"]Keywords to search (one per line).
categoryUrlsArray[]Category or filtered search URLs to crawl.
startUrlsArray[]Mix of search, category, seller storefront, or direct product detail URLs.
sellerUrlsArray[]Official stores (/tienda/, /loja/), independent shops (/pagina/), profiles, or _CustId_ catalogs. Branded storefronts need cookies for a full listado dump.
priceMinInteger—Minimum price filter in local currency.
priceMaxInteger—Maximum price filter in local currency.
conditionStringanyFilter: any, new, used, refurbished.
officialStoresOnlyBooleanfalseRestrict results to Mercado Libre official stores.
sortStringrelevanceSort: relevance, price_asc, price_desc, sold_desc, newest.
includeProductDetailBooleanfalseFetch full PDP: description, specs, stock, variations, gallery.
strictTitleMatchBooleanfalseDrop cards whose title does not contain the query words. Leave off to export the SERP as shown.
maxItemsInteger100Stop after N items (0 = unlimited).
maxPagesPerQueryInteger42Maximum search pages per query (~48 items/page).
maxConcurrencyInteger2Parallel search/category crawl jobs. Keep low to reduce captcha walls.
pdpConcurrencyInteger5Parallel product detail page fetches (when PDP enabled).
sessionPoolSizeInteger4Independent residential proxy sessions (1–10).
cookies / sessionCookiesArray / String—Optional logged-in Mercado Libre cookies when search hits a login or captcha wall.
blockAdsTrackersBooleanfalseBlock tracker domains. Leave off unless you are debugging bandwidth.
proxyConfigurationObjectautoApify proxy; residential proxy in target country auto-configured.

Input example — search listings

{
"siteId": "MLA",
"searchQueries": ["iphone 15"],
"maxItems": 500,
"condition": "new",
"officialStoresOnly": false,
"includeProductDetail": false,
"sort": "price_asc"
}

Input example — official store URL

{
"siteId": "MLA",
"sellerUrls": ["https://www.mercadolibre.com.ar/tienda/samsung"],
"maxItems": 200,
"includeProductDetail": false
}

A /tienda/ URL is a branded landing. Add cookies / sessionCookies when you need that store's listado rather than public offers that match the brand name.

Input example — full product details (PDP)

{
"siteId": "MLB",
"searchQueries": ["samsung galaxy s24"],
"maxItems": 200,
"includeProductDetail": true,
"pdpConcurrency": 8,
"sessionPoolSize": 4
}

Output Format

Each dataset row = one Mercado Libre product listing.

FieldTypeDescription
idStringListing ID from wid when present (e.g. MLA1787211113).
catalogProductIdStringCatalog / user-product ID from /p/ or /up/ (e.g. MLA55887294).
siteIdStringCountry site code (MLA, MLB, MLM, etc.).
titleStringProduct title.
permalinkStringCanonical product URL.
priceNumberCurrent selling price in local currency.
currencyStringCurrency code (ARS, BRL, MXN, CLP, etc.).
originalPriceNumberPrice before discount.
discountPercentIntegerDiscount percentage.
installmentsObjectInstallment quantity, amount, and interest rate.
couponStringVisible Mercado Pago / coupon rebate on the search card.
conditionStringnew, used, or refurbished.
availableQuantityIntegerStock count (PDP mode).
soldQuantityIntegerHistorical sold count from the search card (+N vendidos is a bucket floor).
sellerObjectId, nickname, official store flag, store name, reputation.
sellerId / sellerNameStringFlattened seller id and nickname for spreadsheet / BI joins.
categoryId / domainIdStringMercado Libre category and domain ids from the search or items API.
searchKeywordStringQuery that produced the row.
resultPositionInteger1-based rank in the result set.
totalResultsIntegerSearch API paging.total when the public API answered.
thumbnailUrlStringSearch card thumbnail.
imagesArrayFull image gallery (PDP mode).
descriptionStringProduct description text (PDP mode).
gtinStringGTIN / EAN from PDP JSON-LD or the specs table.
locationObjectSeller city, state, country (PDP mode).
freeShippingBooleanFree shipping badge.
fullShippingBooleanMercado Libre FULL logistics delivery.
ratingAverageNumberStar rating (0–5).
reviewCountIntegerTotal review count when shown on the card or PDP.
isFeaturedBooleanOferta del día / deal badge on the search card.
positionInteger1-based position on the search or offers page.
attributesObjectTechnical specifications key-value pairs (PDP mode).
variationsArrayColor, size, and other variants with IDs and URLs (PDP mode).
scrapedAtStringExtraction timestamp (UTC ISO 8601).

Output example

{
"id": "MLA1424728826",
"catalogProductId": "MLA19597568",
"siteId": "MLA",
"title": "Apple iPhone 14 (128 GB) - Blanco Estelar",
"permalink": "https://www.mercadolibre.com.ar/apple-iphone-14-128-gb-blanco-estelar/p/MLA19597568",
"price": 1199999,
"currency": "ARS",
"originalPrice": 1499999,
"discountPercent": 20,
"installments": {
"quantity": 12,
"amount": 99999,
"rate": 0
},
"condition": "new",
"availableQuantity": 15,
"soldQuantity": 1500,
"sellerId": "123456",
"sellerName": "Apple",
"searchKeyword": "iphone 14",
"seller": {
"id": "123456",
"nickname": "Apple",
"isOfficialStore": true,
"storeName": "Apple",
"reputation": "platinum"
},
"freeShipping": true,
"fullShipping": true,
"ratingAverage": 4.8,
"attributes": {
"Memoria interna": "128 GB",
"Memoria RAM": "6 GB",
"Modelo del procesador": "Apple A15 Bionic"
},
"scrapedAt": "2026-07-09T10:40:00Z"
}

Search mode vs. PDP mode

Search listingsProduct detail (PDP)
Input flagincludeProductDetail: falseincludeProductDetail: true
SpeedHTTP listado (browser only if blocked)Extra request per item
Data depthTitle, price, seller, shipping, sold count, catalog ID, thumbnail+ description, specs, stock, gallery, variations, GTIN
Best forPrice monitoring, bulk catalog scansSpecification matching, enrichment, inventory analysis

Use Cases

Use CaseWhat you get
LATAM price intelligenceStructured price datasets per keyword across Argentina, Brazil, Mexico, Chile, and more
Competitor monitoringTrack prices, discounts, and installment offers in a niche, including official-store filters
Catalog specification matchingFull technical attribute tables for ERP, PIM, and marketplace listing sync
Resale arbitrageCompare new vs. refurbished prices and sold quantities to find margin opportunities
Cross-border researchSame keyword on MLA vs. MLB vs. MLM with local currency normalization
Data pipelinesJSON/CSV export or webhook integrations to Sheets, databases, and BI tools

Integration examples

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('crawloop/mercado-libre-listings-scraper').call({ siteId: 'MLA', searchQueries: ['iphone 15'], maxItems: 50, includeProductDetail: false });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.slice(0, 5));

Python

from apify_client import ApifyClient
client = ApifyClient(token)
run = client.actor("crawloop/mercado-libre-listings-scraper").call(
run_input={"siteId": "MLA", "searchQueries": ["iphone 15"], "maxItems": 50, "includeProductDetail": False}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item.get("id"), item.get("title"), item.get("price"))

cURL

curl "https://api.apify.com/v2/acts/crawloop~mercado-libre-listings-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"siteId":"MLA","searchQueries":["iphone 15"],"maxItems":50,"includeProductDetail":false}'

MCP and AI assistants

Use this Actor from AI tools via Apify MCP. Connect your Apify account, then call crawloop/mercado-libre-listings-scraper.

Example prompts:

  • "Scrape Samsung listings on Mercado Libre Argentina from the official store URL"
  • "Run Mercado Libre Listings Scraper for iphone 15 on MLA, max 50, return id, catalogProductId, title, price, currency"
  • "Scrape Mercado Libre Mexico for air fryers without PDP detail"

FAQ

Which Mercado Libre countries are supported?

All 18 Mercado Libre regional sites: Argentina, Brazil, Mexico, Colombia, Chile, Peru, Uruguay, Venezuela, Ecuador, Bolivia, Panama, Paraguay, Dominican Republic, Costa Rica, Nicaragua, Guatemala, Honduras, and El Salvador. Set siteId to the corresponding code (e.g. MLA for Argentina, MLB for Brazil).

How does it handle Mercado Libre bot protection?

Keyword search reads visible listado HTML over country residential HTTP (Chrome TLS, then a Googlebot UA if the first profiles wall). Pages after the first use _Desde_N URLs even when the HTML omits the pager. A JS interstitial (account-verification?go=…) is waited out in Camoufox or Playwright Firefox; the public search API is OAuth-gated (403) and is not the primary path. Ofertas is a last-resort, title-filtered fallback — not a full catalog. The Actor does not solve captchas. If a wall is seen and delivered listings are well under maxItems (under half, and under 10 when you asked for 20+), the run fails so pipelines cannot treat two cards as a market. For a store dump behind a hard login wall, add cookies from a logged-in browser and keep blockAdsTrackers off.

Do I need proxies?

Residential proxies in the target country are strongly recommended and auto-configured on Apify Cloud when proxy input is left empty. For PDP mode with high maxItems, increase sessionPoolSize (default 4) to spread load across more IP addresses.

What is the difference between search and PDP mode?

Search mode (includeProductDetail: false) extracts data from search result cards — fast and cost-efficient for price monitoring. Seller nickname and sold counts are frequently missing on cards. PDP mode (includeProductDetail: true) visits each product page for specifications, description, stock, sold quantity, image gallery, and variations. Sold figures shown as +1000 vendidos are bucket floors (soldQuantityIsEstimate: true), not exact sales.

Can I scrape a seller storefront or official store?

Yes. Paste the URL into sellerUrls or startUrls: official stores (/tienda/ or Brazil /loja/), independent shops (/pagina/), seller profiles, or listado _CustId_ catalogs. Official /tienda/ pages are branded landings without listing cards; the Actor follows on-page catalog links. If those listado URLs hit a wall, it returns title-matched public offers — not necessarily every item in that store. Pass session cookies for a fuller catalog. Pagination follows "Siguiente" when present, otherwise constructed _Desde_N listado URLs.

Can I scrape specific categories or advanced filters?

Yes. Open Mercado Libre in your browser, apply filters (category, price range, condition, sort order), copy the URL from the address bar, and paste it into categoryUrls or startUrls. Price and condition filters can also be set directly in the Actor input.

Does it work with used and refurbished listings?

Yes. Set condition to used or refurbished, or leave it as any. The Actor correctly parses user-product listings (/up/MLAU... URLs) alongside catalog products (/p/MLA...).

Can I scrape 1,000+ listings in one run?

Yes. Set maxItems to your target (e.g. 1000). Search mode handles 1,000 items in approximately 3 minutes. PDP mode with pdpConcurrency: 8 and sessionPoolSize: 4 completes 1,000 enriched products in approximately 40 minutes.

Does it export to JSON / CSV?

Yes. Results are written to the Apify dataset. Download JSON, CSV, or Excel from the run, or connect webhooks and integrations. Each run also writes a run_coverage dataset row and a COVERAGE key-value record (requested, delivered, blocked, source).

Why did a run FAIL after returning a few correct cards?

That is intentional. Mercado Libre sometimes serves a login or captcha wall, then Ofertas yields 1–2 title-matched cards. Succeeding in that state makes an automation think it scraped the market. If a wall or Ofertas fallback ran and delivered listings are well under maxItems, the Actor fails. The cards already in the dataset are still valid.

How is this different from a generic web scraper?

This Actor is purpose-built for Mercado Libre: correct URL construction per country, residential-proxy sessions, installment parsing, official store detection, FULL shipping badges, LATAM number formatting, and parallel PDP enrichment with proxy session pooling.

Suite next step

After a LATAM listing dump, compare the same keyword on Amazon Search Scraper or AliExpress Search Scraper.

ActorBest for
Mercado Libre Listings Scraper ◄── you are hereLATAM Mercado Libre search and PDP listings
Amazon Search ScraperAmazon keyword SERP, ASIN, badges
AliExpress Search ScraperAliExpress retail search, sold count
Shopee Search ScraperShopee regional search
Naver Search ScraperKorean 통합검색 rank / Powerlink
eBay Sold Listings ScraperCompleted eBay sold comps