MercadoLibre Chile Scraper | Prices, Listings & Historical Data avatar

MercadoLibre Chile Scraper | Prices, Listings & Historical Data

Pricing

$1.50 / 1,000 mlc listings

Go to Apify Store
MercadoLibre Chile Scraper | Prices, Listings & Historical Data

MercadoLibre Chile Scraper | Prices, Listings & Historical Data

Scrape MercadoLibre Chile (mercadolibre.cl / MLC) listings. Extract CLP prices, discounts, search rank, sponsored ads, item IDs, URLs, thumbnails, shipping/Full signals, and AI-ready JSON/CSV for price monitoring, historical datasets, and ecommerce research.

Pricing

$1.50 / 1,000 mlc listings

Rating

5.0

(1)

Developer

Javier Chame

Javier Chame

Maintained by Community

Actor stats

1

Bookmarked

8

Total users

4

Monthly active users

9 days ago

Last modified

Share

MercadoLibre Chile Search Evidence

This Apify Actor reads MercadoLibre Chile search-result pages. It does not open product pages.

It returns:

  • Search-card listing data: title, CLP price, rating, rough sold text when visible, sponsored status, original URL, and clean canonical item URL.
  • Visible card evidence: Llega hoy, Llega gratis manana, Internacional, Envio desde USA, Envio desde China, Envio desde Estados Unidos, Envio desde el extranjero, and similar phrases.
  • Query-level marketplace locality: total search results compared with MercadoLibre's Envio local / Productos con envio nacional filter results.
{
"searchQueries": ["cama perro"],
"maxItems": 60,
"maxItemsPerQuery": 60,
"maxPagesPerQuery": 1,
"includeRaw": false,
"browserFallback": true,
"browserWaitMs": 2500,
"browserRetryCount": 3,
"requestDelayMs": 700,
"requestJitterMs": 1200,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "CL"
}
}

How The Locality Estimate Works

MercadoLibre shows a total result count for the search. For example, +9.999 resultados means at least 9,999 matching listings.

MercadoLibre also exposes an Envio local filter. The Actor loads that filtered search page and reads its result total. For example, if:

  • total search results: +9.999
  • Envio local filter results: 3.713

Then:

  • local_results_share_at_most = 3713 / 9999 = 0.3713
  • non_local_results_at_least = 9999 - 3713 = 6286
  • interpretation: at most about 37.1% of matching results are in MercadoLibre's local-shipping filter, and at least 6,286 are outside that filter.

Because +9.999 is a lower bound, the local percentage is an upper bound. The real local share may be lower if there are more than 9,999 matching listings.

Card Classification

Each returned listing also has a card-level classification from visible search-card text:

  • local_stock: the card says Llega hoy, Llega gratis hoy, Llega manana, or Llega gratis manana
  • not_local: the card says Internacional, international, Compra internacional, Envio desde USA, Envio desde China, Envio desde Estados Unidos, Envio desde el extranjero, or similar import-origin text
  • unknown: the card does not expose either signal

This card classification is useful for auditing examples on the visible page. It should not be used as the market-wide local/import count; use the Envio local filter estimate for that.

Output Fields

High-signal fields:

  • input_query
  • position
  • search_total_results
  • search_total_results_text
  • search_total_results_is_lower_bound
  • local_filter_results
  • local_filter_results_text
  • local_results_share_at_most
  • non_local_results_at_least
  • non_local_results_share_at_least
  • marketplace_locality_interpretation
  • item_id
  • title
  • price_clp
  • currency_id
  • review_rating_average
  • sold_quantity
  • sold_text_visible
  • local_stock_status
  • local_stock_evidence_text
  • delivery_text_visible
  • international_text_visible
  • shipping_origin_text_visible
  • permalink_original
  • permalink_canonical
  • is_sponsored

Reliability Notes

The Actor only reads search pages and filter search pages. It does not click/open product detail pages, which were the most fragile part of the old approach.

MercadoLibre can still block search-page requests. Use Apify residential proxy with country CL, keep browser fallback enabled, and treat a failed/blocked run as missing evidence, not as proof of no competition.

Commands

npm test
npm run apify:validate
npm run apify:trial
npm run apify:push