# MercadoLivre Product Offers Scraper

> MercadoLivre Product Offers Scraper is a paid API for AI agents from api.scrapeforagents.tech, paid per call via x402, $0.04/call, status unknown (last checked 2026-10-02).

Crawls MercadoLivre Brazil offers pages and returns structured product listings with title, price, permalink, and item identifiers.

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/mercado?utm_source=zero.xyz
- Price: $0.04/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/mercadolivre-product-offers-scraper-488952cb
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_-yxOK4eRcXOBqEYphKz2s

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability mercadolivre-product-offers-scraper-488952cb -d '<json body>'
```

Example prompt: Scrape MercadoLivre Brazil for up to 50 smartphone listings under R$2000, sorted by price ascending, across 3 pages — give me the title, price, and link for each offer.

## When to prefer this

Choose this endpoint when you need structured product data from MercadoLivre Brazil specifically — including price filtering in BRL, official store filtering, and sorting — without building your own scraper. Prefer it over generic web scrapers when you need normalized output fields (item ID, catalog product ID, canonical URL) ready for downstream processing.

## Known failure modes

- Empty result set if crawled pages return CAPTCHA or verification challenges — not charged
- No results if priceMin/priceMax filters exclude all scraped items
- Incomplete fields (nulls) if MercadoLivre page structure has changed
- Error if startUrls contains non-offers page types (e.g. product detail or search pages)
- Rate or page limit exceeded if maxPagesPerQuery exceeds 21

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

A JSON object containing a count of matched items and an array of product records, each with title, price in BRL, item ID, site ID, permalink, canonical URL, and catalog product ID. Fields may be null if not found on the page.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "sort": {
   "enum": [
    "relevance",
    "price_asc",
    "price_desc"
   ],
   "type": "string",
   "default": "relevance",
   "description": "Order the collected offers by page order or price. Price sorting applies to the crawled pages."
  },
  "maxItems": {
   "type": "integer",
   "default": 50,
   "minimum": 0,
   "description": "Maximum number of dataset rows. Set to 0 to collect all matches from the page limit."
  },
  "priceMax": {
   "type": "number",
   "minimum": 0,
   "description": "Keep offers at or below this price in Brazilian reais."
  },
  "priceMin": {
   "type": "number",
   "minimum": 0,
   "description": "Keep offers at or above this price in Brazilian reais."
  },
  "startUrls": {
   "type": "array",
   "description": "Public Brazil offers pages to crawl. Use the general offers page or an offers URL with a category filter. Other page types currently return verification challenges."
  },
  "searchQueries": {
   "type": "array",
   "description": "Optional product title terms. Each phrase is matched against the offers pages being crawled; this is not a full marketplace search."
  },
  "maxPagesPerQuery": {
   "type": "integer",
   "default": 3,
   "maximum": 21,
   "minimum": 1,
   "description": "Number of offers pages to scan per URL, up to the site's observed 21-page limit."
  },
  "officialStoresOnly": {
   "type": "boolean",
   "default": false,
   "description": "Keep cards visibly marked as official stores."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "id": null,
    "price": null,
    "title": null,
    "itemId": null,
    "siteId": null,
    "permalink": null,
    "canonicalUrl": null,
    "catalogProductId": null
   }
  ],
  "product": "mercado"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/mercadolivre-product-offers-scraper-488952cb/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.scrapeforagents.tech](https://www.zero.xyz/host/api.scrapeforagents.tech/llms.txt)
