Mercado Libre Deals & Best Sellers Scraper avatar

Mercado Libre Deals & Best Sellers Scraper

Under maintenance

Pricing

from $0.72 / 1,000 listings

Go to Apify Store
Mercado Libre Deals & Best Sellers Scraper

Mercado Libre Deals & Best Sellers Scraper

Under maintenance

Mercado Libre's deals board and best-seller lists as rows, in nine countries: price, previous price and discount, instalments, free shipping and Full, seller or brand, rating, sold count, link and photo. Filter deals by category, deal type and price. Not a keyword search. $0.75 per 1,000 listings.

Pricing

from $0.72 / 1,000 listings

Rating

0.0

(0)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

2

Monthly active users

7 days ago

Last modified

Share

Get Mercado Libre's deals board and best-seller lists as rows, for nine countries: one row per listing, with the price now, the price before, the discount, instalments, shipping, the seller or brand on the card, its rating and the sold count, with a link and a photo.

There is no keyword box. Mercado Libre's search, item and catalog pages want a signed-in account, so "iphone 15" is not something this can answer. It reads the two pages the site publishes to everyone, Ofertas and Más vendidos, and nothing else.

InputA country, then deals, best sellers or both
OutputOne row per listing: price, previous price and discount, instalments, shipping and Full, seller or brand, rating, sold count, link and photo
Ceiling2,000 listings per run
Account neededNone
Price$0.75 per 1,000 listings, flat on every plan. The free plan's $5 a month covers about 6,600

🔍 What Mercado Libre Scraper does

Deals. 48 a page, in the order the site shows them, narrowed by the filters the deals page itself offers: a top-level category, lightning deals or the deal of the day, a price range, instalment terms, free shipping, and Full. One set of filters reaches about 1,048 deals and then the page stops, however many it claims to have. Argentina's counted 11,246 on 13 September 2026. The status message tells you when you have hit that wall, and a category or a price band opens the rest.

Best sellers. The lists on the Más vendidos page: up to 20 products per category, for the six to ten categories Mercado Libre chooses to put there. Argentina's had 103 products in six lists, Brazil's 154 in ten. That page takes no filters. A category ID keeps only its list, when the page carries one.

Nine sites: Argentina, Brazil, Mexico, Chile, Colombia, Peru, Uruguay, Ecuador and Venezuela. Venezuela publishes no best-seller page, so it is deals only there.

📋 What data you get from each Mercado Libre listing

What you getField
Which page and site it came fromsource, country, siteId
Item, catalog product and titleitemId, productId, userProductId, title
Price now, the crossed-out price, the discount and the currencyprice, originalPrice, discountPercent, currency
InstalmentsinstallmentsCount, installmentAmount, installmentsInterestFree
Shipping and FullfreeShipping, fullFulfillment, shippingText
The seller or brand on the card, and official-store flagseller, officialStore
Rating and sold countrating, soldText, soldAtLeast
The deal: type, badge and end timepromotion, highlight, dealEndsAt
Best-seller rank and categorybestSellerRank, categoryId, categoryName, leafCategoryId
Where it sat, the link and the photoposition, page, url, thumbnail

▶️ How to scrape Mercado Libre deals and best sellers

  1. Open Mercado Libre Scraper and click Try for free.
  2. Pick a Country.
  3. Under What to read, choose deals, best sellers or both.
  4. Add a Category ID or a price range if you want a slice rather than the whole board, set Maximum listings, then click Start.
  5. Download the dataset as JSON, CSV or Excel.

Run it with no country and you get one sample row, a real Argentine deal, so you can see the shape first. It is not charged.

💰 How much does it cost to scrape Mercado Libre?

$0.75 per 1,000 listings. Flat on every Apify plan, no volume tiers. On the free plan, the $5 Apify gives you each month covers about 6,600 listings.

You pay per listing row delivered. A deal that did not match your filters, a listing the site showed twice, a page that would not load, a run where the site ignored a filter, and the sample row are all free.

📥 What you give it

{
"country": "AR",
"sources": ["deals"],
"category": "MLA1051",
"maxPrice": 500000,
"freeShipping": true,
"maxItems": 200
}
FieldDefaultWhat it is
countrynoneWhich site to read: AR, BR, MX, CL, CO, PE, UY, EC or VE. The form starts at AR.
sourcesnone, which means dealsdeals, bestSellers, or both.
categorynoneA top-level category ID such as MLA1051 for phones in Argentina, MLB1051 in Brazil. Open the deals page, click a category, and the address bar shows it. It has to belong to the country you picked.
promotionTypenonelightning or deal_of_the_day. Empty means every kind.
minPrice, maxPricenoneIn the site's own currency, so 10000 is 10,000 Argentine pesos. Deals only.
installmentsnoneyes, no_interest, good_financing or campaign_co_funded. Deals only.
freeShippingfalseOnly deals showing free shipping. Deals only.
fullOnlyfalseOnly deals shipped by Mercado Libre's Full service. Deals only.
maxPages22Deals pages to read, 48 each. 22 is the wall described above.
maxItems1000 (the form shows 48)Listings in one run, up to 2,000, deals and best sellers together.

If the deals page does not recognise a filter value, it quietly shows everything instead. The run checks that each filter you set actually got applied. When one did not, you get no listings, nothing is charged, and an uncharged row names the filter. Nobody should pay for the whole board because a category ID had a typo in it.

📤 What you get back

A real deal row from a run on 20 September 2026, with the photo URL cut short:

