MercadoLibre Search Scraper — Price, Seller & Rating
Pricing
from $4.00 / 1,000 product listeds
MercadoLibre Search Scraper — Price, Seller & Rating
Scrape MercadoLibre search results across 11 Latin American countries: title, price, discount, seller, rating, reviews, free shipping, installments and result position. Use a keyword or search URL.
Pricing
from $4.00 / 1,000 product listeds
Rating
1.0
(1)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
16
Total users
3
Monthly active users
4 days ago
Last modified
Categories
Share
What is MercadoLibre Search Scraper — Price, Seller & Rating?
MercadoLibre Search Scraper is an Apify Actor for MercadoLibre search results across 11 LATAM countries. It accepts free-text keywords or MercadoLibre search and category URLs, then returns one dataset record per product card. Each record can include title, price, discount, seller, rating, reviews count, free shipping, installments, condition, thumbnail, sponsored status, result position, and country. The output is structured search-result data that fits analysis, monitoring, enrichment, and Apify MCP workflows.
Best fit and connected workflows
This Actor fits workflows that begin with MercadoLibre discovery and continue into downstream analysis:
- Price and promotion monitoring for keyword searches in a chosen marketplace.
- Market research that compares ranking position, seller identity, rating, and ad placement.
- Assortment and catalog scans across multiple keywords or pasted filtered result URLs.
- AI agent workflows that need compact result-card data with clear provenance.
- Discovery-first pipelines that hand selected
urloritemIdvalues to detail-enrichment tooling.
Which MercadoLibre Actor fits? This Actor returns search-result cards only. When you also need product detail pages, reviews, Q&A or seller profiles in one tool, use MercadoLibre Scraper — Products, Reviews, Q&A & Sellers instead, or start with this search scraper and then pass selected
urlvalues to it.
Practical scenario
A retail analyst in Mexico starts with the keyword celular samsung and asks for the first 50 cards sorted by relevance. The Actor returns records with position, title, price, sellerName, rating, reviewsCount, freeShipping, and url. The analyst sees which listings appear first, compares seller signals and shipping flags, and then opens selected url values for a closer review or a downstream detail scrape.
Input
| Field | Type | Purpose |
|---|---|---|
searchQueries | array of strings | Free-text MercadoLibre keywords, one per line. Each keyword runs against the selected country. Defaults to celular. |
startUrls | array of strings | MercadoLibre search or category result URLs. The country is read from each URL domain. |
country | string | Marketplace country for keyword searches. Options: MX, AR, BR, CL, CO, UY, PE, EC, VE, BO, PY. |
sort | string | Keyword-search ordering: relevance, price_asc, price_desc, or most_recent. |
maxResults | integer | Maximum product cards across all queries and URLs combined. Default 50, max 5000. |
enableCaptchaSolver | boolean | Uses a CAPTCHA-solving service when MercadoLibre serves a reCAPTCHA wall on retry. Default true. |
proxyConfiguration | object | Proxy setting for the primary fetch attempts. Residential proxying is supported through Apify Proxy and the actor's fallback path. |
Focused input example
{"searchQueries": ["celular samsung", "notebook gamer"],"country": "MX","sort": "price_asc","maxResults": 100,"enableCaptchaSolver": true,"proxyConfiguration": {"useApifyProxy": true}}
Output
Each dataset item represents one MercadoLibre search-result card.
| Field | Type | Meaning |
|---|---|---|
position | integer | 1-based rank of the result in the run. |
itemId | string | MercadoLibre item id, for example MLM1422978828. |
title | string | Product title shown on the card. |
price | number | Current card price. |
currency | string | Marketplace currency code, for example MXN. |
originalPrice | number | Struck-through price before discount, when shown. |
discountPercent | integer | Discount percentage when shown. |
condition | string | Item condition when shown. |
sellerName | string | Seller or public store name when shown. |
rating | number | Average star rating 0-5 when shown. |
reviewsCount | integer | Number of reviews when shown. |
freeShipping | boolean | Whether the card advertises free shipping. |
shippingText | string | Raw shipping label from the card. |
installments | string | Installments text from the card. |
thumbnail | string | Product image URL. |
isSponsored | boolean | Whether the card is an ad or promoted listing. |
url | string | Product page URL, with click-trackers unwrapped where possible. |
country | string | Marketplace country code. |
Illustrative output record
{"position": 5,"itemId": "MLM63043376","title": "Celular Motorola Moto G06 256gb 4gb Color Verde","price": 2117,"currency": "MXN","originalPrice": 5999,"discountPercent": 64,"sellerName": "Telmov","rating": 4.8,"reviewsCount": 124,"freeShipping": true,"shippingText": "Llega gratis hoy","installments": "24 meses de $127.94","thumbnail": "https://http2.mlstatic.com/D_Q_NP_2X_927719-MLA100483414444_122025-E.webp","isSponsored": false,"url": "https://www.mercadolibre.com.mx/celular-motorola-moto-g06-256gb-4gb-color-verde/p/MLM63043376","country": "MX"}
How it works
This Actor renders MercadoLibre results pages in Firefox and parses search-result cards from the page. It supports two input paths:
- keyword searches using
searchQueries - pasted MercadoLibre search or category URLs using
startUrls
For keyword searches, the selected country sets the marketplace domain and a matching in-country residential exit IP. The Actor paginates through results until it reaches maxResults. The live contract also shows keyword-search sort order support.
Implementation facts from the live contract:
- Proxy ladder: Apify Proxy, then a country-pinned residential fallback proxy with a fresh IP on each retry, then a CAPTCHA-solving service on
/captcha/wall. - The Actor parses both poly-card and legacy
ui-searchmarkup. - The run stops starting new pages about two minutes before its timeout, so long or heavily blocked runs finish with the rows already saved.
Outcome records
OUTPUT and RUN_SUMMARY in the default key-value store record the outcome:
| Outcome | Run status | Meaning |
|---|---|---|
COMPLETE | Succeeded | Every requested page loaded. |
PARTIAL | Succeeded | Some rows were saved, but a page was blocked or the run reached its internal deadline. |
VALID_EMPTY | Succeeded | Result pages loaded but contained no product cards. |
INVALID_INPUT | Succeeded | No keyword or search URL was provided; no product events are charged. |
UPSTREAM_FAILED | Failed | MercadoLibre blocked every attempt before any result page loaded; no product events are charged. |
Pricing
This Actor uses Pay per event plus Apify platform usage, which is billed separately according to your Apify plan. See the Pricing tab for current event prices.
Billed events:
- Actor start: once per run.
- Product listed: once per product card saved to the dataset.
A simple example: a run that returns fifty product cards bills one Actor start event and fifty Product listed events, plus Apify platform usage. maxResults caps the number of Product listed events.
Use with AI agents (MCP)
This Actor is MCP-ready and exposes a focused tool for MercadoLibre search-result discovery. The exact Actor identity is khadinakbar/mercadolibre-search-scraper.
The tool collects public MercadoLibre result cards from keyword searches or pasted search/category URLs. It is useful when an agent needs a narrow input, predictable row-level output, and record provenance for follow-up workflows.
Search MercadoLibre for
notebook gamerin Mexico, return the first 25 organic results sorted by price ascending, and include seller, rating, shipping, and URL for each card.
Output interpretation:
positionshows the card order in the run.price,originalPrice, anddiscountPercentcapture pricing and promotion signals when MercadoLibre displays them.sellerName,rating, andreviewsCountseparate marketplace visibility from seller reputation signals.freeShipping,shippingText, andinstallmentscapture checkout-relevant card details.isSponsoredmarks promoted listings.urlanditemIdprovide public references for follow-up workflows.
Provenance and scope:
- Records come from MercadoLibre search-result pages, not product detail pages.
startUrlspreserve the URL's own filters and country.- Keyword searches use the chosen
country. - Pagination continues until the requested result count is reached or the marketplace result flow ends.
Cost guidance:
- Keep
maxResultsaligned with the number of cards your agent truly needs. - Each returned card contributes to
product-listedcharges. - The live Pricing tab remains the authority for current event pricing.
Apify API example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({token: process.env.APIFY_TOKEN,});const run = await client.actor('khadinakbar/mercadolibre-search-scraper').call({searchQueries: ['celular'],country: 'MX',sort: 'relevance',maxResults: 10,});const dataset = await client.dataset(run.defaultDatasetId).listItems();console.log(dataset.items);
Best results and outcome guidance
Use keyword searches when you want a consistent query across a chosen marketplace. Use startUrls when you already built filters in MercadoLibre and want the Actor to continue from that exact results page.
Helpful routing choices:
- Use
countryfor keyword searches so the marketplace and residential exit IP align. - Use
sort: price_ascorprice_descwhen price comparison matters. - Use
maxResultsto match the number of cards your workflow actually needs. - Use
enableCaptchaSolvertogether with residential proxy settings for broader coverage on challenging pages. - Use the returned
urloritemIdwhen a downstream workflow needs detail enrichment.
Continue the workflow
- Then use MercadoLibre Scraper — Products, Reviews, Q&A & Sellers to add product detail, reviews, Q&A and seller data for the cards you selected here.
Design note
I found that the dataset view includes both isSponsored and freeShipping, which makes it straightforward to separate promotion signals from fulfillment signals in the same record.
FAQ
When should I use searchQueries instead of startUrls?
Use searchQueries for a clean keyword workflow. Use startUrls when you already have a MercadoLibre search or category URL with filters applied.
Can this Actor help me discover items before a detail scrape?
Yes. It returns public search-result cards, including url and itemId, which fit a discovery-to-enrichment workflow.
How do I work with multiple countries?
Choose the country for keyword searches, or provide country-specific MercadoLibre URLs in startUrls. The output includes the resolved country field.
What is the practical difference between rating and reviewsCount?
rating is the average star score shown on the card. reviewsCount is the number of reviews when MercadoLibre displays it.
How do I route filtered searches?
Create the filtered MercadoLibre results page in your browser, then paste that URL into startUrls so the Actor keeps the encoded filters.
Responsible use
Use the Actor in ways that align with MercadoLibre terms, applicable law, and your own data-handling policies. The Actor works with publicly visible search-result pages and returns publicly displayed card data. Keep request volumes proportional to the workflow, and prefer maxResults values that match your actual analysis needs.