API

MercadoLibre API: productos, precios y vehículos en JSON

MercadoLibre sí tiene una API pública, y conviene decirlo: existe y devuelve datos de mercado. Lo que pide a cambio es registrar una aplicación y un token OAuth en cada llamada, y el stock viene agrupado. Esta API resuelve lo mismo sin ese trámite, y añade algo que la oficial no expone igual de directo: la búsqueda de vehículos con el precio tal y como se anunció.

Endpoints

endpointQué devuelveObligatorios
searchBúsqueda por palabra clave en el sitio de un país: los resultados en el mismo orden que ve el comprador.query
product_detailLa ficha completa a partir del item id, del id de producto de catálogo o de la URL.item_id
vertical_searchBúsqueda de vehículos. Devuelve el precio anunciado en USD o en moneda local tal y como aparece, además de la financiación que muestra el anuncio.todos opcionales
vertical_listingLa ficha completa de un vehículo desde su URL exacta, con el precio anunciado original.url
dealsLas 'Ofertas del día' en vivo: tarjetas con el precio actual y el anterior.todos opcionales
category_itemsLos productos de una categoría con precio actual, anterior y descuento.category_id
categoryEl árbol de categorías: nombre, número de artículos y la ruta completa.category_id
reviewsLas reseñas de un producto de catálogo, con texto completo, puntuación y fecha, paginadas.product_id
suggestEl autocompletado de búsqueda: lo que MercadoLibre sugiere mientras el comprador escribe.query

Cada llamada se cobra en créditos. Las llamadas fallidas y bloqueadas son gratuitas.

Ejemplo que funciona

En vehículos el precio importa más de lo que parece: muchos anuncios se publican en dólares y la página los muestra convertidos. `vertical_search` devuelve el valor anunciado original, que es el que hay que comparar.

Petición
curl -X POST https://api.reefapi.com/mercadolibre/v1/search \
  -H "x-api-key: TU_CLAVE" \
  -H "content-type: application/json" \
  -d '{"query": "notebook", "country": "ar"}'
Respuesta (recortada)
{
  "ok": true,
  "data": {
    "results": [
      {
        "item_id": "MLA...",
        "title": "...",
        "price": 1250000,
        "currency": "ARS",
        "sold_quantity": 150
      }
    ]
  },
  "meta": { "record_count": 50, "cache_hit": false, "mode": "live" }
}

En lugar de tu propio scraper de MercadoLibre

Un scraper propio de MercadoLibre funciona el primer día. Lo complicado llega después: cuando cambia la estructura de las tarjetas, el parser devuelve una lista vacía en vez de un error, y en recorridos largos salta la protección anti-bot a mitad de camino.

Hay además una trampa específica de este sitio: cada país es una tienda distinta, con su moneda y su catálogo. Un scraper que no fija el país mezcla mercados y produce comparaciones que parecen válidas y no lo son.

Para una extracción puntual tu propio script sale más barato y lo decimos claro. Para un seguimiento que deba funcionar todos los días, lo caro no es el código sino las averías que nadie ve.

Límites y notas honestas

  • No es la API oficial de MercadoLibre y no tenemos ningún acuerdo con MercadoLibre. Su API pública existe; lo que evita esta es el registro de aplicación y el token.
  • Cada país es un sitio independiente con su propia moneda. Sin indicar país obtienes el valor por defecto, no un resultado 'global'.
  • En vehículos devolvemos el precio anunciado original; si el anuncio no publica precio, el campo viene vacío.
  • Sin caché: cada llamada refleja el estado en ese momento.