MercadoLibre Search Scraper avatar

MercadoLibre Search Scraper

Pricing

from $2.00 / 1,000 product scrapeds

Go to Apify Store
MercadoLibre Search Scraper

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

ParseBird

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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?

FieldDescription
titleProduct title as shown on the listing card
currentPrice / previousPriceCurrent and pre-discount price
discountPercentDiscount percentage, when shown
installmentsTextVisible installment/payment plan text
shippingText / freeShippingShipping badge text and whether it's free
sellerName / isOfficialStoreSeller or official-store name, and whether it's an official store
isSponsoredWhether the listing is a paid/sponsored placement
ratingStar rating, when shown on the card
categoryId / conditionMercadoLibre category ID and item condition
imageUrl / urlProduct image and a clean, direct product URL (including for sponsored listings)

See the Output example below for the full field list.

Input parameters

ParameterTypeRequiredDefaultDescription
targetstringNokeywordSearchkeywordSearch or resultsUrls
targetsstring arrayFor keyword search["iphone"]Keywords to search
startUrlsobject arrayFor results URLs{url} objects — MercadoLibre search/category/filtered URLs
countrystringNoCOMarketplace: CO, PE, UY, EC, or DO
sortBystringNorelevancerelevance, price_asc, or price_desc
conditionstringNoanyany, new, or used
minPrice / maxPriceintegerNoLocal-currency price bounds
freeShippingbooleanNofalseKeep only free-shipping listings
officialStorebooleanNofalseKeep only official-store listings
postalCodestringNoAccepted but has no effect yet — see FAQ
startPageintegerNo1Results page to start from (48–60 listings/page depending on category)
maxResultsintegerNo20Max products to return; 0 = unlimited (960-item safety ceiling per keyword/URL)

How to use MercadoLibre Search Scraper

  1. Open the actor's Input tab in Apify Console.
  2. Choose Keyword search and list one or more product keywords, or choose Results URLs and paste MercadoLibre search/category URLs directly.
  3. Pick a marketplace (Colombia, Peru, Uruguay, Ecuador, or Dominican Republic) and optionally set price range, condition, shipping, or official-store filters.
  4. Set Max results and click Start.
  5. 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 ApifyClient
client = 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.

EventPrice per eventPrice 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

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.