MercadoLivre search $1/1000 results
Pricing
$1.00 / 1,000 results
MercadoLivre search $1/1000 results
Extract product listings from MercadoLivre search results — prices, discounts, ratings, seller names, shipping info, installment details, catalog IDs, and categories. Scrape any keyword, set how many results you need.
Pricing
$1.00 / 1,000 results
Rating
5.0
(1)
Developer
Rise and Code
Maintained by CommunityActor stats
0
Bookmarked
42
Total users
20
Monthly active users
2 days ago
Last modified
Categories
Share
What does this MercadoLivre search scraper do?
This Actor extracts structured product data from MercadoLivre — Brazil's largest e-commerce marketplace — straight from its search results. Pass one or more keywords and get back clean JSON for every product, including title, price, discount, installments, rating, sold count, seller, shipping, sponsored flag, and category.
Why scrape MercadoLivre search results?
- 📊 Price monitoring — track price changes, discounts, and installment offers for any product category over time.
- 🛒 Competitor research — see which sellers, prices, and products rank for your target keywords.
- 📈 Market analysis — aggregate listing data to find top-rated products, best-sellers, and high-volume sellers.
- 🔎 Lead generation — discover official brand stores and their catalogues at scale.
- 🔥 Trend discovery — spot emerging products and categories by keyword before competitors do.
- 🤖 Automation — schedule runs and push results into spreadsheets, databases, or dashboards through Apify integrations.
Why an Actor instead of doing it yourself?
Unlike a manual search, this Actor turns MercadoLivre's keyword results into structured data at scale. MercadoLivre's official API no longer offers free, open product search (it requires authenticated, restricted access), and the website is built for browsing one page at a time — so collecting listings by hand or with a DIY scraper means fighting pagination, sponsored listings, and bot protection.
How to use this MercadoLivre search scraper
- Visit the Actor page on Apify and click Try for free — no credit card required.
- In the Input tab, type one or more search terms (e.g.
fitness,pets,mouse gamer). - Set Max Items to control how many products to scrape per term — you're charged per product returned.
- Click Start and wait a few seconds for the run to finish.
- Open the Output tab or download the dataset as JSON, CSV, Excel, or HTML.
To trigger a run via the Apify API:
curl -X POST \"https://api.apify.com/v2/acts/rise-and-code~apify-mercadolivre-search/runs?token=<YOUR_TOKEN>" \-H "Content-Type: application/json" \-d '{"searchTerms": ["fitness", "pets"],"maxItems": 100}'
Input
Configure the Actor in the Input tab or via JSON.
| Field | Type | Default | Description |
|---|---|---|---|
searchTerms | string[] | ["pets"] | Required. One or more search terms. Spaces are converted to dashes automatically. |
maxItems | integer | 50 | Maximum products to scrape per search term (50–10000). |
Example input:
{"searchTerms": ["fitness", "pets"],"maxItems": 100}
Output
One dataset record is pushed per product listing. Download the dataset as JSON, CSV, Excel, or HTML from the Output tab or via the Apify API.
Output example
[{"searchTerm": "carregador celular","position": 1,"productId": "MLB178925","itemId": "MLB3456789012","title": "Carregador Turbo 65W USB-C compatível com Samsung","url": "https://www.mercadolivre.com.br/p/MLB178925","thumbnail": "https://http2.mlstatic.com/D_NQ_NP_123456-MLB789.jpg","seller": "Loja TechBrasil","price": 89.9,"originalPrice": 129.9,"currency": "BRL","discountPercentage": 30,"installments": "ou 12x R$ 7,49 sem juros","rating": 4.8,"soldCount": "+10mil vendidos","shipping": "Frete grátis","highlight": "MAIS VENDIDO","isSponsored": false,"isInternational": false,"category": "MLB-CELL_PHONE_CHARGERS","scrapedAt": "2026-04-28T12:00:00.000Z"}//...]
Output fields
| Field | Type | Description |
|---|---|---|
searchTerm | string | The search term that produced this result |
position | number | 1-based position in search results (across pages) |
productId | string | null | Catalog/product-group ID (e.g. MLB178925). Groups all seller offers for the same product. null for listings not linked to a catalog entry. |
itemId | string | null | Individual listing ID (e.g. MLB3456789012). Unique per seller offer — equivalent to the wid parameter in the card URL. |
title | string | Product title |
url | string | Product page URL |
thumbnail | string | null | Product image URL |
seller | string | null | Seller or official store name |
price | number | null | Current price in BRL |
originalPrice | number | null | Original price before discount |
currency | string | Always "BRL" |
discountPercentage | number | null | Discount percentage (e.g. 30) |
installments | string | null | Instalment text |
rating | number | null | Average user rating (0–5) |
soldCount | string | null | Sold count label (e.g. "+5mil vendidos") |
shipping | string | null | Shipping label (e.g. "Frete grátis") |
highlight | string | null | Badge text (e.g. "MAIS VENDIDO") |
isSponsored | boolean | Whether the listing is a paid ad |
isInternational | boolean | Whether the product is sold by a cross-border (international) merchant, indicated by the CBT badge on the card |
category | string | null | MercadoLivre category ID (e.g. "MLB-CELL_PHONE_CHARGERS"), extracted from the page's embedded state JSON. May be null if unavailable. |
scrapedAt | string | ISO 8601 timestamp of when the record was scraped |
How much does it cost to scrape MercadoLivre?
This Actor uses Apify's pay-per-event pricing: you pay fixed prices for what the Actor does, and you are not charged separately for Apify platform usage (compute, bandwidth, or other infrastructure). There are just two charges:
| Event | Price | When it applies |
|---|---|---|
| Per search | $0.04 | Once for each search term started |
| Per result | $0.001 ($1.00 / 1,000 items) | For each product returned to the dataset |
The per-search fee covers the fixed infrastructure every search relies on — premium residential IPs and the compute to reliably load and parse results — and applies on each term search starts.
Examples:
- One search term returning 50 products →
$0.04 + 50 × $0.001 = $0.09 - Two search terms returning 50 products each →
2 × $0.04 + 2 × 50 × $0.001 = $0.18
Apify's free plan includes $5 of free usage per month — enough to try the Actor without paying anything.
Tips to keep costs low
- Set
maxItemsto only what you need — you pay per product returned. - Each search term started incurs the per-search fee even if it returns few or no products, so prefer specific terms you know have matching listings.
FAQ
Is it legal to scrape MercadoLivre?
This Actor only collects publicly available product listing data — the same information visible to any visitor without logging in. No private user data is collected. Always comply with MercadoLivre's Terms of Service and applicable local laws. Do not use scraped data in ways that compete unfairly with MercadoLivre or its sellers.
Do I need an API key or MercadoLivre account?
No. The Actor works without any MercadoLivre credentials. You only need a free Apify account to run it.
Can I monitor prices on a schedule?
Yes. Use Apify Schedules to run the Actor automatically (e.g. daily) and store each run's dataset, then compare results over time to build price history.
Some fields come back as null — is that expected?
Yes. Not every listing includes all fields. For example, soldCount only appears on high-volume products, rating only appears when the product has reviews, and originalPrice only when a discount is active. Missing fields are set to null rather than omitted so the schema is always consistent.
The scraper got bot-blocked — what can I do?
Blocks are rare: every run uses premium residential IPs and automatic retries to keep success rates high. If a run still comes back empty or partial, simply run it again — transient blocks usually clear on a retry.
Support
If you encounter a bug or have any suggestion for this Actor or for a new one, please feel free to reach us at contact.riseandcode@gmail.com and we'll look into it ASAP. We respond to emails in English 🇺🇸 and Portuguese 🇧🇷.