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
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
What does MercadoLivre Search Scraper do?
MercadoLivre Search Scraper extracts structured product data from lista.mercadolivre.com.br — Brazil's largest e-commerce marketplace. Pass one or more search terms and get back clean JSON records for every listing, including title, price, discount, installments, rating, sold count, seller, shipping, and more.
Why use MercadoLivre Search Scraper?
- 📊 Price monitoring — track price changes and discount trends for any product category over time
- 🛒 Competitor research — see what sellers, prices, and products appear for your target keywords
- 📈 Market analysis — aggregate listing data to identify top-rated products and high-volume sellers
- 🔎 Lead generation — find official brand stores and their product catalogues at scale
- 🔥 Trend discovery — find trending products by keyword and spot emerging categories before competitors do
- 🤖 Automation — trigger runs on a schedule and pipe results into spreadsheets, databases, or dashboards via Apify integrations
How to use 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). - Set Max Items to control how many products to scrape per term, and also charged.
- Click Start and wait a few seconds for the run to complete.
- Open the Output tab or download the dataset as JSON, CSV, or Excel.
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 (1–10000). |
proxyConfiguration | object | — | Proxy settings. Using Apify Proxy is recommended to avoid bot detection. |
Example input:
{"searchTerms": ["fitness", "pets"],"maxItems": 100}
Output
One dataset record is pushed per product listing. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel 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?
Scraping 100 products (2 pages) typically uses under 0.05 Compute Units (CUs).
Apify's free plan includes $5 of free usage per month — enough to scrape thousands of products at no cost.
Tips to keep costs low
- Set
maxItemsto only what you need — fewer pages means less compute. - Combine multiple search terms in a single run rather than triggering separate runs.
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.
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?
Bot detection can be more aggressive on certain IP ranges. Enabling Apify Proxy (residential proxies) in the proxyConfiguration input significantly improves success rates on the Apify platform.
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'll respond emails in English 🇺🇸 and Portuguese 🇧🇷.