Mercado Libre Scraper avatar

Mercado Libre Scraper

Pricing

Pay per usage

Go to Apify Store
Mercado Libre Scraper

Mercado Libre Scraper

Extract Mercado Libre and Mercado Livre data from all 18 Latin American marketplaces: products, prices, discounts, sellers, official stores, daily deals and buyer reviews with ratings and photos. Export data, run via API, schedule runs, or integrate with other tools or AI workflows.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Matvey

Matvey

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

9 minutes ago

Last modified

Share

Mercado Libre Scraper extracts public Mercado Libre and Mercado Livre data from all 18 Latin American marketplaces without the official API: product cards from search and category pages, full product details, buyer reviews with ratings and photos, official store catalogs and today's deals. No login, no API key and no Mercado Libre developer account are needed. Export to JSON, CSV or Excel, run it via API, schedule runs, or plug it into n8n, Make, Zapier, Google Sheets or an AI agent through MCP.

How Mercado Libre Scraper works: search, product details, reviews, deals and official store modes into one dataset

What is Mercado Libre Scraper?

Mercado Libre (mercadolibre.com.mx, .com.ar, .cl, .com.co, .com.pe … and Mercado Livre mercadolivre.com.br) is the largest e-commerce marketplace in Latin America. Its official API requires an app, OAuth tokens and seller permissions, and since 2024 the public search and item endpoints return 403 forbidden for anonymous calls. This Actor reads the public web pages instead and gives you clean, structured Mercado Libre data for price monitoring, market research, competitor tracking, catalog enrichment, review analysis and lead generation.

Five modes in one Actor:

ModeWhat you getInput
🔍 Products from searchProduct cards: title, price, original price, discount %, installments, rating, sold quantity, seller, official-store flag, condition, image, position, pagekeywords or search / category URLs
📦 Product detailsEverything on the product page: price, stock, specifications (60+ attributes), description, gallery, variations, seller reputation, shipping, warranty, category pathproduct URLs or IDs
ReviewsEvery buyer review: stars, text, variant bought, date, helpful votes, photos, plus the product's rating breakdown and AI-summary statusproduct URLs or IDs
🔥 Deals (Ofertas)Today's deals page of any country: discounted products with old/new price, discount %, seller, rating, sold quantitycountry or /ofertas URL
🏪 Official storeStore profile (brand, official store ID, seller ID, creation date, status) and its featured products/tienda/... URL

Reviews, deals and official-store pages are fetched with plain HTTP requests and do not consume any proxy traffic. Search and product pages sit behind Mercado Libre's bot gate, so the Actor opens them in a real browser through residential proxies of the matching country. That is included in the per-result price. You never see a CAPTCHA, a "log in to continue" wall or a proof-of-work challenge in your results, and blocked pages are retried automatically.

What data can Mercado Libre Scraper extract?

🔍 Product cards (search, category, deals, store)

FieldExample
titleApple iPhone 15 128 GB Negro
price / originalPrice / discountPercent12919 / 16999 / 24
currencyMXN
installmentsText12 meses sin intereses de $1,076
rating / reviewCount / soldQuantity4.8 / 312 / 250000
seller / isOfficialStoreKritech / true
conditionReacondicionado
freeShipping / fullShipping / isSponsoredtrue / false / false
labels["OFERTA DEL DÍA"]
variationsTextDisponible en 4 colores
productId / itemIdMLM27172677 / MLM2120627201
url / imageUrlproduct link, main picture
position / page / searchTerm / totalResults2 / 1 / iphone 15 / 759
siteId / countryMLM / MX

📦 Product details

Everything above plus description, specs (flat object with all technical specifications: brand, model, memory, screen, battery, dimensions…), specGroups, images (full gallery), variations, availableQuantity, stockText, availability, shippingText, logisticType, listingType, categoryId, categoryPath, breadcrumb, warranty, returnAvailable, dealIds and a seller object with id, name, url, officialStoreId, reputationLevel (e.g. 5_green), powerSellerStatus (platinum), statusTitle (MercadoLíder Platinum) and sales volume.

⭐ Reviews

FieldExample
rating5
textExcelente compra. El colchón viene tal cual en las imágenes…
variantColor: negro · Talla: XXL
createdAt / dateText2026-06-13T22:30:12Z / Hace 2 meses
likes96
images["https://http2.mlstatic.com/D_NQ_NP_715568-MLA98663772743_112025-O.webp"]
productId / productUrl / countryMLM4700406170 / link / MX

