ActorStack.dev

Mercado Libre publishes ranges, so no exact stock number exists to scrape

The site shows `+25 vendidos` and the official API answers `RANGO_1_50`. Any dataset with an exact sales integer in it invented that integer.

By Oswaldo Carabano4 min read

Short answer

Mercado Libre does not publish exact sales or stock figures anywhere a scraper can reach. The product page shows `+25 vendidos` and the platform's own API answers with a range identifier such as `RANGO_1_50` for the same field, so the exact number is not withheld by the rendering — it is simply not in the data. The Actor returns the text as served, in `sold_quantity_text` and `available_quantity_text`, and any number derived from that text is named with a `_min` suffix, because a minimum is what a `+25` actually is. A competing dataset offering an exact sales integer has produced it by picking a point inside a range.

Key points

  • Mercado Libre's product pages show `+25 vendidos` rather than a count, and the platform's own API answers `RANGO_1_50` for the same field.
  • The exact figure is not hidden by the rendering but absent from the source, so no parsing strategy can recover it.
  • `sold_quantity_text` and `available_quantity_text` are returned as served, which keeps the uncertainty visible in the column name rather than hidden in the value.
  • A number derived from a range is named with a `_min` suffix, because a minimum is the only thing a `+25` reliably states.
  • A dataset that reports an exact sales integer for a Mercado Libre listing produced it by choosing a point inside a range.
On this page4 sections

You cannot scrape a number that was never published. The useful question is what to store instead.

What the site actually publishes

+25 vendidos. Not 25, and not 26 — a lower bound with a plus sign in front of it, rendered as a string because that is what it is.

The official API says the same thing

This is not a rendering decision that a scraper could route around. Mercado Libre's own API answers with a range identifier such as RANGO_1_50 for the same field. The platform does not expose the exact figure to an authenticated caller either, so the API route does not help here.

Keeping the text instead of parsing it away

sold_quantity_text and available_quantity_text hold what was served. The string carries its own uncertainty; an integer does not. +25 vendidos says at least 25, and the moment it becomes 25 that qualifier is gone and nothing downstream can recover it.

Naming a derived number honestly

Where a number is derived anyway, it is named with a _min suffix, because a minimum is the only defensible reading. A column called sold_quantity_min cannot be summed into a “total units sold” without somebody noticing what they are doing; a column called sold_quantity very easily can. The same instinct governs storing the currency the page served rather than the one you assumed.

Frequently asked questions

Can I get exact sales numbers from Mercado Libre?
No, because they are not published. The product page shows `+25 vendidos` and the official API returns a range identifier such as `RANGO_1_50` for the same field, so the exact figure is absent from the source rather than hidden by the presentation.
Why keep the text instead of parsing a number?
Because the text carries the uncertainty and a number does not. `+25 vendidos` says at least 25; the integer 25 says exactly 25. Storing the string keeps the difference visible to whoever uses the column later.
What does the _min suffix mean?
It marks a number derived from a range, where the only defensible reading is a lower bound. A field named `sold_quantity_min` cannot be mistaken for a count in a later aggregation, which a field named `sold_quantity` very easily can.

Sources

Every URL below was requested and returned a page on the date shown.

  1. Operator claimchecked 18 Sept 2026
    Items y búsquedas — Mercado Libre DevelopersMercado Libre
  2. Operator claimchecked 18 Sept 2026
    Mercado Libre Scraper & API — Actor README and input schemaActorStack / Apify Store
A laptop screen showing a plain text-mode terminal with a command prompt.
Mercado LibreExplainer

item_id and link shapes

Mercado Libre results mix `articulo.…/MLA-…`, `/p/MLA…` and `/up/MLAU…` links. Deriving the item id from the URL looks fine until the third shape appears, which can be nearly half a page.

5 min
Aerial view of a Latin American city centre at night, streets picked out in light.
Mercado LibreGuide

How to scrape Mercado Libre

A working method for extracting listings and product pages from any of the 17 Mercado Libre marketplaces, including the two decisions — pagination and detail pages — that decide what a run costs.

9 min
A laptop screen showing a plain text-mode terminal with a command prompt.
Mercado LibreComparison

API alternative

The official Mercado Libre API requires OAuth and returns 403 to an anonymous request. A comparison of what the API gives an authorised caller, what scraping gives anyone, and which fields exist in only one of the two.

7 min