· 12 min read
MercadoLibre Product Scraper: 17 Data Fields per Record (2026)
A thousand results cost $2.00 on the free-plan price, and each record carries 17 output fields including the product ID, current price in MXN, and seller name. This collector uses a hardcoded MX-residential proxy pool to handle account-verification block walls while rotating session IDs across 5 different browser-impersonate profiles. Records can also carry the original price, discount percentage, and shipping label when the listing shows them; fields a listing lacks are omitted.
Try it before you read further. Apify's free plan includes $5.00 of usage every month with no credit card, enough for up to 2,500 results at $0.002 each before platform usage. Open MercadoLibre Product Scraper on Apify and run the prefilled example.
How reliable is MercadoLibre Product Scraper in production?
Across the last 30 days of public runs on the Apify platform, MercadoLibre Product Scraper recorded 56 runs with the following outcomes.
| Outcome | Runs | Share |
|---|---|---|
| Succeeded | 56 | 100.0% |
| Failed | 0 | 0.0% |
| Aborted by the user | 0 | 0.0% |
| Timed out | 0 | 0.0% |
| Total | 56 | 100.0% |
No run failed or timed out in the last 30 days. Keep a retry and an alert on scheduled runs all the same: a clean month is a record, not a guarantee.
What does it cost to run MercadoLibre Product Scraper?
Each result costs $0.002 on Apify's free plan, which is $2.00 per 1,000 results. Starting a run is charged separately at $0.005 per GB of Actor memory. Apify also bills the platform usage each run consumes, at the rates of your Apify plan, on top of these charges.
| Apify plan | Per result | Per 1,000 results |
|---|---|---|
| FREE | $0.002 | $2.00 |
| BRONZE | $0.00167 | $1.67 |
| SILVER | $0.00133 | $1.33 |
| GOLD | $0.001 | $1.00 |
| PLATINUM | $0.001 | $1.00 |
| DIAMOND | $0.001 | $1.00 |
Worked example: collecting 10,000 results costs $20.00 in result charges before run-start fees and platform usage. No run failed or timed out in the last 30 days, so the list price is a fair budget; keep a retry in place all the same.
The maxItems control has the largest effect on your bill because you are charged for each result written to the dataset. The cheapest way to test your query is to use the example input cap of 5 items, which costs at most $0.01 in result charges.
How do you run MercadoLibre Product Scraper from the API?
None of its 7 controls is strictly required, so the defaults below produce a valid run on their own. Nothing in the payload below is illustrative. Those are the schema's prefilled defaults for MercadoLibre Product Scraper, so the request works once your token is in place.
Call the synchronous endpoint to start a run and receive dataset items in one request:
curl -X POST "https://api.apify.com/v2/acts/crawlerbros~mercadolibre-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"country":"MX","searchQuery":"iphone","condition":"any","maxItems":5}'
The same run from Python, using the official client:
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"country": "MX",
"searchQuery": "iphone",
"condition": "any",
"maxItems": 5
}
run = client.actor("crawlerbros~mercadolibre-scraper").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
And from Node.js:
import { ApifyClient } from 'apify-client'
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' })
const input = {
"country": "MX",
"searchQuery": "iphone",
"condition": "any",
"maxItems": 5
}
const run = await client.actor('crawlerbros~mercadolibre-scraper').call(input)
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)
Because the call is synchronous, your client waits for the whole run. Keep it for exploration. For scheduled work, start the run without waiting and collect the dataset afterwards, so network trouble costs you a retry rather than the results.
Which MercadoLibre Product Scraper inputs matter, and which can you skip?
The searchQuery and condition controls are the primary fields for defining your results. Most practitioners should leave the country set to MX and only use startUrls if they need to override the structured price and condition filters with a direct URL.
country(string): MercadoLibre country site to scrape. Currently only Mexico (MX) is supported reliably from Apify's residential proxy pool - AR/BR/other LATAM markets are heavily anti-bot gated and were removed because they return blocked stub pages on every retry. Default:"MX".searchQuery(string): Free-text keyword. Required if startUrls is empty.condition(string): Filter by item condition. Default:"any".priceMin(integer): Minimum price in the country's local currency.priceMax(integer): Maximum price in the country's local currency.startUrls(array): Direct MercadoLibre API search URLs. If set, overrides structured filters.maxItems(integer): Maximum items to return. Default:50.
Fixed-choice controls: country accepts MX (Mexico); condition accepts any, new, used.
What does MercadoLibre Product Scraper return?
The returned records provide structured visibility into current market pricing and product metadata. They do not contain any information that is not available on the public product listing page.
id: string - ✓ - MercadoLibre item ID (e.g.MLM1018500855)title: string - ✓ - Product titleurl: string - ✓ - Full product URLcountryCode: string - ✓ - AlwaysMXscrapedAt: string - ✓ - UTC ISO 8601 scrape timestampprice: number - - - Current price in MXNoriginalPrice: number - - - Strikethrough / original price (before discount)currency: string - - - AlwaysMXNcurrencySymbol: string - - - Currency symbol as displayed on the sitediscountPercentage: number - - - Percentage off (0-100)condition: string - - -neworused(refurbished items are mapped toused)thumbnail: string - - - Product image URLsellerName: string - - - Seller / brand namebrand: string - - - Brand attributeshippingLabel: string - - - Shipping badge text (e.g.Envío gratis)rating: number - - - Seller or product star ratingreviewsCount: number - - - Number of reviews
These are the documented fields. Optional ones can be empty on a given record, so measure how often each field your deliverable depends on is populated across a real sample before automating the handoff.
How do you build the workflow end to end?
Open MercadoLibre Product Scraper and work through these in order. Each step ends with something to check, so a bad configuration surfaces on a small run rather than a scheduled one.
- Set the searchQuery to a product keyword like "iphone" or provide a list of search URLs in the startUrls array.
- Choose between new, used, or any in the condition selector to filter by item state.
- Define the price range using priceMin and priceMax in MXN to target specific market segments.
- Configure maxItems between 1 and 1000 to manage the total records written to the dataset.
- Check the results for the id field, which should contain a valid identifier such as MLM1018500855.
- Inspect the scrapedAt field to confirm the UTC ISO 8601 timestamp for the run.
- Verify that the price and currency fields are populated to ensure successful extraction of monetary data.
How do you apply it? Three worked playbooks
These are MercadoLibre Product Scraper's own documented use cases, each worked through as an operating pattern rather than a description.
Use case 1: Price monitoring
Outcome: Daily runs to track Mexico market prices
Configure: Set searchQuery to "iphone" and maxItems to 50, then save this as an Apify schedule.
Working method: Run the Actor daily and compare the price and originalPrice fields in the new dataset against previous runs to detect price fluctuations.
Deliverable: A historical price log in CSV format showing price changes over time for specific product IDs.
Stop condition: The price field is consistently omitted from results for items that were previously priced.
Use case 2: Refurbished-market analysis
Outcome: Filter condition=used to map the secondary market
Configure: Set condition to "used" and provide a targeted keyword in the searchQuery.
Working method: Collect listings and use the price field to calculate the average discount for used goods by comparing it to the originalPrice attribute.
Deliverable: A secondary market report detailing the average depreciation rate for products in a specific category.
Stop condition: The condition field in the output contains "new" despite the input filter being set to "used".
Use case 3: Trend research
Outcome: Ingest product names and prices across major keywords
Configure: Enter a broad category keyword in searchQuery and set maxItems to 500.
Working method: Analyze the reviewsCount and rating fields across the returned dataset to identify products with high engagement in the Mexico market.
Deliverable: A market trend report identifying brands based on the sellerName and brand attributes.
Stop condition: The reviewsCount field is missing from more than 80% of the returned product records.
What breaks, and how do you design around it?
- Over the last 30 days, 0.0% of public runs failed and 0.0% timed out. Build retries and alerting around those rates rather than assuming every run completes.
If you hit the 1,000 item limit, you should use priceMin and priceMax to split your search into smaller price brackets.
When should you not use MercadoLibre Product Scraper?
Do not use this Actor if you require data from Argentina, Brazil, or other LatAm markets, as they are removed from the input because they return hard-block stub responses. If you need to monitor luxury resale trends across Europe, use the Vestiaire Collective Scraper instead. For projects requiring global marketplace coverage including the US or UK, eBay Items Scraper is the more appropriate tool. If your target is specific to Central European classifieds, look at the Bazos.cz / Bazos.sk / Bazos.at / Bazos.pl Scraper.
What should you check before trusting the output?
- Monitor the dataset for any mercadolibre_blocked record indicating that the residential proxy pool is currently blocked.
- Verify that the price field is a non-null number for every product record where pricing is present on the site.
- Check that the countryCode is consistently MX to ensure regional data integrity.
- Alert if the rating or reviewsCount fields are missing across a large batch of products that usually display them.
- Stop the schedule if the scraper returns zero results for a known searchQuery that previously returned data.
None of this proves a record is correct. It gives a scheduled MercadoLibre Product Scraper run defined points where it should stop instead of quietly passing bad data downstream.
Frequently asked questions
What is the exact cost per 1,000 results?
The free-plan price is $2.00 per 1,000 results, which works out to $0.002 per result. Apify's free plan includes $5.00 of monthly usage, allowing you to extract up to 2,500 results for free before platform usage charges. Paid plans on Apify offer even lower per-result costs.
Why is only Mexico supported?
MercadoLibre anti-bot measures are country-specific. These countries were removed to prevent the Actor from shipping a configuration that always fails, leaving Mexico as the only reliably supported market.
How does the scraper bypass anti-bot blocks?
The Actor uses a hardcoded MX-residential proxy pool and rotates session IDs up to 6 times per run. It uses 5 different browser-impersonate profiles, including Chrome and Firefox.
What does the 'mercadolibre_blocked' record mean?
On rare occasions when the entire residential proxy pool is blocked, the Actor emits a mercadolibre_blocked sentinel record with the reason and timestamp. This prevents a hard failure and informs you that the residential IPs are currently being gated by the marketplace security systems.
How many fields are included in the JSON output?
These include the item ID, title, URL, price, original price, discount percentage, condition, thumbnail, seller name, brand, shipping label, rating, and reviews count. Missing fields are omitted from the record rather than being returned as null.
Where to go next
When you are ready to run it, open MercadoLibre Product Scraper on Apify; the free plan covers up to 2,500 results a month.
Start with the MercadoLibre Product Scraper Actor page for the current input schema, pricing tier, and run history.
If you are comparing approaches rather than committing to one Actor, these category pages list every option we publish:
- Product and price scrapers covers 344 Actors in this family.
Other Actors we maintain for related data:
- Bazos.cz / Bazos.sk / Bazos.at / Bazos.pl Scraper: Search the Bazos classifieds marketplace across CZ (bazos.cz), SK (bazos.sk), AT (bazos.at), and PL (bazos.pl) by keyword.
- Vestiaire Collective Scraper: Scrape Vestiaire Collective - Europe's largest luxury fashion resale platform.
- eBay Items Scraper: Scrape eBay search results, category pages, and item listings.
- Tiki Product Scraper: Scrape Tiki.vn - Vietnam's leading e-commerce marketplace.
- Shein Product Scraper: Scrape product details from Shein (us.shein.com) by direct product URL.
- Audible Scraper: Scrape Audible with Amazon's audiobook marketplace.
- AbeBooks Scraper - Rare, Used & Antiquarian Books: Scrape AbeBooks for rare, used, and antiquarian book listings.
- Kongfz (孔夫子旧书网) Used Books Scraper: Scrape kongfz.com - China's largest used/antiquarian book marketplace.
Related guides:
- eBay Items Scraper: 3 Practical Use Cases
- Amazon Bestseller Scraper: Operational Guide and Workflows
- Home Depot Product Scraper: Three Practical Use Cases
- Audible Scraper: Real-World Use Cases and Setup Playbooks
Resources
Actor documentation, input schema, and pricing: verified against the published Actor on 2026-09-25.
Actor last updated by its maintainers on 2026-05-01.
Run outcome figures cover the 30 day public window ending 2026-09-25.
Featured actors
MercadoLibre Product Scraper
Scrape products from MercadoLibre across Mexico. Returns product title, price, currency, condition, seller, thumbnail, and permalink.
Run on Apify ↗