One extra product_rating row per product holds ratingAverage, ratingCount, reviewsWithText, ratingBreakdown (count and % per star), picturesCount and aiSummaryStatus (whether Mercado Libre has generated an AI summary of the reviews).

🏪 Official stores

name, brandName, officialStoreId, sellerId, storeType, status, hasDebts, hasModerations, createdAt, tags, homeUrl, searchUrl and the featured products of the store home page.

Supported Mercado Libre marketplaces

Every country runs on its own domain and currency. Prices are returned exactly as the marketplace shows them and are never converted, so a Brazilian row is in BRL and a Mexican row in MXN.

CountrySite IDDomainCurrency
🇲🇽 MexicoMLMmercadolibre.com.mxMXN
🇧🇷 BrazilMLBmercadolivre.com.brBRL
🇦🇷 ArgentinaMLAmercadolibre.com.arARS
🇨🇱 ChileMLCmercadolibre.clCLP
🇨🇴 ColombiaMCOmercadolibre.com.coCOP
🇵🇪 PeruMPEmercadolibre.com.pePEN
🇺🇾 UruguayMLUmercadolibre.com.uyUYU
🇪🇨 EcuadorMECmercadolibre.com.ecUSD
🇻🇪 VenezuelaMLVmercadolibre.com.veVES
🇧🇴 BoliviaMBOmercadolibre.com.boBOB
🇵🇾 ParaguayMPYmercadolibre.com.pyPYG
🇩🇴 Dominican RepublicMRDmercadolibre.com.doDOP
🇨🇷 Costa RicaMCRmercadolibre.co.crCRC
🇵🇦 PanamaMPAmercadolibre.com.paUSD
🇬🇹 GuatemalaMGTmercadolibre.com.gtGTQ
🇭🇳 HondurasMHNmercadolibre.com.hnHNL
🇸🇻 El SalvadorMSVmercadolibre.com.svUSD
🇳🇮 NicaraguaMNImercadolibre.com.niNIO

Mix countries freely in one run: pick a country for keyword searches and paste URLs from any other marketplace. Each row carries siteId and country so you can split the dataset afterwards.

How much does it cost to scrape Mercado Libre?

The Actor uses Apify's pay-per-event pricing: you pay only for results, nothing per run, per page or per proxy gigabyte.

EventPricePer 1,000
Product (search card, deal or store product)$0.0025$2.50
Product detail (full product page)$0.025$25
Review$0.001$1

Residential proxies and browser rendering for gated pages are included. The Apify Free plan ($5 monthly credit) gives you about 2,000 product cards, 200 product details or 5,000 reviews every month. Bronze, Silver and Gold Store tiers get a discount on top.

How to scrape Mercado Libre

  1. Open Mercado Libre Scraper on Apify and click Try for free (a free Apify account is enough).
  2. Choose What to scrape – for example Products from search.
  3. Pick the Country (Mexico, Brazil, Argentina, Chile, Colombia, Peru, Uruguay, Ecuador, Venezuela, Bolivia, Paraguay, Dominican Republic, Costa Rica, Panama, Guatemala, Honduras, El Salvador, Nicaragua).
  4. Type your Search keywords or paste Mercado Libre URLs (search results, categories, products, official stores or the deals page). You can mix countries: every URL keeps its own marketplace.
  5. Set Max products and, for reviews, Max reviews per product, then click Start.
  6. When the run finishes, open the Output tab and download the dataset as JSON, CSV, Excel, XML or HTML, or read it through the API.

⬇️ Input

Mercado Libre Scraper input form: mode, country, search keywords, URLs, max products, reviews filters

Search Mexico for two keywords, new items only, sorted by price, 200 products per keyword:

{
"mode": "search",
"country": "MX",
"searchTerms": ["iphone 15", "galaxy s24"],
"condition": "new",
"sort": "price_asc",
"maxItems": 200
}

Full product pages for a list of products (URLs from any country, or bare IDs like MLB3568040961):

{
"mode": "product",
"startUrls": [
"https://www.mercadolibre.com.mx/apple-iphone-15-128-gb-negro/p/MLM27172677",
"https://produto.mercadolivre.com.br/MLB-3568040961-_JM"
]
}

