MercadoLibre Search Scraper
Under maintenancePricing
$2.65 / 1,000 products
MercadoLibre Search Scraper
Under maintenanceSearch Mercado Libre and Mercado Livre by keyword or results URL. Save product prices, sellers, shipping, ratings, images, and search positions in a clean dataset.
Pricing
$2.65 / 1,000 products
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
1
Bookmarked
68
Total users
19
Monthly active users
17 hours
Issues response
6 hours ago
Last modified
Categories
Share
🔎 Collect Mercado Libre search product data
MercadoLibre Search Scraper helps ecommerce teams, sellers, agencies, and researchers collect products from Mercado Libre and Mercado Livre search pages. Search by keyword or use a results URL. Get prices, sellers, shipping, ratings, images, and search positions in a clean dataset.
- Compare prices, discounts, and shipping over time with Mercado Libre Price Monitoring.
- Track where products appear with Mercado Libre Product Rank Tracking.
- Compare visible products, sellers, ratings, and placement with Mercado Libre Competitor Analysis.
- Review promoted and organic placement with Mercado Libre Sponsored Listing Monitoring.
- Build product lists from search, category, and filtered pages with Mercado Libre Assortment Research.
- Compare names and official-store status with Mercado Libre Seller Research.
- See how location may change product order and shipping with Mercado Libre ZIP Code Search.
📦 Mercado Libre product-card data
Each dataset row is one product card from a Mercado Libre or Mercado Livre results page. It can include product details, price, seller, shipping, ratings, search rank, sponsored status, and visible variations. Some values are null when the card does not show them. The Actor does not guess missing values.
When the same product appears more than once, the Actor saves its first eligible match and ignores later matches.
🚀 Run a Mercado Libre search
- Choose Keyword search or Results URLs as the Target.
- Add keywords or search, category, or filtered results URLs.
- For keywords, choose a market and sort order.
- Add a delivery ZIP or postal code if location matters.
- Set the product limit and first page.
- Run the Actor and open the dataset.
Keyword searches can use relevance, lowest price, highest price, or newest order. A submitted results URL keeps its marketplace, category, location, sort order, and other filters. Leave Product limit empty to save all available product cards until the source is exhausted. It reads results pages, not product detail pages or homepages.
⚙️ Input
Input fields
| Field | Type | What it does |
|---|---|---|
target | string | Chooses keywordSearch or resultsUrls. Options for the other target are ignored. |
targets | string array | Sets one or more product keywords for keywordSearch. |
startUrls | object array | Sets search, category, or filtered results URLs for resultsUrls. Each object contains a url. |
startUrls[].url | string | Sets one search, category, or filtered results URL inside a startUrls object. |
country | string | Sets the marketplace for keyword searches. A full results URL keeps its own country domain. |
sortBy | string | Orders keyword results by relevance, low price, high price, or newest. |
postalCode | string | Applies a delivery ZIP or postal code. Leave it empty for general market results. |
maxResults | integer | Stops after this many products are saved across all keywords or URLs. Leave it empty to return all available products until the source is exhausted. |
startPage | integer | Starts each input at this results page. The default is 1. |
condition | string | Keeps all products or filters cards to new or used condition. |
minPrice | number | Keeps cards at or above this amount in the local market currency. Leave it empty for no minimum. |
maxPrice | number | Keeps cards at or below this amount in the local market currency. Leave it empty for no maximum. |
freeShipping | boolean | Keeps only listings that advertise free shipping when true. |
officialStore | boolean | Keeps only listings marked as marketplace official stores when true. |
Default input
This input comes from the successful current-beta run used for the product-row example:
{"target": "keywordSearch","targets": ["iphone"],"country": "mx","sortBy": "relevance","maxResults": 5,"startPage": 1,"condition": "any"}
🧾 Output
The Output tab links to the saved product rows.
Run output
| Field | Type | What it does |
|---|---|---|
results | string | Opens the results table with product listings, prices, sellers, shipping, ratings, images, and result positions. |
Dataset row fields
| Field | Type | What it does |
|---|---|---|
productId | string or null | Product ID, when available. |
title | string | Product title shown on the card. |
url | string | Public product URL. |
imageUrl | string or null | Main product image URL. |
searchRank | integer | One-based position for the submitted target. |
pageNumber | integer | Results page where the product was found. |
sourceTarget | string | Keyword or URL whose first eligible match saved the row. |
sourceUrl | string | Results page where the product was found. |
country | string | Two-letter marketplace country code. |
postalCode | string or null | Delivery ZIP or postal code used for the result. |
currency | string | Currency code for the current price. |
currentPrice | number | Current price shown on the card. |
previousPrice | number or null | Earlier price shown for a promotion. |
discountPercent | number or null | Discount percentage shown on the card. |
installmentsText | string or null | Visible installment or payment text. |
shippingText | string or null | Visible shipping or delivery text. |
freeShipping | boolean or null | Whether the card says shipping is free. |
sellerName | string or null | Visible seller or official-store name. |
isOfficialStore | boolean | Whether the card marks an official store. |
isSponsored | boolean | Whether source markup marks the product as sponsored. |
rating | number or null | Product rating, when shown. |
reviewCount | integer or null | Review or rating count, when shown. |
categoryId | string or null | Mercado Libre category ID, when available. |
condition | string or null | Product condition, when shown. |
variations | object array | Choices shown on the card, such as colors or styles. |
variations.id | string or null | Source ID for a choice. |
variations.label | string or null | Visible choice name. |
variations.imageUrl | string or null | Image URL for a choice. |
Example product row
This is one full row from the same successful current-beta run:
{"productId": "MLM2059326676","title": "iPhone 14 Pro (sólo eSIM) 128 GB negro espacial - Excelente (Reacondicionado)","url": "https://www.mercadolibre.com.mx/iphone-14-pro-solo-esim-128-gb-negro-espacial-excelente-reacondicionado/p/MLM2059326676","searchRank": 3,"pageNumber": 1,"sourceTarget": "iphone","sourceUrl": "https://listado.mercadolibre.com.mx/iphone","country": "mx","postalCode": null,"currency": "MXN","currentPrice": 8699,"previousPrice": 19000,"discountPercent": 54,"installmentsText": "15 meses sin intereses de $579.93","shippingText": "Envío gratis","freeShipping": true,"sellerName": null,"isOfficialStore": false,"isSponsored": false,"rating": null,"reviewCount": null,"imageUrl": "https://http2.mlstatic.com/D_Q_NP_2X_750141-MLA104269458595_012026-E.webp","categoryId": "MLM1051","condition": "Reacondicionado","variations": []}
💳 Pricing
This Actor uses pay-per-event pricing. You are charged for each product saved to the dataset. Empty searches, skipped inputs, and products that are not saved do not create this product charge. Set Product limit to cap how many products can be saved and charged.
🔌 Integrations
Export Apify datasets as JSON, CSV, Excel, XML, RSS, or HTML. You can also use the Apify API, schedules, webhooks, Zapier, Make, Google Sheets, and other Apify integrations.
❓ FAQ
Can I use a product detail URL?
No. Use a search, category, or filtered results URL. Product detail URLs and marketplace homepages are skipped.
Why can a rating, seller, or shipping field be empty?
Mercado Libre does not show every value on every product card. The Actor leaves a value empty instead of guessing it.
Why do results change by ZIP or postal code?
Product order, availability, and shipping text can depend on location. Add a delivery ZIP or postal code when you need that location context.
Does it collect product details, reviews, or Q&A?
No. It reads product cards on results pages. It does not collect full descriptions, full image galleries, specifications, stock, units sold, seller reputation, review text, Q&A, or details not shown on the card.
Do I need a Mercado Libre login or API key?
No Mercado Libre login or API key is needed for the public results pages this Actor reads.
Should I use the official Mercado Libre API instead?
Use the official API when it gives you the fields and access you need. Use this Actor when you need public product cards, visible order, and card-level fields from results pages.
Can I continue from a later page?
Yes. Set startPage to begin on a later results page. This can help continue a search or skip earlier pages.
📝 Changelog
0.2: Flexible search targets and product filters
- Added a Results URLs target for search, category, and filtered results pages.
- Added condition, price, free-shipping, and official-store filters.
- Leave Product limit empty to collect all available product cards.
v0.1
- Added delivery ZIP/postal code support.
- Improved search scraping.
v0.0
- Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Related Actors
- Mercado Libre Product Rank Checker: check the organic rank of a known product for chosen keywords.
- Allegro Scraper: collect product listings from another marketplace for cross-market research.
- Google Shopping Ads Scraper: compare paid Shopping products, prices, merchants, and ad positions.
- Trendyol Scraper: collect products from another marketplace with optional reviews and Q&A.
- OLX Scraper: study prices and sellers in public classified listings.
Made with ❤️ by Maxime Dupré