Mercado Libre (Mercado Livre) Scraper - Prices & Sold Counts avatar

Mercado Libre (Mercado Livre) Scraper - Prices & Sold Counts

Pricing

from $1.60 / 1,000 products

Go to Apify Store
Mercado Libre (Mercado Livre) Scraper - Prices & Sold Counts

Mercado Libre (Mercado Livre) Scraper - Prices & Sold Counts

Search Mercado Libre / Mercado Livre by keyword in Argentina, Brazil, Mexico, Colombia or Chile, or paste product URLs. Get item ID, title, price, original price, sold count, rating, official store, shipping and link, with optional product-page details. No login, no cookies.

Pricing

from $1.60 / 1,000 products

Rating

0.0

(0)

Developer

Lantern Lab

Lantern Lab

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Search Mercado Libre by keyword in Argentina, Brazil (Mercado Livre), Mexico, Colombia or Chile, or paste product URLs, and get the public listings back: item ID, title, price and currency, original price and discount, sold quantity, rating, official store, shipping and link. Turn on product-page details to add the condition, the number of ratings, the seller ID and stock status for every product. No login, no cookies, no account of your own.

Price: USD 1.60 per 1,000 products (product event), plus USD 0.04 per run start at the default 2,048 MB memory (apify-actor-start, USD 0.02 per GB of run memory). Product-page details are optional and cost USD 10 per 1,000 detail pages read (product-details event); a row from a product URL always includes its product page, so it costs both (USD 11.60 per 1,000). A product whose page could not be read is not charged for details. Empty searches, status rows, unreadable URLs and the run summary are free.

Input example

{
"searchQueries": ["zapatillas running", "silla gamer"],
"country": "AR",
"maxProducts": 100,
"includeDetails": false,
"productUrls": ["https://www.mercadolivre.com.br/tenis-casual-masculino-break-start-adidas-liso/p/MLB38653421"]
}

Output example

One row per product, recordType: "product":

{
"recordType": "product",
"itemId": "MLA1886777584",
"productId": "MLA39398460",
"title": "Silla Gamer Ergonómica The Game House D395 con Respaldo Reclinable y Altura Ajustable, Gris",
"price": 167490,
"currency": "ARS",
"originalPrice": 322097.88,
"discountPercent": 48,
"condition": null,
"soldQuantity": 1000,
"rating": 4.7,
"reviewCount": 2666,
"sellerName": "The Game House",
"officialStore": true,
"shipping": "Llega gratis el lunes",
"freeShipping": true,
"isAd": true,
"url": "https://www.mercadolibre.com.ar/silla-gamer-ergonomica-the-game-house-d395-con-respaldo-reclinable-y-altura-ajustable-gris/p/MLA39398460",
"country": "AR",
"siteId": "MLA",
"source": "search",
"query": "silla gamer",
"rank": 1,
"page": 1,
"detailsStatus": "not_requested",
"partial": false,
"collectedAt": "2026-10-23T16:15:02.114Z"
}

Limits

  • Five country sites: AR, BR, MX, CO, CL. Each search term is searched on one site per run; product URLs are read on the site their address belongs to.
  • Mercado Libre serves at most 2,000 results for one search. It also matches loosely, so even an odd search term usually returns related products rather than nothing.
  • soldQuantity is the rounded figure the page shows (for example +1000 vendidos is 1000), not an exact count.
  • Without product-page details, condition is filled only for listings the site labels as used or refurbished, and reviewCount only for catalogue products; both are filled for every product with details on.
  • A seller is named only when it is an official store. Other sellers' names are not collected.
  • Short links without a product name in them (…/MLA-123-_JM) are often answered with Mercado Libre's sign-in page, and so is a listing that no longer exists; such a URL is reported partial with partialReason: "login_wall" rather than as missing. Use the product's full address.
  • No reviews text, questions, seller reputation or price history. No scheduling built in; use Apify schedules.