All reviews of a product, newest first, only 1-star reviews:

{
"mode": "reviews",
"startUrls": ["MLM4700406170"],
"maxReviewsPerProduct": 5000,
"reviewsRating": "1",
"reviewsSort": "date_desc"
}

Today's deals in Brazil and an official store in Argentina in one run (auto mode picks the right parser by URL):

{
"startUrls": [
"https://www.mercadolivre.com.br/ofertas",
"https://www.mercadolibre.com.ar/tienda/samsung"
],
"maxItems": 100
}

Search filters

sort (relevance, price_asc, price_desc), condition (any, new, used), minPrice, maxPrice, freeShippingOnly, officialStoresOnly, includeSponsored. Filters are translated into Mercado Libre's own URL segments (_OrderId_PRICE, _PriceRange_1000-5000, _CostoEnvio_Gratis, _Tienda_all) so results match what a shopper sees. Turn on Fetch full product details to open every search result and merge the product page into the row (billed as product details).

⬆️ Output

Mercado Libre Scraper output table: product, price, discount, rating, seller, official store, condition, product ID

One product card from search:

{
"type": "product",
"title": "Apple iPhone 15 128 GB Negro",
"url": "https://www.mercadolibre.com.mx/apple-iphone-15-128-gb-negro/p/MLM27172677",
"productId": "MLM27172677",
"itemId": "MLM2120627201",
"siteId": "MLM",
"country": "MX",
"currency": "MXN",
"price": 12919,
"originalPrice": 16999,
"discountPercent": 24,
"installmentsText": "12 meses sin intereses de $1,076",
"condition": null,
"rating": 4.8,
"reviewCount": null,
"seller": "Kritech",
"isOfficialStore": true,
"freeShipping": false,
"isSponsored": false,
"labels": [],
"imageUrl": "https://http2.mlstatic.com/D_Q_NP_2X_669616-MLA95935383067_102025-E.webp",
"position": 2,
"page": 1,
"searchTerm": "iphone 15",
"totalResults": 759,
"scrapedAt": "2026-09-03T04:30:25.570Z"
}

Reviews come back one row per buyer, with the exact product variant that was bought:

Mercado Libre reviews output: stars, review text, variant bought, date, helpful votes, product ID

One review:

{
"type": "review",
"reviewId": 2954413987,
"productId": "MLM4700406170",
"siteId": "MLM",
"country": "MX",
"rating": 5,
"text": "Material: fresco pero no es algodón, no trae encaje…",
"variant": "Color: negro blanco piel marrón · Talla: XXL",
"dateText": "Hace 2 meses",
"createdAt": "2026-06-13T22:30:12Z",
"likes": 96,
"images": [],
"scrapedAt": "2026-09-03T04:27:28.979Z"
}

Deals mode returns the same product shape, with the pre-discount price and the discount percentage filled in:

Mercado Libre deals output: product, price, previous price, discount percent, rating, units sold, seller, country

Rows carry a type (product, product_detail, deal, review, product_rating, store, error) so you can filter one dataset in a spreadsheet or in code. Pages that could not be scraped are reported as error rows with the URL and reason instead of silently disappearing.

Use cases for Mercado Libre data

Price monitoring and repricing

Schedule a daily run for your product keywords or competitor URLs and track price, originalPrice, discountPercent and installmentsText over time. Feed the dataset into Google Sheets or your repricing tool.

Market and competitor research

Search a category in several countries in one run, compare sellers, official stores, sold quantities and ratings, and spot which products win the first positions (position, isSponsored).

Review mining and product quality

Pull thousands of reviews with star ratings, purchase variants and photos, then run sentiment analysis or feed them to an LLM to find recurring complaints before you source a product.

Catalog enrichment

Product details include brand, model, 60+ specifications, gallery images and category path — enough to build or enrich your own catalog or a comparison site.

Seller and store intelligence

Official-store mode returns store IDs, creation dates and status; product details include seller reputation (5_green), MercadoLíder level and sales volume, so you can qualify suppliers and partners.

AI agents and RAG

Flat rows with literal field names and a minimal set of required inputs make the Actor easy to call from an AI agent through the Apify MCP server or the API.

Integrations

  • API – start a run and read the dataset with any HTTP client. Python example:
