MercadoLibre Chile Scraper | Prices, Listings & Historical Data
Pricing
$1.50 / 1,000 mlc listings
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
Maintained by CommunityActor stats
1
Bookmarked
9
Total users
4
Monthly active users
2 days ago
Last modified
Categories
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 nacionalfilter results. - Optional local-only search mode: collect listings from MercadoLibre's
Envio localfiltered 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.
Recommended Input
{"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: truesearch_filter_source_urllocal_stock_reason: "mercadolibre_envio_local_filter"when the card itself did not already sayLlega hoyorLlega 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 localfilter results:3.713
Then:
local_results_share_at_most = 3713 / 9999 = 0.3713non_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 saysLlega hoy,Llega gratis hoy,Llega manana, orLlega gratis manananot_local: the card saysInternacional,international,Compra internacional,Envio desde USA,Envio desde China,Envio desde Estados Unidos,Envio desde el extranjero, or similar import-origin textunknown: 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_stockmay open item detail pages, - rows classified as
not_localorunknownare not detail-fetched, local_stock_statusis emitted as backend values:local,import_only, orunknown,- 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_statusisunknown, notnone.
Output Fields
High-signal fields:
input_querypositionsearch_total_resultssearch_total_results_textsearch_total_results_is_lower_boundlocal_filter_resultslocal_filter_results_textlocal_results_share_at_mostnon_local_results_at_leastnon_local_results_share_at_leastmarketplace_locality_interpretationsearch_filter_modesearch_filter_appliedsearch_filter_source_urlitem_idtitleprice_clpcurrency_idreview_rating_averagereview_totalsold_quantitysold_text_visiblelocal_stock_statussearch_card_local_stock_statuslocal_stock_evidence_textseller_idseller_nicknameseller_profile_urlseller_power_seller_statusseller_power_seller_status_rawseller_reputation_level_idseller_evidenceitem_detail_fetch_statusseller_detail_fetch_statusdelivery_text_visibleinternational_text_visibleshipping_origin_text_visiblepermalink_originalpermalink_canonicalis_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 testnpm run canary:monitor:dry-runnpm run apify:validatenpm run apify:trialnpx apify-cli actors call mercadolibre-chile-scraper --build seller-enrichment-smoke --input-file examples/seller-enrichment-smoke-input.json --jsonnpm run apify:push