What it does

  • Searches each term separately on the chosen site, follows the result pages until maxProducts products are collected or the results end, and labels every row with the term, its rank and its results page.
  • Deduplicates across the whole run: sponsored slots repeat products already on the page, and terms overlap. Each product is written once and charged once.
  • With includeDetails, opens each product's own page and fills the condition, number of ratings, seller ID and stock status. A product whose page could not be read is still returned with its search fields and a detailsStatus saying why.
  • Never follows an advertising click link: sponsored products link to the product's own page, so reading them does not register a paid ad click for the seller.
  • Says what happened per input. A search that returned nothing is an empty result; a search cut short by a limit or by Mercado Libre refusing the page is marked partial: true with the reason. A product URL that no longer exists is recorded as not_found. These are different records and are never confused.
  • Caps itself: maxUpstreamRequests is a hard ceiling on pages opened for the whole run, derived from your input when you leave it empty, so a run is never unbounded.

Input

FieldDefaultMeaning
searchQueries—One search term per line, in the site's language: zapatillas running, fone bluetooth, pão de queijo.
countryARThe site searched: AR, BR, MX, CO or CL.
maxProducts50Upper bound on products per search term, in Mercado Libre's ranking order. At most 2,000.
includeDetailsfalseAlso open every product's own page. Slower, and charged as a separate product-details event.
productUrls—Product pages to read directly: articulo.…/MLA-…, …/p/MLA… or …/up/MLAU…. Always read with details.
maxUpstreamRequestsderivedHard ceiling on pages opened for the whole run, retries included.
proxyConfigurationApify residentialMercado Libre sends datacenter IPs and visitors from other countries to its sign-in page. The exit country is set to each site's own country automatically.

Give at least one search term or one product URL.

Output

Product rows (recordType: "product", charged)

FieldMeaning
itemIdThe listing's ID (MLA…, MLB…, …). The dedupe key.
productIdThe catalogue product ID when the listing belongs to one, else null.
titleThe listing title as shown.
price, currencyThe price shown, in the site's currency (ARS, BRL, MXN, COP, CLP).
originalPrice, discountPercentThe struck-through price and the discount, when the page shows one.
conditionnew, used or refurbished; see Limits.
soldQuantityThe rounded sold figure the page shows.
rating, reviewCountAverage stars and number of ratings, when shown.
sellerName, officialStoreThe official store's name, and whether the seller is one.
sellerIdThe seller's numeric ID (with details).
shipping, freeShippingThe shipping line as shown, and true when it says free.
inStockStock status (with details).
categoryIdMercado Libre's category ID.
isAdtrue for a sponsored result.
url, imageUrlThe product's own page and its main picture.
country, siteIdThe site the row comes from.
source, query, inputUrl, rank, pageWhich input produced the row and where it ranked.
detailsStatuscollected, not_requested, or why the product page was not read: login_wall, blocked, not_found, no_product_page, upstream_request_cap.
partial, partialReasonAlways false / null on a product row: the row exists because the product was collected.
collectedAtWhen this run read the product. Mercado Libre shows no publish date for a listing.

Status rows (free)

  • recordType: "query_status", one per search term: productsReturned, duplicatesSkipped, pagesRead, resultsAvailable (the total the site reported), resultsLimitReached, detailsCollected, partial, partialReason, statusText.
  • recordType: "url_status", one per product URL: outcome (collected, duplicate, not_found, invalid_url, partial), itemId, partial, partialReason, statusText.
  • partialReason is one of upstream_request_cap, charge_limit_reached, login_wall, blocked (the bot check, a CAPTCHA wall or the network kept failing), not_collected.

Run summary

The last row of the dataset, also stored as RUN_SUMMARY in the run's key-value store: products collected and charged, details charged, duplicates skipped, empty searches, URL outcomes, partial inputs by reason, pages opened by purpose against the ceiling, and why the run stopped, if it stopped early.

A run that collected nothing because Mercado Libre refused every page fails; a run that legitimately found nothing succeeds with zero product rows.

How it reads the site

Mercado Libre's public API is closed to anonymous callers, and its pages check visitors with a script that a plain HTTP client cannot run. This Actor opens the pages in a real headless browser from a residential IP in the site's own country, lets the site's own check run once per session, and then reads each page's fully rendered HTML with images, styles and scripts blocked. It reads only what any visitor sees without signing in.