MercadoLibre Search Scraper
Pricing
from $2.00 / 1,000 product scrapeds
MercadoLibre Search Scraper
Search MercadoLibre by keyword or scrape a results URL to extract product listings: titles, prices, discounts, installments, shipping, sellers, and ratings.
Pricing
from $2.00 / 1,000 product scrapeds
Rating
0.0
(0)
Developer
ParseBird
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
MercadoLibre Search Scraper
Search MercadoLibre by keyword or scrape any search, category, or filtered results URL and get clean, structured product data — no coding required.
| Search by keyword or paste a results URL, filter by price range, condition, free shipping, and official store, and get titles, prices, discounts, installment plans, shipping, sellers, and ratings as ready-to-use data. |
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.
Use the Apify actor "parsebird/mercadolibre-search-scraper" via the ApifyClient. Example (Python): from apify_client import ApifyClient; client = ApifyClient("<APIFY_TOKEN>"); run = client.actor("parsebird/mercadolibre-search-scraper").call(run_input={"target": "keywordSearch", "targets": ["iphone"], "country": "CO", "sortBy": "relevance", "condition": "any", "maxResults": 20}); items = list(client.dataset(run["defaultDatasetId"]).iterate_items()). Key inputs: target ("keywordSearch" or "resultsUrls"), targets (string array of keywords), startUrls (array of {url} objects for resultsUrls mode), country (CO/PE/UY/EC/DO), sortBy (relevance/price_asc/price_desc), condition (any/new/used), minPrice, maxPrice, freeShipping (boolean), officialStore (boolean), startPage, maxResults. Output fields per item: productId, title, url, imageUrl, searchRank, pageNumber, sourceTarget, sourceUrl, country, currency, currentPrice, previousPrice, discountPercent, installmentsText, shippingText, freeShipping, sellerName, isOfficialStore, isSponsored, rating, categoryId, condition, variations. Full API spec: https://apify.com/parsebird/mercadolibre-search-scraper/api. Get an API token at https://console.apify.com/settings/integrations.
What does MercadoLibre Search Scraper do?
MercadoLibre Search Scraper extracts product listings from MercadoLibre search results without touching the site's login wall or CAPTCHA. Point it at a keyword or a results URL and it returns structured data for every listing on the page — the same information you'd see scrolling through search results, ready for a spreadsheet or database.
🔎 Two ways to search — type keywords and let the actor build the search URL, or paste your own MercadoLibre search, category, or already-filtered results URL directly.
💰 Server-side filtering — price range, condition (new/used), free shipping, and official-store filters are applied on MercadoLibre's own search, not guessed client-side.
📄 Automatic pagination — set a maxResults target and the actor pages through results on its own, de-duplicating listings along the way.
🏷️ Rich per-listing data — price, previous price, discount percentage, installment text, shipping badge, seller name, official-store flag, sponsored flag, rating, category ID, and condition, extracted from MercadoLibre's own page data rather than scraped off rendered HTML text.
☁️ Runs on Apify — schedule recurring runs, trigger it from the API or integrations (Zapier, Make, n8n, Google Sheets), and export results as JSON, CSV, or Excel.
What data can you extract from MercadoLibre?
| Field | Description |
|---|---|
title | Product title as shown on the listing card |
currentPrice / previousPrice | Current and pre-discount price |
discountPercent | Discount percentage, when shown |
installmentsText | Visible installment/payment plan text |
shippingText / freeShipping | Shipping badge text and whether it's free |
sellerName / isOfficialStore | Seller or official-store name, and whether it's an official store |
isSponsored | Whether the listing is a paid/sponsored placement |
rating | Star rating, when shown on the card |
categoryId / condition | MercadoLibre category ID and item condition |
imageUrl / url | Product image and a clean, direct product URL (including for sponsored listings) |
See the Output example below for the full field list.
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| target | string | No | keywordSearch | keywordSearch or resultsUrls |
| targets | string array | For keyword search | ["iphone"] | Keywords to search |
| startUrls | object array | For results URLs | — | {url} objects — MercadoLibre search/category/filtered URLs |
| country | string | No | CO | Marketplace: CO, PE, UY, EC, or DO |
| sortBy | string | No | relevance | relevance, price_asc, or price_desc |
| condition | string | No | any | any, new, or used |
| minPrice / maxPrice | integer | No | — | Local-currency price bounds |
| freeShipping | boolean | No | false | Keep only free-shipping listings |
| officialStore | boolean | No | false | Keep only official-store listings |
| postalCode | string | No | — | Accepted but has no effect yet — see FAQ |
| startPage | integer | No | 1 | Results page to start from (48–60 listings/page depending on category) |
| maxResults | integer | No | 20 | Max products to return; 0 = unlimited (960-item safety ceiling per keyword/URL) |
How to use MercadoLibre Search Scraper
- Open the actor's Input tab in Apify Console.
- Choose Keyword search and list one or more product keywords, or choose Results URLs and paste MercadoLibre search/category URLs directly.
- Pick a marketplace (Colombia, Peru, Uruguay, Ecuador, or Dominican Republic) and optionally set price range, condition, shipping, or official-store filters.
- Set Max results and click Start.
- When the run finishes, open the Dataset tab and export as JSON, CSV, or Excel, or pull results with the Apify API or client libraries.
Python
from apify_client import ApifyClientclient = ApifyClient("<APIFY_TOKEN>")run = client.actor("parsebird/mercadolibre-search-scraper").call(run_input={"target": "keywordSearch","targets": ["iphone"],"country": "CO","maxResults": 20,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["title"], item["currentPrice"], item["currency"])
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<APIFY_TOKEN>' });const run = await client.actor('parsebird/mercadolibre-search-scraper').call({target: 'keywordSearch',targets: ['iphone'],country: 'CO',maxResults: 20,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Output example
{"productId": "MCO1066130043","title": "Apple iPhone 17e (256 Gb) - Rosa Pálido - Distribuidor Autorizado","url": "https://www.mercadolibre.com.co/apple-iphone-17e-256-gb-rosa-palido-distribuidor-autorizado/p/MCO1066130043","imageUrl": "https://http2.mlstatic.com/D_Q_NP_2X_663455-MLA107261194434_032026-E.webp","searchRank": 1,"pageNumber": 1,"sourceTarget": "iphone","sourceUrl": "https://listado.mercadolibre.com.co/iphone_NoIndex_True","country": "CO","postalCode": null,"currency": "COP","currentPrice": 3299900,"previousPrice": 3479000,"discountPercent": 5.0,"installmentsText": "12 cuotas de $274.992 con 0% interés","shippingText": "Llega gratis el lunes","freeShipping": true,"sellerName": "Apple","isOfficialStore": true,"isSponsored": false,"rating": null,"reviewCount": null,"categoryId": "MCO1055","condition": null,"variations": []}
Use cases
- Track competitor pricing and discounts across MercadoLibre categories
- Monitor your own official-store listings against third-party sellers
- Build a price-comparison feed for a specific product line
- Research shipping and installment-plan offers by category or seller
- Feed structured MercadoLibre data into a BI dashboard or spreadsheet on a schedule
How much does it cost to scrape MercadoLibre?
This actor uses pay-per-event pricing — you pay per product saved, not per compute second.
| Event | Price per event | Price per 1,000 |
|---|---|---|
| product-scraped | $0.0026 | $2.60 |
Scraping 1,000 products costs about $2.60. A quick 20-item test run (the default) costs about $0.05. New Apify accounts get free platform credits, so you can try this actor without entering a card.
FAQ
Which MercadoLibre countries are supported?
Colombia, Peru, Uruguay, Ecuador, and Dominican Republic. Mexico, Argentina, Chile, and Brazil are deliberately excluded — live testing found their listado.* search pages sit behind a much stricter, often CAPTCHA-backed anti-bot layer than the other five marketplaces, even through a country-matched residential proxy, so results there would be unreliable. Product-detail-page scraping for those markets is available on the sibling MercadoLibre Scraper actor instead.
Why does the postal code field have no effect?
Changing MercadoLibre's delivery location requires completing an authenticated address-confirmation flow inside the page (a modal, not a URL parameter). This actor doesn't automate that flow, so postalCode is accepted and echoed back in the output for compatibility, but results reflect each marketplace's default location rather than a specific delivery address.
Is there a "newest" sort option? No — MercadoLibre's own search UI only offers relevance, lowest price, and highest price sorting. There's no date/newest sort to expose.
Why did my run return fewer results than maxResults?
Either the search genuinely has fewer matching products, or MercadoLibre's anti-bot layer blocked a page after repeated retries (the actor retries with a fresh proxy session automatically, then logs a warning and moves on rather than failing the whole run). Very specific filter combinations — especially combining a price range with price sorting — are more prone to this; the actor already routes around that specific combination by sorting results itself instead of asking MercadoLibre to.
Can I scrape a URL I built myself with filters already applied? Yes — set Search mode to Results URLs and paste the URL. The actor scrapes it as-is and paginates from there; the price/condition/shipping filters in the input are ignored in this mode since your URL already encodes them.
Can I schedule recurring runs or get notified of price changes? Yes. Use Apify's Scheduler to run this actor on a recurring basis, and combine it with a downstream integration (Zapier, Make, webhooks) to act on the results.
Something not working? Open an issue on the actor's Issues tab in Apify Console, or check the API reference for integration details.
Other MercadoLibre scrapers
- MercadoLibre Scraper — product detail pages, reviews, and seller storefronts across all nine LATAM marketplaces
Is it legal to scrape MercadoLibre?
Scraping publicly available data is generally legal, but you're responsible for how you use the data and for complying with MercadoLibre's terms of service and applicable law in your jurisdiction, including data protection regulations if you collect personal data. See Apify's blog post on the legality of web scraping for more detail. This actor only reads publicly visible search-results data and does not bypass any login wall.