A brand analyst is asked for "our price position on Mercado Libre in LATAM." They pull a dataset, build a chart, and present an average price index across the region.
The number is meaningless. It averaged Brazilian reais against Argentine pesos against Mexican pesos, over a period in which one of those currencies moved substantially against the others. It also averaged five distinct catalogues with different assortments, so the products underneath the index were not the same products in each market.
Mercado Libre is not one marketplace. It is a set of national marketplaces sharing a platform. Getting LATAM intelligence right starts with accepting that and building five collections. Our Mercado Libre scraper service runs exactly this way — five country pipelines with a shared product identity layer rather than one regional job.
The major country sites each operate their own catalogue, currency, seller base and category tree.
| Country site | Language | Currency | Notes for collection |
|---|---|---|---|
| Brazil | Portuguese | BRL | Largest catalogue; Portuguese-only listing text |
| Mexico | Spanish | MXN | Strong cross-border seller presence |
| Argentina | Spanish | ARS | Currency treatment is the dominant technical issue |
| Chile | Spanish | CLP | No decimal subunit in practice; parse carefully |
| Colombia | Spanish | COP | Large integer prices; watch numeric formatting |
Practical consequences of the split:
Cross-country comparison therefore requires an internal product identity layer. You match listings across the five sites on brand, model or part number where present, normalised title tokens, pack size, and image similarity. That match is a probabilistic join with a confidence score, and it should be stored as such — not silently asserted.
Country-specific collection is described in our web scraping services in Brazil and web scraping services in Mexico pages.
Brazil is Portuguese. Everything else in the set above is Spanish. That affects more than translation.
Argentina is the case that forces a discipline everyone should have anyway.
In a high-inflation environment, a nominal price series in local currency tells you almost nothing about competitive position. A product whose ARS price rose 40% may have become cheaper in real terms. A flat nominal price is a substantial real-terms price cut.
Rules that make a LATAM price series usable:
The same discipline protects the other four markets when their currencies move. Argentina just makes the consequence of skipping it immediate. The handling described here is implemented in our multi-currency price monitoring and cross-border price intelligence services.
Mercado Libre distinguishes official brand stores from general third-party sellers, and the distinction drives most brand-monitoring value.
Why it matters concretely:
Capture a seller-type flag plus the seller identifier on every listing row. Maintain your authorised-seller list as reference data and join against it. The output is a per-country list of sellers with listing counts and observed price ranges — count of third-party sellers listing brand SKUs by country is the shape of the finding, and it should come from the data rather than an estimate. The seller-side extraction is described in our seller and vendor data service.
A LATAM price comparison that ignores shipping is wrong in a direction that varies by seller.
MercadoEnvíos and the platform's shipping programmes mean a listing's delivered cost can differ substantially from its listed price, and free-shipping eligibility is often tied to price thresholds and seller status. Two listings at the same price are not the same offer if one ships free and one does not.
What to capture:
That last field is the one teams forget. Shipping data is only comparable if you queried from a consistent destination. Pin a reference postcode per country and record it on every row.
| Field | Type | Notes |
|---|---|---|
| country_site | enum | BR / MX / AR / CL / CO |
| listing_id | string | Platform-native, country-scoped |
| listing_url | string | Canonical |
| catalog_product_id | string | Where a shared catalogue product exists |
| internal_product_key | string | Your cross-country identity |
| match_confidence | float | For the cross-country join |
| title | text | Verbatim |
| listing_language | enum | Detected, not inherited |
| brand | string | Normalised against a brand dictionary |
| model / part_number | string | Where present |
| category_path_platform | array | Country-specific tree |
| category_path_internal | array | Mapped |
| price | decimal | Locale-aware parse |
| currency | ISO 4217 | Explicit on every row |
| price_original_before_discount | decimal | Where shown |
| fx_rate_used | decimal | Nullable; own timestamp |
| fx_rate_observed_at | timestamp | |
| free_shipping | boolean | |
| shipping_cost | decimal | Nullable |
| shipping_programme | string | Where exposed |
| query_destination_postcode | string | Required for shipping comparability |
| seller_id | string | |
| seller_name | string | |
| seller_type | enum | official_store / third_party / unknown |
| is_authorised | boolean | Joined from your reference list |
| seller_reputation_indicator | string | Platform metric, stored raw |
| seller_location | string | |
| stock_indicator | string/int | Raw plus parsed |
| sold_quantity_indicator | string/int | Where exposed |
| rating_value | decimal | |
| review_count | integer | |
| images | array | URLs plus position index |
| image_hash | array | Perceptual, for cross-country matching |
| listing_status | enum | active / paused / ended / not_found |
| observed_at | timestamp | UTC, observation time |
Assortment questions need category coverage, not keyword coverage. Keyword collection finds what you thought to ask for. Category traversal finds what exists.
A workable approach:
Cross-country category comparison then runs on your mapped internal tree, not the platform trees, which do not align.
Worth being concrete about the output, because the collection effort should be justified by decisions.
| Question | What the data gives you |
|---|---|
| Where do we sit on price, per country? | Within-country price index against matched competitor SKUs; never a blended cross-currency average |
| Who is selling our products without authorisation? | Seller list per country joined to your authorised list, with listing counts and price ranges |
| How deep is this category in each market? | Listing and seller counts per mapped leaf node, plus share of listings by brand |
| What do competitors sell that we don't? | Assortment gap at internal-category level, by matched attribute combination |
| Is our official store being undercut? | Official-store price versus third-party price distribution for the same catalogue product |
| Which market should we enter first? | Category depth, seller concentration and price-band distribution compared across mapped categories |
| Is our content being represented correctly? | Third-party title and image divergence from brand assets |
Note that "share of listings" and "share of search" appear here and "market share" does not. Listings and search positions are observable. Market share is not, from this data, and claiming it would be an estimate dressed as a measurement.
Collection is limited to public-facing listing and category pages. Platform terms and applicable law differ across the five countries and change over time, so treat the compliance position as a per-market review rather than a single regional assumption.
Actowiz Solutions runs Mercado Libre collection as five country pipelines with a shared product identity layer, explicit currency handling and official-store versus third-party seller classification.
We report within-country indexes and observed seller counts rather than blended regional averages, and we hand over the FX and timestamp fields behind every figure.
You can also reach us for all your mobile app scraping, data collection, web scraping, and instant data scraper service requirements!
It can be stored in one dataset, but only with country, currency and observation timestamp on every row, plus an internal product key that joins matched listings across sites with a confidence score. Country catalogues, category trees and listing IDs are separate, so there is no native cross-country product identifier.
Store the observed ARS price and the currency code as recorded, keep any FX rate used as a separate field with its own timestamp and source, and report a within-country price index rather than a converted absolute price. In a high-inflation market a flat nominal price is a real-terms price cut, which only an index makes visible.
The official store price is the brand's intended position, while third-party listings show what the market actually charges. The gap between them, and the identity of the sellers involved, is what brand teams use to find unauthorised distribution, price erosion and content that diverges from brand assets.
Our web scraping expertise is relied on by 4,000+ global enterprises including Zomato, Tata Consumer, Subway, and Expedia — helping them turn web data into growth.
Watch how businesses like yours are using Actowiz data to drive growth.
From Zomato to Expedia — see why global leaders trust us with their data.
Backed by automation, data volume, and enterprise-grade scale — we help businesses from startups to Fortune 500s extract competitive insights across the USA, UK, UAE, and beyond.
We partner with agencies, system integrators, and technology platforms to deliver end-to-end solutions across the retail and digital shelf ecosystem.
Discover how LATAM brands use Mercado Libre market intelligence to analyze product categories, seller performance, pricing, assortment, and marketplace competition.
Explore Restaurant & Menu Data from RestaurantGuru UK to analyze restaurant listings, menus, pricing, ratings, and dining trends.
Global makeup price benchmark 2026: how L'Oreal, Estee Lauder, Maybelline and MAC products are priced across Sephora, Ulta, Amazon and Nykaa.
Whether you're a startup or a Fortune 500 — we have the right plan for your data needs.