Mercado Libre
Mercado Libre Best Sellers API
The ranked top 20 best sellers in a Mercado Libre category in Mexico, Argentina or Colombia, with price, list price and discount, installments, rating, units sold as a lower bound, shipping flags and seller where shown. Not available for Brazil. Costs 2 credits per request.
Authorizations
AuthorizationstringheaderrequiredBearer authentication header of the form Bearer <token>, where <token> is your Scavio API key (e.g. Bearer sk_live_your_key).
Body
application/jsoncountryenum<string>requiredThe Mercado Libre site. Not available for Brazil.
Example: mx
mx— Mexico (mercadolibre.com.mx), prices in MXN.ar— Argentina (mercadolibre.com.ar), prices in ARS.co— Colombia (mercadolibre.com.co), prices in COP.
category_idstringrequiredCategory id, as returned in category_id or category_path by Search, or category_id by Product. Its prefix must match the country: MLM Mexico, MLA Argentina, MCO Colombia.
Example: MLM1055
Notes
Top 20 per category. Each call returns the ranked list Mercado Libre publishes for one category, rank 1 to 20, with the category name and path. Run one call per category; take the ids from Search (category_id, category_path) or Product.
Mexico, Argentina and Colombia. Best sellers are not available for Brazil (Mercado Livre), and Chile is not supported. The category prefix must match the country, so MLA1055 with country: "mx" is a 400.
sold_quantity_minis a lower bound (10000 for "+10mil vendidos"), andhighlightcarries the rank badge as shown.- Rows share the Search row shape;
category_idanddomain_idare null on rows because the list itself is the category. - An unknown category returns 404 and is billed. Temporary failures (502/503) are never billed.
Request
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
res = client.mercadolibre.best_sellers("MLM1055", country="mx")
data = res["data"]
print(data["category_name"])
for r in data["results"]:
print(r["rank"], r["title"], r["price"], r["currency"], r["sold_label"])Response