MercadoLibre APImercadolibre.cl ↗
Browse MercadoLibre Chile categories, subcategories, featured products, and live deals via 3 endpoints. Filter by category, paginate up to ~1000 deal results.
What is the MercadoLibre API?
The MercadoLibre Chile API gives developers access to the platform's full category tree and active deals through 3 endpoints. get_deals returns up to 48 deal products per page — including prices, discounts, seller info, ratings, and shipping flags — while get_category exposes the complete subcategory hierarchy with item counts and breadcrumb paths for any MLC category ID.
curl -X GET 'https://api.parse.bot/scraper/af9b2125-dde7-4fe4-a0aa-8bb9a4b1bb82/get_category?category_id=MLC1648' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace mercadolibre-cl-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""MercadoLibre Chile: browse categories and discover deals."""
from parse_apis.mercadolibre_chile_api import MercadoLibre, CategoryNotFound
client = MercadoLibre()
# Fetch a top-level category and inspect its children.
cat = client.category(id="MLC1648")
cat.refresh()
print(f"Category: {cat.name}, items: {cat.total_items}")
for child in cat.children_categories[:3]:
print(f" Sub: {child.name} ({child.total_items} items)")
# List featured products on the category's landing page.
for product in cat.products.list(limit=3):
print(f" Product: {product.title[:50]} — ${product.current_price} {product.currency}")
# Browse current deals across all categories.
for deal in client.deals.list(limit=5):
print(f"Deal: {deal.title[:50]} — ${deal.current_price} (was ${deal.original_price}) {deal.discount}")
# Filter deals by category.
first_deal = client.deals.list(category_id="MLC1051", limit=1).first()
if first_deal:
print(f"Phone deal: {first_deal.title}, seller: {first_deal.seller}, rating: {first_deal.rating}")
# Handle a missing category gracefully.
try:
bad = client.category(id="MLC9999999")
bad.refresh()
except CategoryNotFound as exc:
print(f"Not found: category_id={exc.category_id}")
print("Exercised: category.refresh / products.list / deals.list / CategoryNotFound")
Get category details including name, item count, path from root, and all child subcategories. Use this to navigate the category tree starting from root categories. Returns the full hierarchy path and all immediate children with their item counts.
| Param | Type | Description |
|---|---|---|
| category_idrequired | string | MercadoLibre category ID. Format: MLC followed by digits (e.g. MLC1648 for Computación, MLC1051 for Celulares y Telefonía, MLC1430 for Ropa y Accesorios). |
{
"type": "object",
"fields": {
"id": "category ID string",
"name": "category display name",
"picture": "URL to category icon image",
"permalink": "URL to category landing page on MercadoLibre",
"total_items": "total number of items in this category",
"path_from_root": "array of ancestor categories from root to this category, each with id and name",
"children_categories": "array of direct child subcategories, each with id, name, and total_items"
}
}About the MercadoLibre API
Category Navigation
get_category accepts a category_id in MLC-prefixed format (e.g. MLC1648 for Computación) and returns the category's name, total_items, picture, permalink, and two key arrays: path_from_root (the breadcrumb trail from the top of the taxonomy down to this node) and children_categories (each child's id, name, and total_items). Starting from a root category, you can recursively walk the entire MercadoLibre Chile taxonomy by chaining calls on each child's id.
Category Product Listings
get_category_products returns the curated, featured products shown on a category landing page for a given category_id. The response includes a products array alongside category_id, category_name, and total_products. Each product object carries title, price, discount, and URL data. Depending on the category, the array typically holds between 20 and 60 items — these are editorially promoted listings rather than exhaustive search results.
Deals and Offers
get_deals is the broadest endpoint: it returns current discount offers with optional category_id filtering and page-based pagination. Each page delivers up to 48 products, and the paging object in the response exposes limit, offset, total, and primary_results so you can calculate how many pages exist. The endpoint supports up to roughly 1,000 primary results total. Each product in the products array includes id, title, original and sale prices, discount percentage, seller details, aggregate rating, and shipping metadata.
The MercadoLibre API is a managed, monitored endpoint for mercadolibre.cl — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when mercadolibre.cl changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official mercadolibre.cl API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Track price drops and discount percentages on electronics deals filtered by category ID such as MLC1648
- Build a category-aware price comparison tool by walking the full subcategory tree via get_category
- Monitor total_items counts across subcategories to identify fast-growing or shrinking product segments
- Aggregate featured product listings per category to power a deal-discovery feed using get_category_products
- Paginate through up to ~1000 deal results with get_deals to build a bulk dataset of current offers
- Extract seller and rating fields from deal products to analyze seller reputation distribution across categories
- Map the MercadoLibre Chile taxonomy for catalog normalization using path_from_root breadcrumbs
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.