Mercado Livre Mais Vendidos & Ofertas Scraper | $1.5/1K
Pricing
from $1.50 / 1,000 listing scrapeds
Mercado Livre Mais Vendidos & Ofertas Scraper | $1.5/1K
Scrape the Mercado Livre Mais Vendidos ranking (top 20 per category) and Ofertas do Dia deals: rank, price, crossed-out price, discount, installments, seller, official store, rating, units sold. $1.50 per 1,000 listings, Brazilian proxies included, blocked pages never charged. JSON, CSV, Excel, API.
Pricing
from $1.50 / 1,000 listing scrapeds
Rating
0.0
(0)
Developer
Gangary
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
1
Monthly active users
16 hours ago
Last modified
Categories
Features
Share

Mercado Livre Mais Vendidos & Ofertas Scraper | $1.5/1K
US$1.50 per 1,000 listings + US$0.02 per run. Brazilian residential proxies and retries are included; blocked pages are never charged.
Scrape Mercado Livre's "Mais Vendidos" best-seller rankings per category and the "Ofertas do dia" daily deals pages, and get every product back as structured data: rank, price, crossed-out price, discount %, installments, seller, official-store flag, rating, units sold, shipping flags and more.
- Up to 50 categories in one run, one best-seller ranking each (top 20 per category, which is everything the ranking page shows).
- Up to 15 pages of daily deals (~48 items per page), deduplicated by item ID.
- Up to 500 products per run, each with its
positionin the ranking or deals page.
Em português: raspe o ranking de Mais Vendidos do Mercado Livre por categoria e as Ofertas do dia, e receba posição, preço, preço riscado, desconto, parcelamento, vendedor, loja oficial, nota e vendidos em tabela pronta pra planilha. Até 50 categorias por execução (top 20 de cada, que é tudo o que a página do ranking mostra) e até 500 produtos por execução, com proxy residencial brasileiro incluído. Feito pra achar produto pra revender, pesquisar mercado e acompanhar tendência. Custa US$1,50 por 1.000 produtos mais US$0,02 por execução; página bloqueada não é cobrada.
What you get
One row per product, real output from a daily-deals run:
{"position": 1,"itemId": "MLB6167651244","productId": "MLB47535705","title": "Câmera Inteligente Im7 + 3mp De Resolução Branca Intelbras","url": "https://www.mercadolivre.com.br/camera-inteligente-im7-3mp-de-resolucao-branca-intelbras/p/MLB47535705","price": 263.41,"originalPrice": 419.9,"discountPct": 37,"currency": "BRL","installments": "ou R$ 309,90 em 6x R$ 51,65 sem juros","freeShipping": true,"isFull": true,"sellerName": "INTELBRAS","isOfficialStore": true,"rating": 4.9,"soldText": "+50mil vendidos","soldQuantity": null,"isAd": false,"categoryId": null,"domainId": null,"thumbnail": "https://http2.mlstatic.com/D_NQ_NP_892568-MLA99939109103_112025-O.webp","mode": "deals","scrapedAt": "2026-09-27T18:35:29.404Z"}
| Field | Meaning |
|---|---|
mode | best-sellers (Mais Vendidos ranking) or deals (Ofertas do dia) |
categoryId / position | Category scraped (null = general ranking) and where the product ranked |
price / originalPrice / discountPct | Current price, crossed-out price and discount % |
installments | Installment plan as shown on the card (e.g. 6x interest-free) |
sellerName / isOfficialStore | Seller and whether it's an official store |
rating / soldText | Star rating and units sold, when the card displays them |
freeShipping / isFull | Free shipping and Fulfillment (FULL) flags |
url / itemId | Canonical product link and item ID — join with the search and reviews actors |
error | Set only on failed pages — those rows are not charged |
Use cases
- Find products to resell: see what sells most in each category right now, with price, seller and units sold.
- Arbitrage: compare the daily deals (
originalPricevsprice,discountPct) against your own cost or other channels. - Weekly trend radar: schedule the same categories every week and track who enters, climbs or drops in the top 20.
- Category and brand research: count official stores, FULL listings and price ranges among the best sellers of a category.
How to use it
- Pick a Mode: Best sellers scrapes the "Mais Vendidos" ranking (one page per category, ~20 items each); Daily deals scrapes the "Ofertas do dia" pages with pagination (~48 items per page).
- In best-sellers mode, list Category IDs (format
MLB123— the code at the end of any Mercado Livre category page URL), up to 50 per run. Leave empty for the general ranking. In deals mode this input is ignored (deals always uses the general page). - Set Max items (default 100, up to 500 per run) — the total delivered across all categories/pages.
- Run and export — the Deals dataset view gives you a slim rank / item / price / discount table.
| Input | Type | Default | Notes |
|---|---|---|---|
mode | best-sellers or deals | best-sellers | deals always uses the general "Ofertas do dia" page |
categoryIds | array of strings | — (empty = general ranking) | Format MLB123, up to 50 per run; invalid codes and duplicates are dropped. Ignored in deals mode |
maxItems | integer | 100 | 1 to 500, total across all categories/pages |
Pricing
Pay per event: a small start fee opens the Brazilian residential session, then a flat fee per listing delivered. Blocked pages, failures and invalid categories are never charged — and every run respects the maxTotalChargeUsd budget you set on Apify.
| Scenario | Approximate cost |
|---|---|
| 100 listings (1 run) | ~US$ 0.17 |
| 1,000 listings (2 runs, max 500 per run) | ~US$ 1.54 |
| 10,000 listings (20 runs) | ~US$ 15.40 |
Run cost limit. Every category costs at least one page load on a residential proxy. If a run keeps costing more than the results it delivers (for example dozens of categories that return almost nothing, or a long streak of blocked or missing pages), it stops opening new categories: the ones not opened come back as rows with error: "run-cost-limit" and are not charged. The first category always runs and normal runs are not affected.
Run it from code
Replace <YOUR_APIFY_TOKEN> with your token from Apify Console → Settings → API & Integrations.
cURL (waits for the run and returns the items):
curl -X POST "https://api.apify.com/v2/acts/gangary~mercado-livre-best-sellers-scraper/run-sync-get-dataset-items" \-H "Authorization: Bearer <YOUR_APIFY_TOKEN>" \-H "Content-Type: application/json" \-d '{"mode": "best-sellers", "categoryIds": ["MLB1055"], "maxItems": 100}'
Python (pip install apify-client):
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("gangary~mercado-livre-best-sellers-scraper").call(run_input={"mode": "best-sellers", "categoryIds": ["MLB1055"], "maxItems": 100})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item.get("position"), item.get("price"), item.get("title"))
Node.js (npm install apify-client):
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('gangary~mercado-livre-best-sellers-scraper').call({mode: 'deals',maxItems: 200,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.length, items[0]);
A run is capped at 500 products, so the synchronous endpoint (which waits up to 300 seconds) is usually enough; for very slow runs start it asynchronously and read the dataset when it finishes.
Integrations
Everything below is built into Apify, no extra setup on our side:
- Schedules: run the same categories every day or week to follow the ranking over time.
- Webhooks: get a call to your own endpoint when a run finishes.
- Make, n8n and Zapier: send each run's rows to Google Sheets, a database, Slack or your product-research board.
- Google Drive: drop each run's export into a shared folder.
- Exports: JSON, CSV, Excel, XML or HTML from the dataset, or straight from the API.
Use with AI agents (MCP)
Apify runs a hosted MCP server, so Claude, Cursor, VS Code and other MCP clients can call this actor as a tool. Add this server URL to your client (it signs in with OAuth on first use, or send Authorization: Bearer <YOUR_APIFY_TOKEN>):
https://mcp.apify.com?tools=gangary/mercado-livre-best-sellers-scraper
Then ask in plain words, e.g. "Get today's Mercado Livre daily deals and list the 20 with the biggest discount." Setup details for each client: Apify MCP server docs.
FAQ
Is scraping Mercado Livre legal? The actor reads publicly listed rankings and deal pages — no login, no paywall bypass, and no personal data beyond the public store/seller name already shown on every product card.
Why do some pages come back blocked?
Mercado Livre runs aggressive anti-bot protection. When a session gets blocked, the actor drops it, opens a fresh Brazilian residential IP and retries the same page — up to 3 times. If it still fails, the page is abandoned with an error row and you are not charged for it.
Is proxy included? Yes — Brazilian residential proxies are included in the per-listing price. Nothing to configure.
Where do I find a category ID?
It is the code that starts with MLB in a Mercado Livre category or ranking page link (for example MLB1055). Paste one per line; anything that does not match the MLB123 format is skipped and not charged.
Why only 20 products per category? The "Mais Vendidos" page itself shows the top 20 per category, and that is everything the actor can read. For more products, add more categories (up to 50 per run).
I listed 50 categories but got fewer rows. Why? Max items caps the whole run at 500 products. Fifty categories × 20 products = 1,000, so split them into two runs (25 categories each).
Is position the rank on the site?
Yes. In best-sellers mode it is the rank inside that category's ranking; in deals mode it is the order on the deals pages.
Can I get the deals of one category only? Not in this version: deals mode always reads the general "Ofertas do dia" page and ignores category IDs.
What does a run with no results cost? Only the US$0.02 start fee. Listings are charged one by one as they are delivered, and error rows are free. You can also cap any run with Max total charge on Apify.
How do I get reviews and the full product page?
Take the url values from this actor and paste them into the Mercado Livre Product & Reviews Scraper: specs, description, stock and customer reviews.
Honest limitations
- Best sellers = the top 20 per category — that's everything Mercado Livre's own ranking page shows.
- Deals mode follows up to 15 pages per run (~48 items each); the site's deal numbering is ambiguous, so items are deduplicated by item ID across pages.
- Max items is capped at 500 per run; for more volume, schedule multiple runs.
- Ratings, sold counts and installments appear only when the product card displays them.
Changelog
- 2026-11-11: run cost limit: a run stops opening new categories when it keeps costing more than it delivers; those come back as
run-cost-limitrows, not charged. A browser session that fails to connect now retries on a new IP instead of returningtimeout. - 0.1.9 (2026-10-30): fixed runs that could end with a
no-datarow when the page took longer to load. The actor now waits longer for the page and switches to a new session when it gets a captcha. - 2026-10-18: first public release.
From the same maker
- Mercado Livre Search Scraper — search by keyword and get every listing with prices and sales data.
- Mercado Livre Product & Reviews Scraper — full product page data plus customer reviews.
- Mercado Libre Scraper — Mexico, Argentina, Colombia, Chile — the same search data for the Spanish-speaking Mercado Libre sites.
- Mercado Libre Seller Scraper — every listing of one seller or official store, past the 2,000-result limit.
If this actor helped you, a rating on its Store page helps others find it. Something broke or a field is missing? Open an issue on the actor's Issues tab.
Keywords: mercado livre scraper, mais vendidos mercado livre, ofertas do dia mercado livre, raspar mercado livre, best sellers brazil, preços mercado livre, e-commerce scraper brazil, market research brazil, price monitoring brazil, arbitragem mercado livre.