Mercado Libre Seller Scraper — Every Listing of a Store
Pricing
from $1.50 / 1,000 listing scrapeds
Mercado Libre Seller Scraper — Every Listing of a Store
Scrape every listing of any Mercado Livre / Mercado Libre seller or official store, past the 2,000-result limit: reputation, MercadoLider level, price, discount, shipping, Full, units sold, rating. BR, MX, AR, CO, CL. $1.50 per 1,000 listings plus $0.01 per seller profile. Blocked pages free.
Pricing
from $1.50 / 1,000 listing scrapeds
Rating
0.0
(0)
Developer
Gangary
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
a day ago
Last modified
Categories
Share

Mercado Libre Seller Scraper — Every Listing of a Store
US$1.50 per 1,000 listings + US$0.01 per seller profile + US$0.02 per run. Residential proxies included; blocked pages and sellers that cannot be found are never charged.
- Past the 2,016-result cap: in a cloud run, Nike's official store in Brazil (2,068 listings) came back with 2,058 listings; the site's own search stops at 2,016.
- Up to 50 sellers and up to 20,000 listings per seller in one run, in Brazil, Mexico, Argentina, Colombia and Chile.
- Seller profile on top: reputation, MercadoLíder tier, sales tier, followers and official-store data in one
sellerrow.
Spy on any Mercado Livre / Mercado Libre seller or official store. Give it a seller ID, a nickname, a store link or just one of their listings, and get back the seller profile (reputation, MercadoLider level, sales tier, official-store data) plus every listing with price, crossed-out price, discount, installments, shipping and Full flags, sold counts and ratings.
It works in Brazil, Mexico, Argentina, Colombia and Chile and goes past the ~2,000-result cap of the site's search: big catalogs are split by category and price range, then merged and de-duplicated, so a 40,000-listing store does not stop at page 42.
Built for competitor research, price positioning, assortment gap analysis, brand/MAP monitoring and lead lists of sellers.
Em português: extraia o perfil e todos os anúncios de qualquer vendedor ou loja oficial do Mercado Livre (Brasil) e do Mercado Libre (México, Argentina, Colômbia, Chile): reputação, nível MercadoLíder, preço, desconto, frete grátis, Full e vendidos. Passa do limite de ~2.000 resultados da busca do site. US$1,50 por 1.000 anúncios mais US$0,01 por perfil de vendedor.
En español: extrae el perfil y todas las publicaciones de cualquier vendedor o tienda oficial de Mercado Libre (México, Argentina, Colombia, Chile) y Mercado Livre (Brasil): reputación, nivel MercadoLíder, precios, descuentos, envío gratis y Full. Supera el tope de ~2.000 resultados de la búsqueda. Ideal para espiar a la competencia.
Use cases
- Competitor research: the full assortment of a rival store with price, discount, Full and units sold per listing.
- Assortment gaps: compare
categoryIdanddomainIdacross your store and a competitor's to see what they sell and you do not. - Brand and MAP audits: list every listing of a reseller or official store and check prices against your policy.
- Seller lead lists: reputation, MercadoLíder tier and sales tier per seller, to qualify sellers you want to sell services to.
- Weekly watch: schedule the same sellers and compare prices and new listings between runs.
What you get
Two kinds of rows share one dataset: one seller row per seller and one listing row per listing (filter on type). Real output from a cloud run for seller 3413781093 (Brazil, maxItemsPerSeller 150 of 388 listings):
{"type": "seller","sellerId": "3413781093","nickname": "ningboxiangcaistore","name": "Ning Boxiangcai Store","country": "BR","url": "https://www.mercadolivre.com.br/pagina/ningboxiangcaistore","totalListings": 388,"listingsDelivered": 150,"listingsComplete": true,"reputation": "5_green","reputationLevel": 5,"powerSellerStatus": "silver","isOfficialStore": false,"officialStoreId": null,"storeSlug": null,"salesText": "+1000 vendas","followersText": "+500","inputValue": "3413781093","scrapedAt": "2026-10-28T04:30:00.000Z"}
{"type": "listing","position": 1,"itemId": "MLB5103948957","productId": "MLB2043925233","title": "Enfeite Natalino Pendente Papai Noel Balão","url": "https://www.mercadolivre.com.br/kit-10-enfeites-de-madeira-penduraveis-de-natal-8-cm/p/MLB2043925233","price": 20.28,"originalPrice": null,"discountPct": null,"currency": "BRL","installments": null,"freeShipping": false,"isFull": false,"sellerName": "Ning Boxiangcai Store","cardSellerLabel": "AIRAY","isOfficialStore": false,"rating": 3.7,"soldText": null,"soldQuantity": 500,"isAd": false,"categoryId": "MLB117799","domainId": "MLB-CHRISTMAS_DOLLS","thumbnail": "https://http2.mlstatic.com/D_NQ_NP_886641-CBT115126914884_082026-O.webp","country": "BR","sellerId": "3413781093","sellerNickname": "ningboxiangcaistore","officialStoreId": null,"inputValue": "3413781093","scrapedAt": "2026-10-28T04:29:41.000Z"}
| Field | Meaning |
|---|---|
type | seller, listing or (failed input) error |
sellerId / nickname / name | Seller identity. nickname is the slug of the seller page (/pagina/{nickname}) |
totalListings / listingsDelivered | Active listings the site reports for the seller vs rows delivered in this run |
listingsComplete | false when the run stopped early: spending limit, a page kept failing, the site stopped serving pages, or a catalog the site would not let us split. The site's own counts are not exact, so a shortfall of up to 10 listings (or 1%) still counts as complete |
reputation / reputationLevel | Reputation thermometer as the site names it (5_green ... 1_red) and its 1-5 level |
powerSellerStatus | MercadoLider tier: silver, gold, platinum or empty |
isOfficialStore / officialStoreId / storeSlug | Official store flag, ID and store address slug (/loja/... or /tienda/...) |
salesText / followersText | Sales tier and followers as shown on the product page (+1000 vendas, +100 mil ventas) |
price / originalPrice / discountPct / currency | Current price, crossed-out price, discount %, currency (BRL, MXN, ARS, COP, CLP) |
installments / freeShipping / isFull | Installment plan, free shipping and Fulfillment (Full) flags |
soldQuantity / soldText / rating | Units sold and rating, when the listing card shows them |
itemId / productId / url / categoryId | IDs and canonical link |
sellerId / sellerNickname / officialStoreId (listing rows) | The seller of the listing. In an official store, listing rows carry sellerId: null plus officialStoreId and sellerNickname (the store slug); the sellerId is on the seller row |
sellerName / cardSellerLabel | Name of the seller page, and the label printed on the card (a brand or "official store" tag, which can differ) |
inputValue | The line you entered, so rows can be joined back to your list |
error | Only on failed inputs. Not charged |
How to use it
- Put one seller per line in Sellers or official stores (up to 50). Any of these forms works, and countries can be mixed:
- a numeric seller ID (
3413781093), - a nickname (
ningboxiangcaistore; if there is no seller page with that name the actor also tries an official store of that name), - a seller page link (
.../pagina/ningboxiangcaistore), - an official store link (
.../loja/electroluxin Brazil,.../tienda/oster-mexicoin the Spanish-language sites), - a listing page link that contains
_CustId_, - the link or ID of any listing or product of the seller (
MLB5258671363). Product (/p/...) links point to the catalog winner unless they carry the listing (item_id,wid) or the seller (seller_id) in the link, so they may resolve to a different seller than the one you meant. The same seller entered twice (for example an ID and its nickname, or two of its listings) is read and billed once; the repeat is skipped.
- a numeric seller ID (
- Pick the Country for plain IDs and nicknames. Links use the country of their domain.
- Set Max listings per seller (default 500, up to 20,000).
- Keep Include seller profile on to get reputation and tier. Turn it off for a listings-only run.
- Run and export to CSV, Excel or JSON, or schedule it weekly to watch a competitor's assortment and prices.
| Input | Type | Default | Notes |
|---|---|---|---|
sellers | array of strings | — (required) | Up to 50; IDs, nicknames, seller/store links or any listing of the seller |
country | BR, MX, AR, CO, CL | BR | Used only for plain IDs and nicknames |
maxItemsPerSeller | integer | 500 | 1 to 20,000; above ~2,000 the catalog is split |
includeProfile | boolean | true | Off = listings plus basic seller fields, no seller-profile charge |
Pricing
Pay per event: a small start fee, one seller-profile event per seller whose profile was read, and one listing event per listing delivered. Rows with an error, invalid input, blocked pages and sellers that could not be found are never charged, and the run stops at the maxTotalChargeUsd budget you set on Apify. When the budget runs out the actor still writes the seller row of every seller it already read (listingsComplete: false for the one that was cut) and skips the profile reads. If Apify migrates the run to another server, sellers already finished are not read or billed again. Residential proxies in the chosen country are included.
| Event | Price |
|---|---|
| Actor start | $0.02 per run |
| Listing delivered | $0.0015 each ($1.50 per 1,000) |
| Seller profile read | $0.01 per profile |
| Scenario | Approximate cost |
|---|---|
| 1 seller, 500 listings + profile | $0.78 |
| 10 sellers, 500 listings each + profiles | $7.62 |
| 1 official store with 20,000 listings + profile | $30.03 |
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-libre-seller-scraper/run-sync-get-dataset-items" \-H "Authorization: Bearer <YOUR_APIFY_TOKEN>" \-H "Content-Type: application/json" \-d '{"sellers": ["3413781093"], "country": "BR", "maxItemsPerSeller": 500, "includeProfile": true}'
Python (pip install apify-client):
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("gangary~mercado-libre-seller-scraper").call(run_input={"sellers": ["https://www.mercadolibre.com.mx/tienda/oster-mexico"], "maxItemsPerSeller": 500})for item in client.dataset(run["defaultDatasetId"]).iterate_items():if item.get("type") == "listing":print(item["itemId"], 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-libre-seller-scraper').call({sellers: ['3413781093'],country: 'BR',maxItemsPerSeller: 500,});const { items } = await client.dataset(run.defaultDatasetId).listItems();const seller = items.find((row) => row.type === 'seller');console.log(seller, items.filter((row) => row.type === 'listing').length);
The synchronous endpoint waits up to 300 seconds; for big stores (thousands of listings) start the run 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 sellers weekly or daily to follow their prices and new listings.
- Webhooks: get a call to your own endpoint when a run finishes.
- Make, n8n and Zapier: send the listings to Google Sheets, a database or your CRM.
- 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-libre-seller-scraper
Then ask in plain words, e.g. "Get every listing of the Oster official store on Mercado Libre Mexico and tell me which categories they sell most." Setup details for each client: Apify MCP server docs.
FAQ
How does it get past the 2,000-result limit? Mercado Livre never shows more than 2,016 results (42 pages of 48) for any listing. When a seller has more, the actor reads the category and price filters of the seller's own page, splits the catalog into parts that fit under the limit, reads each part page by page and removes duplicates by listing ID. It only splits when you ask for more than the limit, so small runs stay cheap.
Why does a seller row have fewer listings than totalListings?
Either you set a lower Max listings per seller, or the seller changes stock while the run is going (the count is read once at the start). listingsComplete tells you whether the run stopped for another reason.
Is the seller phone, e-mail or address included? No. The actor only collects data the site shows publicly on seller pages and listings. Seller location is not part of the public profile any more.
Why do some inputs come back as seller-not-found?
The nickname, ID or store does not exist in that country (the site silently turns a wrong nickname into a text search, which the actor detects and rejects). Check the country, or paste the seller page link.
Is proxy included? Yes. A residential IP of the seller's country is used automatically. Nothing to configure.
Does it use any login or API? No. It reads the same public pages a shopper sees, with a real browser.
What if I enter the same seller twice? It is read and billed once. An ID and its nickname, or two listings of the same seller, are recognized as the same seller and the repeat is skipped.
Can I cap what a run costs?
Yes. The run stops at the Max total charge you set on Apify. The seller rows of sellers already read are still written, and the seller that was cut comes back with listingsComplete: false.
Can I get only the listings, without the profile?
Yes. Turn off Include seller profile: you get the listings plus basic seller fields and no seller-profile charge.
Honest limitations
- Only listings that are active and visible in the seller's public listing page are returned. Paused listings and private data are not reachable.
- The profile (reputation, tier, followers) comes from one product page of the seller, so it is a snapshot of that moment. Sellers with no active listing come back without a profile.
- Counts and amounts such as
+1000 vendasare the rounded tiers the site publishes, not exact figures. - The full list of offers of a catalog product, and anything behind a login, is not delivered.
- Official stores that group several seller accounts are returned as a store (
isOfficialStore: true). Theirlistingrows havesellerId: nulland carryofficialStoreIdplussellerNickname(the store slug); thesellerIdis only on thesellerrow, read from one of the store's listings. - Only Brazil, Mexico, Argentina, Colombia and Chile are supported. Peru, Uruguay and other Mercado Libre sites are not.
- Sellers with a catalog that cannot be split by the site's filters stop at 2,016 listings and are flagged with
listingsComplete: false. - Huge catalogs can come back a few listings short of the count the site shows (the site's count moves while the run is going): in a cloud run, Nike's official store (2,068 listings, above the 2,016 cap) returned 2,058 after being split by category.
Changelog
- 0.1.4 (2026-10-28): first public release. A seller entered twice is read once,
/p/links from Argentina, Colombia and Chile find the seller, and a seller that does not exist is an error row with no charge.
From the same maker
-
Mercado Libre Price Tracker — monitor price, stock and Buy Box of the listings you found here, with what changed since the last run.
-
Mercado Libre Buy Box Monitor — who wins the Buy Box on each catalog product.
-
Mercado Livre Scraper (Brazil) — search results by keyword for Mercado Livre Brazil.
-
Mercado Libre Scraper (MX, AR, CO, CL) — search results by keyword for the Spanish-language sites.
-
Mercado Libre Product & Reviews Scraper — full product page data and reviews.
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 seller scraper, mercado libre vendedor scraper, espiar concorrente mercado livre, scraper loja oficial mercado livre, mercado libre tienda oficial scraper, extraer publicaciones de un vendedor, reputación vendedor mercado libre, competitor analysis mercado libre, mercadolider, latam e-commerce scraper.