retailerapi

Datos unificados de productos en los principales minoristas de EE. UU. (Walmart, Amazon, eBay, Target, Best Buy, Lowe's, Home Depot): búsquedas, historial de precios, vendedores, reseñas.

Documentación

@retailerapi/mcp

Servidor de Protocolo de Contexto de Modelo para retailerapi.com — una API unificada de datos de productos que cubre los principales minoristas de EE. UU. Dos herramientas que tu agente de IA puede llamar directamente: búsquedas de productos y ofertas en vivo.

Funciona con Claude Desktop, Claude Code, Cursor y cualquier otro cliente compatible con MCP a través de stdio.

Minoristas cubiertos: Walmart, Amazon, eBay, Target, Best Buy, Lowe's, Home Depot. Establece include_cross_retailer=true en una búsqueda de producto para mostrar celdas en caché para cada minorista que tengamos para ese UPC.

Inicio rápido

1. Obtén una clave de API

Inicia sesión en app.retailerapi.com y crea una clave en la página API Keys. Las claves se ven como rk_live_…. El plan gratuito incluye 1,000 búsquedas al mes — sin tarjeta.

2. Añade el servidor a tu cliente MCP

Claude Desktop

Edita claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%\Claude\claude_desktop_config.json) y añade:

{
  "mcpServers": {
    "retailerapi": {
      "command": "npx",
      "args": ["-y", "@retailerapi/mcp"],
      "env": {
        "RETAILERAPI_KEY": "rk_live_your_key_here"
      }
    }
  }
}

Reinicia Claude Desktop. Las herramientas de retailerapi aparecerán en el selector de herramientas.

Claude Code

claude mcp add retailerapi npx -y @retailerapi/mcp \
  --env RETAILERAPI_KEY=rk_live_your_key_here

Cursor

Añade a ~/.cursor/mcp.json (o al .cursor/mcp.json a nivel de proyecto):

{
  "mcpServers": {
    "retailerapi": {
      "command": "npx",
      "args": ["-y", "@retailerapi/mcp"],
      "env": {
        "RETAILERAPI_KEY": "rk_live_your_key_here"
      }
    }
  }
}

stdio genérico

RETAILERAPI_KEY=rk_live_your_key_here npx @retailerapi/mcp

El proceso habla MCP a través de stdio (JSON-RPC delimitado por nuevas líneas en stdin/stdout). Los registros van a stderr.

Herramientas

lookup_product

Resuelve cualquier identificador (UPC / EAN / ISBN / GTIN / ASIN de Amazon / item_id de minorista) en un resumen de producto normalizado. Llamada base (1 token) devuelve: título, marca, imagen, precio actual, identificadores, peso, dimensiones, MSRP, descripción, categorías, historial de precios completo, estadísticas agregadas, retailer_links (gratis 'dónde encontrarlo'), hechos de Bucket-1 (sold_tag, estimated_sales, is_best_seller, pack_count, hazmat) y tarifas de marketplace calculadas (referral_fee_usd, wfs_fee_usd). Las tarifas son GRATIS en la llamada base — paridad con Keepa.

Establece include_cross_retailer=true para añadir el bloque cross_retailer — un mapa claveado por slug de minorista de celdas en caché por minorista (price, in_stock, campos de Bucket-1) para cada minorista que tengamos para este UPC (+2 tokens). Solo lectura sobre nuestra caché. Establece include_seller_context=true para añadir estado en vivo del lado del vendedor (is_restricted, elegibilidad WFS) en minoristas de marketplace (+3 tokens).

Para forzar un raspado fresco de un minorista específico (omitiendo la caché), llama con retailer=<slug> y force_refresh=true. Esta es la única forma de forzar datos frescos desde la API.

Las búsquedas por código de barras también devuelven un bloque de diagnóstico _meta con el minorista de origen para cada campo de nivel superior (incluyendo weight_lbs_source y dimensions_source — útil cuando el catálogo de un minorista carece de especificaciones físicas y otro minorista las completa) y un data_quality_score (0.0–1.0).

Paquete vs ensamblado. Los minoristas que distinguen el peso empaquetado para envío del peso del producto completan weight_assembled_lbs + weight_package_lbs (y los paralelos dimensions_assembled + dimensions_package). Los weight_lbs / dimensions de nivel superior son el "mejor disponible" derivado — el ensamblado gana, el paquete rellena, el peso simple es el último recurso. Los minoristas que exponen solo un peso completan weight_lbs y dejan el par explícito como null.

CampoTipo
identifiercadena (obligatorio)
identifier_type"UPC" | "EAN" | "ISBN" | "GTIN" | "ASIN" | "item_id" (opcional — auto-detect si se omite)
include_cross_retailerbooleano (opcional — por defecto false) — +2 tokens, solo lectura
include_seller_contextbooleano (opcional — por defecto false) — +3 tokens
retailercadena (opcional) — ancla a un slug de minorista específico
force_refreshbooleano (opcional — por defecto false) — solo válido con retailer; omitir caché + forzar raspado fresco

Ejemplos de prompts:

  • "Busca el UPC 045496590161 — ¿cuál es la marca, el precio y la tarifa de referencia de Walmart?"
  • "Encuentra el UPC 194629116676 en todos los minoristas — ¿quién lo tiene más barato?"
  • "¿Cuál es la tarifa WFS de este producto? ¿Hay restricciones de vendedor en Amazon?"

get_offers

Lista los vendedores actuales del marketplace en un producto, incluyendo precio, estado de disponibilidad y qué vendedor posee la caja de compra.

CampoTipo
item_idcadena (obligatorio)

Ejemplo de prompt: "¿Quién tiene la caja de compra en el artículo 1689065034 y cuál es el siguiente vendedor más barato?"

Errores

Las llamadas a herramientas devuelven errores JSON estructurados en lugar de bloquear al agente:

EstadoCódigo de errorSignificado
401, 403unauthorizedClave de API inválida o sin alcance. Revisa RETAILERAPI_KEY.
404not_foundProducto o item_id no encontrado.
429rate_limitedLímite de cuota o ráfaga alcanzado. Incluye retry_after_seconds.
5xxupstream_errorProblema de backend. Reintenta en breve.
missing_api_keyVariable de entorno RETAILERAPI_KEY no establecida. Se incluye puntero a la documentación.

Entorno

VariableRequeridaPredeterminado
RETAILERAPI_KEY
RETAILERAPI_BASE_URLnohttps://api.retailerapi.com/v1

Desarrollo local

pnpm install
pnpm --filter @retailerapi/mcp build
RETAILERAPI_KEY=rk_live_… node packages/mcp/dist/index.js

El Inspector MCP (npx @modelcontextprotocol/inspector) es la forma más fácil de probar las herramientas manualmente.

Licencia

MIT