MercadoLibre Search Scraper — Price, Seller & Rating avatar

MercadoLibre Search Scraper — Price, Seller & Rating

Pricing

from $4.00 / 1,000 product listeds

Go to Apify Store
MercadoLibre Search Scraper — Price, Seller & Rating

MercadoLibre Search Scraper — Price, Seller & Rating

Scrape MercadoLibre search results across 11 LATAM countries: title, price, discount, seller, rating, reviews, free shipping, installments, and result position. Keyword or search URL. MCP-ready.

Pricing

from $4.00 / 1,000 product listeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

8

Total users

5

Monthly active users

5 days ago

Last modified

Share

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 url or itemId values to detail-enrichment tooling.

For downstream enrichment, the verified connected Actor is MercadoLibre Product and Seller Data Scraper. Use this search scraper to find candidate products, then pass selected MercadoLibre records onward when you want deeper product and seller detail data.

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

FieldTypePurpose
searchQueriesarray of stringsFree-text MercadoLibre keywords, one per line. Each keyword runs against the selected country. Defaults to celular.
startUrlsarray of stringsMercadoLibre search or category result URLs. The country is read from each URL domain.
countrystringMarketplace country for keyword searches. Options: MX, AR, BR, CL, CO, UY, PE, EC, VE, BO, PY.
sortstringKeyword-search ordering: relevance, price_asc, price_desc, or most_recent.
maxResultsintegerMaximum product cards across all queries and URLs combined. Default 50, max 5000.
enableCaptchaSolverbooleanUses 2captcha handling when MercadoLibre serves a reCAPTCHA wall on retry. Default true.
proxyConfigurationobjectProxy 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.

FieldTypeMeaning
positioninteger1-based rank of the result in the run.
itemIdstringMercadoLibre item id, for example MLM1422978828.
titlestringProduct title shown on the card.
pricenumberCurrent card price.
currencystringMarketplace currency code, for example MXN.
originalPricenumberStruck-through price before discount, when shown.
discountPercentintegerDiscount percentage when shown.
conditionstringItem condition when shown.
sellerNamestringSeller or public store name when shown.
ratingnumberAverage star rating 0-5 when shown.
reviewsCountintegerNumber of reviews when shown.
freeShippingbooleanWhether the card advertises free shipping.
shippingTextstringRaw shipping label from the card.
installmentsstringInstallments text from the card.
thumbnailstringProduct image URL.
isSponsoredbooleanWhether the card is an ad or promoted listing.
urlstringProduct page URL, with click-trackers unwrapped where possible.
countrystringMarketplace 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 DataImpulse country-pinned residential, then a fresh-IP retry on suspicious-traffic pages, then 2captcha on /captcha/wall.
  • The Actor parses both poly-card and legacy ui-search markup.
  • Input validation is soft-fail.
  • Cost-cap logging and safePushData are part of the build.

Pricing

This Actor uses Pay per event plus Apify platform usage. The live Pricing tab is the source of truth for current charges.

The contract defines two event types:

  • Actor start
  • Product listed

A simple example: if a run returns fifty product cards, the billed activity includes one actor-start event and fifty product-listed events. The total depends on the live Pricing tab, and Apify platform usage is billed separately according to your Apify plan and execution resources.

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 gamer in Mexico, return the first 25 organic results sorted by price ascending, and include seller, rating, shipping, and URL for each card.

Output interpretation:

  • position shows the card order in the run.
  • price, originalPrice, and discountPercent capture pricing and promotion signals when MercadoLibre displays them.
  • sellerName, rating, and reviewsCount separate marketplace visibility from seller reputation signals.
  • freeShipping, shippingText, and installments capture checkout-relevant card details.
  • isSponsored marks promoted listings.
  • url and itemId provide public references for follow-up workflows.

Provenance and scope:

  • Records come from MercadoLibre search-result pages, not product detail pages.
  • startUrls preserve 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 maxResults aligned with the number of cards your agent truly needs.
  • Each returned card contributes to product-listed charges.
  • 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 country for keyword searches so the marketplace and residential exit IP align.
  • Use sort: price_asc or price_desc when price comparison matters.
  • Use maxResults to match the number of cards your workflow actually needs.
  • Use enableCaptchaSolver together with residential proxy settings for broader coverage on challenging pages.
  • Use the returned url or itemId when a downstream workflow needs detail enrichment.

Continue the workflow

  • Then use MercadoLibre Product and Seller Data Scraper to continue from MercadoLibre Search Scraper — Price, Seller & Rating discovery into content data for the selected records.
  • Then use Myntra Product Scraper to extend MercadoLibre Search Scraper — Price, Seller & Rating with a neighboring commerce research source when the brief calls for Myntra data.

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.