{
"source": "deals",
"country": "AR",
"siteId": "MLA",
"itemId": "MLA2692124128",
"productId": "MLA57692573",
"userProductId": "MLAU3347695717",
"title": "Combo Hidrolavadora Aspiradora Electrica Alta presion Trent HLT307 + VC19K Amarillo 50hz",
"price": 159365,
"currency": "ARS",
"originalPrice": 457354.91,
"discountPercent": 65,
"installmentsCount": 6,
"installmentAmount": 35854,
"installmentsInterestFree": false,
"freeShipping": true,
"fullFulfillment": true,
"shippingText": "Llega gratis mañana",
"seller": "TRENT",
"officialStore": true,
"rating": 4.9,
"soldText": "+5mil vendidos",
"soldAtLeast": 5000,
"promotion": "deal_of_the_day",
"highlight": "OFERTA DEL DÍA",
"dealEndsAt": null,
"bestSellerRank": null,
"categoryId": null,
"categoryName": null,
"leafCategoryId": null,
"position": 1,
"page": 1,
"url": "https://www.mercadolibre.com.ar/combo-hidrolavadora.../p/MLA57692573",
"thumbnail": "https://http2.mlstatic.com/D_Q_NP_2X_639539-MLA109280515034...",
"scrapedAt": "2026-09-20T19:01:40.776Z"
}
FieldHow to read it
soldText, soldAtLeastThe site's rounded label, and that label as a number. +5mil vendidos becomes 5000. It is a floor, not a count.
sellerThe name printed on the card, which is often a brand or its official store rather than the trading account.
originalPrice, discountPercentThe crossed-out price and the badge, both as the card shows them.
dealEndsAtSet on lightning deals, null otherwise.
bestSellerRank, leafCategoryIdBest-seller rows only.
categoryId, categoryNameOn deals, the category you filtered on. On best sellers, the list the row came from.
scrapedAtWhen the run started reading.

Best-seller rows carry less than deal rows. That page prints no seller, rating, sold count, shipping text or instalments, so those fields come back null.

🧾 Reading the output

RowHow to spot itBilled
A listingNo _sample or _diagnostic keyyes
The sample row_sample: true, only when no country was pickedno
A diagnostic_diagnostic: true, ok: false, charged: false and an errorCodeno
CodeWhat it means
FILTER_NOT_APPLIEDMercado Libre ignored a filter you set rather than rejecting it, so nothing was delivered or charged. filtersNotApplied names it. Check the value and run again.
PAGE_UNREADABLENo page could be read this run. Nothing was charged; try again shortly.

The run's status message carries the rest: why it stopped, whether you reached the 1,048-deal wall, any page that would not load, and how many rows were skipped or seen twice. RUN_REPORT in the key-value store holds the same thing broken down per source, per page and per filter.

💡 What people use it for

  • Watching a category's discounts day by day, on a schedule, and keeping the ones that repeat.
  • Tracking a brand's own deals by filtering on its category and matching seller.
  • Pulling the best-seller lists once a week to see what moves in and out of the top 20.
  • Comparing the same catalog product across countries, since productId is per site but the title and photo line up.

🚧 What it does not do

  • No keyword search and no sorting. The deals page offers neither, so rows come in Mercado Libre's order.
  • No seller ID, reputation, item condition or location. These cards do not print them.
  • Best sellers carry fewer fields, because that page shows fewer.
  • About 1,048 deals per filter set. Splitting by category or price band is the way past it.
  • Only the lists the hub page shows. A single category's own best-seller page is not readable.
  • Prices are a snapshot. Lightning deals often end within hours, and dealEndsAt says when.
  • Card order differs between visitors, so two runs of the same filters can disagree on position.
  • One country per run.
  • The deals board can reshuffle mid-run, so a deal moving between pages may be seen twice, which is dropped, or missed.
  • It is not an official Mercado Libre tool. Dami's Studio is independent and is not affiliated with or endorsed by Mercado Libre, or by any other company named on this page.

🧭 Which marketplace scraper do you need?

If you wantUse
The deals board and best-seller lists on Mercado LibreThis one
Magalu products with card price, Pix price and sellerMagazine Luiza Scraper
Brazilian classified ads from OLXOLX Brazil Scraper
Brazilian car listings with prices against the FIPE tableWebmotors Scraper
The Best Sellers, New Releases or Movers & Shakers ranking for an Amazon categoryAmazon Bestsellers Scraper
AliExpress search results with prices and order countsAliExpress Products Scraper

❓ Questions people ask

Do I need a Mercado Libre account?

No. It reads the two pages the site publishes to everyone.

How do I get only phones on sale in Brazil?

Country BR, category MLB1051.

Why fewer deals than the page claims?

The board stops at about 1,048 for one filter set. Split the run by category or by price band.

Can I get the lightning deals every morning?

Yes. Schedule it with Deal type on lightning deals. Each run returns what is on the board at that moment.

Which countries have best sellers?

All of them except Venezuela, which publishes deals only.

Can I call it from code or connect it to an AI assistant?

Yes. The API tab has ready-made code for Python, JavaScript and the command line. For Claude, ChatGPT or another MCP client, connect https://mcp.apify.com/?tools=fetch-actor-details,dami_studio/mercadolibre-scraper. Either way the run happens on your Apify account at the same price.

These are public pages. Read the site's terms of use against what you plan to do. Apify's write-up on the legality of web scraping is a starting point, and we are not lawyers.

🆘 If something breaks

Open the Issues tab on the actor page. Send the run ID, the country and the filters you used; the status message usually names the problem on its own.