# Mercado Libre API rate limits — an alternative

**Use case:** 

If the official API throttled you: no token, no per-request quota. It reads the pages a visitor sees, and every row carries the same item_id the platform uses, so your API data joins to this. The official API returns stock as a range (RANGO_1_50) and so does the site — exact stock is no longer published anywhere, and this Actor does not invent it.

## Input

```json
{
  "siteId": "MPE",
  "searchQueries": [
    "zapatillas"
  ],
  "categoryUrls": [],
  "startUrls": [],
  "maxItems": 100,
  "scrapeDetail": false,
  "allowPagination": true,
  "respectRobots": false,
  "categorySlicing": true,
  "maxSlices": 20,
  "maxConcurrency": 2,
  "useCache": true
}
```

## Output

```json
{
  "item_id": {
    "label": "Item id",
    "format": "string"
  },
  "title": {
    "label": "Title",
    "format": "string"
  },
  "price": {
    "label": "Price",
    "format": "number"
  },
  "currency": {
    "label": "Currency",
    "format": "string"
  },
  "currency_symbol": {
    "label": "Currency symbol",
    "format": "string"
  },
  "price_original": {
    "label": "Price original",
    "format": "number"
  },
  "url": {
    "label": "Url",
    "format": "string"
  },
  "thumbnail": {
    "label": "Thumbnail",
    "format": "string"
  },
  "seller_name": {
    "label": "Seller name",
    "format": "string"
  },
  "condition": {
    "label": "Condition",
    "format": "string"
  },
  "shipping_text": {
    "label": "Shipping text",
    "format": "string"
  },
  "installments_text": {
    "label": "Installments text",
    "format": "string"
  },
  "is_catalog": {
    "label": "Is catalog",
    "format": "boolean"
  },
  "link_kind": {
    "label": "Link kind",
    "format": "string"
  },
  "position": {
    "label": "Position",
    "format": "number"
  },
  "query": {
    "label": "Query",
    "format": "string"
  },
  "site_id": {
    "label": "Site id",
    "format": "string"
  },
  "scraped_at": {
    "label": "Scraped at",
    "format": "string"
  },
  "from_cache": {
    "label": "From cache",
    "format": "boolean"
  },
  "data_age_hours": {
    "label": "Data age hours",
    "format": "string"
  },
  "source_url": {
    "label": "Source url",
    "format": "string"
  },
  "detail_scraped": {
    "label": "Detail scraped",
    "format": "boolean"
  }
}
```

## About this Actor

This example demonstrates how to use [Mercado Libre Scraper & API — 17 Countries](https://apify.com/oswaldocarabano/mercadolibre-data-actor.md) with a specific input configuration. Visit the [Actor detail page](https://apify.com/oswaldocarabano/mercadolibre-data-actor.md) to learn more, explore other use cases, and run it yourself.


## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
This Task's input is already configured above — use it as-is rather than inventing a new one.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For full API examples (JavaScript, Python, CLI, MCP, OpenAPI), see this Task's Actor page: https://apify.com/oswaldocarabano/mercadolibre-data-actor.md

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).
