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

9

Total users

4

Monthly active users

2 days ago

Last modified

Share

MercadoLibre Chile Search Evidence

This Apify Actor reads MercadoLibre Chile search-result pages. By default 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.
  • Optional local-only search mode: collect listings from MercadoLibre's Envio local filtered search page instead of the normal result page.
  • Optional local-only seller enrichment: bounded item/seller page fetches for listings already classified as local stock.
{
"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"
}
}

Local-Only Search Mode

To save only listings from MercadoLibre's own Envio local / Productos con envio nacional filtered search page, set either:

{
"searchQueries": ["propane gauge"],
"searchFilterMode": "envio_local"
}

or the shortcut:

{
"searchQueries": ["propane gauge"],
"localOnly": true
}

The Actor first reads the normal search page, extracts the exact MercadoLibre filter URL, then loads that filtered page and saves rows from there. It does not open product pages for this mode. Rows saved from this mode include:

  • search_filter_mode: "envio_local"
  • search_filter_applied: true
  • search_filter_source_url
  • local_stock_reason: "mercadolibre_envio_local_filter" when the card itself did not already say Llega hoy or Llega manana

Interpretation: these rows are local according to MercadoLibre's Envio local filter. If a card visibly says Internacional or Envio desde China/USA, the visible import evidence is preserved instead of being overwritten.

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.

Optional Seller Enrichment

Default runs keep the existing search-only output. To enrich seller identity and visible MercadoLider evidence for local listings only, set:

{
"sellerEnrichmentMode": "local_only",
"maxSellerDetailPages": 6,
"maxSellerProfilePages": 6
}

In enrichment mode:

  • rows classified from the search card as local_stock may open item detail pages,
  • rows classified as not_local or unknown are not detail-fetched,
  • local_stock_status is emitted as backend values: local, import_only, or unknown,
  • the original search-card enum is preserved in search_card_local_stock_status,
  • if a local row's seller medal is not visible, seller_power_seller_status is unknown, not none.

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
  • search_filter_mode
  • search_filter_applied
  • search_filter_source_url
  • item_id
  • title
  • price_clp
  • currency_id
  • review_rating_average
  • review_total
  • sold_quantity
  • sold_text_visible
  • local_stock_status
  • search_card_local_stock_status
  • local_stock_evidence_text
  • seller_id
  • seller_nickname
  • seller_profile_url
  • seller_power_seller_status
  • seller_power_seller_status_raw
  • seller_reputation_level_id
  • seller_evidence
  • item_detail_fetch_status
  • seller_detail_fetch_status
  • 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 unless sellerEnrichmentMode is explicitly enabled. Detail enrichment is bounded and local-only because item pages are more fragile than search pages.

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.

The paid GitHub canary schedule is currently paused. Start the canary manually when needed; challenge_degraded means MercadoLibre challenged one or more query pages while the returned rows still kept the expected output contract.

Commands

npm test
npm run canary:monitor:dry-run
npm run apify:validate
npm run apify:trial
npx apify-cli actors call mercadolibre-chile-scraper --build seller-enrichment-smoke --input-file examples/seller-enrichment-smoke-input.json --json
npm run apify:push