from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("lergassy/mercadolibre-scraper").call(run_input={
"mode": "search", "country": "BR", "searchTerms": ["air fryer"], "maxItems": 100
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["title"], item["price"], item["currency"])
  • JavaScriptnpm i apify-client, then client.actor('lergassy/mercadolibre-scraper').call(input).
  • n8n, Make, Zapier, Google Sheets, Airtable, Slack, webhooks – use the Apify integrations to trigger runs and push results.
  • MCP – add the Apify MCP server to Claude, ChatGPT, Cursor or any MCP client and let the agent call lergassy/mercadolibre-scraper with a keyword and a country.
  • Scheduling and monitoring – Apify schedules, run notifications and dataset diffs work out of the box.

Error items and troubleshooting

Mercado Libre protects search and product pages with a bot gate. The Actor opens those pages in a real browser through residential proxies of the matching country, warms up the session on the marketplace home page and retries with a fresh browser identity whenever a page comes back blocked. Only after several failed attempts does a URL end up in the dataset as an error row:

{
"type": "error",
"url": "https://www.mercadolibre.com.mx/apple-iphone-15/p/MLM27172677",
"error": "blocked (403, 2581 bytes)",
"kind": "item",
"scrapedAt": "2026-09-03T05:12:44.101Z"
}

Common cases and what to do:

What you seeWhat it meansFix
error rows for a few productsThose pages stayed blocked after the retriesRe-run just those URLs; the gate is per-IP and usually passes on a second run
Empty dataset in search modeThe keyword returns no listings on that marketplaceCheck the keyword on the site itself, or use a listing URL
rating and reviewCount are nullSearch cards only show what the card showsTurn on Fetch full product details or use Product details mode
Reviews mode returns only a rating rowThe product has ratings but no written reviewsLook at reviewsWithText in the product_rating row
Fewer results than Max productsThe query ran out of pages before the capBroaden the keyword or remove filters

🤖 For AI Agents & LLM Apps

Compact reference for agents calling this Actor through the Apify MCP server or the Apify API (lergassy/mercadolibre-scraper).

Purpose: returns Mercado Libre listings, reviews and rating summaries across the Latin American marketplaces — by search term or by product URL — with price, instalment offer, discount, seller and shipping promise. Use it to answer "what does this cost in Mexico today", "who sells it officially", "how do buyers rate it" and "which listings are paid placements".

Minimal input:

{ "searchTerms": ["iphone 15"], "country": "MX", "maxItems": 50 }

Output: one row per listing — type, title, url, productId, itemId, country, currency, price, originalPrice, discountPercent, installmentsText, brand, condition, soldQuantity, rating, reviewCount, seller, isOfficialStore, freeShipping, fullShipping, shippingText, isSponsored, labels, location, imageUrl, position, page, searchTerm, totalResults, scrapedAt. Review rows carry text, variant, createdAt, likes and images; rating rows carry ratingAverage, ratingCount and ratingBreakdown; store rows describe official stores; unreadable pages arrive as type: "error".

Behaviors an agent should know:

  • mode defaults to auto: search terms run search mode, product URLs run product mode. Ask for reviews explicitly when you want review rows.
  • country selects the marketplace, the site code and the currency. Prices are in local currency — Brazilian reais and Mexican pesos are not comparable numbers.
  • installmentsText matters more than price in this region: most purchases are made in interest-free instalments, so quote it when a user asks about affordability.
  • isSponsored marks paid placements. Exclude them with includeSponsored: false before drawing conclusions about organic ranking, and note that position is the rank as displayed, sponsored rows included.
  • maxItems (default 50) caps listings; maxReviewsPerProduct (default 100) caps reviews separately. enrichProducts adds a page fetch per product.
  • officialStoresOnly and freeShippingOnly filter at the source, which is cheaper and more reliable than filtering rows afterwards.
  • Review text is Spanish or Portuguese depending on the country. Translate before sentiment scoring.

❓ FAQ

The Actor only collects data that is publicly visible to any visitor: listings, prices, specifications, store pages and reviews that buyers chose to publish. It does not log in, does not access accounts and does not collect private data. Personal data in reviews is limited to what Mercado Libre shows publicly. You are responsible for using the data in line with local law (LGPD in Brazil, LFPDPPP in Mexico, GDPR if you process EU residents' data) and Mercado Libre's terms; consult a lawyer for your specific case.

Which countries are supported?

All 18 Mercado Libre marketplaces: Mexico (MLM), Brazil (MLB), Argentina (MLA), Chile (MLC), Colombia (MCO), Peru (MPE), Uruguay (MLU), Ecuador (MEC), Venezuela (MLV), Bolivia (MBO), Paraguay (MPY), Dominican Republic (MRD), Costa Rica (MCR), Panama (MPA), Guatemala (MGT), Honduras (MHN), El Salvador (MSV) and Nicaragua (MNI). Prices stay in the local currency and are not converted.

Do I need a proxy or a browser?

No. Search and product pages are opened in a browser through residential proxies of the matching country automatically, and reviews, deals and stores are fetched without any proxy. Everything is included in the per-result price.

Why do some fields come back empty?

Search cards only contain what Mercado Libre shows on the card: a listing without reviews has rating: null, a card without a discount has originalPrice: null. Use Product details (or Fetch full product details) for the complete record.

How many results can one search return?

Mercado Libre paginates listings 48 per page and stops around 2,000 results per query. Use narrower keywords, category URLs or price ranges to go deeper.

Can I get the whole catalog of a seller?

Yes: paste the seller's listing URL (for example https://listado.mercadolibre.com.mx/_CustId_49477299 or https://listado.mercadolibre.com.mx/tienda/apple/) as a start URL in search mode. Official store mode returns the store profile and its featured products.

Can I use the Actor with the Apify API, MCP or n8n?

Yes. See the Integrations section. The input is plain JSON; startUrls accepts URLs or bare product IDs.

Does it return one row per product?

Yes. Each product, review, deal or store is one row with a type field. Product details from Fetch full product details are merged into the product row.

What happens if Mercado Libre blocks a page?

Blocked sessions are retired and the page is retried with a fresh browser identity and IP. If it still fails, you get an error row with the URL and you are not charged for it.

How do I scrape Mercado Livre in Brazil?

Set Country to Brazil, or paste any mercadolivre.com.br URL. Brazilian listings live on lista.mercadolivre.com.br and product pages on produto.mercadolivre.com.br; both are recognised automatically, and results come back in BRL with Portuguese field values.

Can I scrape Mercado Libre without an API key?

Yes. That is the point of this Actor. Mercado Libre's own API needs an application, OAuth tokens and seller permissions, and its anonymous endpoints have returned 403 forbidden since 2024. This Actor reads the same public pages a shopper sees, so you only need an Apify account.

What is the difference between productId and itemId?

productId (also called the catalog product, e.g. MLM27172677) is the catalogue entry that groups every seller offering the same product. itemId (e.g. MLM2120627201) is one seller's individual listing. Search cards carry both when the listing belongs to a catalogue; marketplace-only listings have just an itemId.

Can I track price history?

The Actor returns the current state of a page. Schedule a daily or hourly run on Apify, keep each dataset, and you build your own history with scrapedAt as the timestamp. Apify's dataset storage and integrations make it easy to append everything to one sheet or database.

How often can I run it?

As often as your plan allows. Reviews, deals and store modes are plain HTTP requests and cheap to repeat. For search and product pages, spread heavy jobs out rather than hammering a marketplace: the built-in concurrency limit defaults to three pages at a time.

Does it collect buyer questions and answers?

No. Mercado Libre only renders the question thread for logged-in users, and this Actor never logs in. Reviews, ratings and the AI review summary status are collected instead.

Can I scrape a whole category?

Yes. Copy a category listing URL from the site (anything starting with listado. or lista., or a /c/ category page) and paste it into Mercado Libre URLs. Pagination is followed automatically up to your Max products limit.

Your feedback

Found a page that does not parse, or need another field (questions and answers, seller catalog pagination, price history)? Open an issue in the Issues tab or leave a review — requests from users decide what ships next.

You might also like

ActorWhat it does
Agoda Reviews ScraperHotel reviews from Agoda and Booking.com
Tokopedia Reviews ScraperShop reviews from Indonesia's Tokopedia
Google Flights ScraperFlight prices, airlines and price insights from Google Flights
Email & Phone VerifierChecks e-mails and phone numbers in bulk: deliverability, throwaway and role flags, numbering plan, US state and time zone