retailerapi

Dados unificados de produtos das principais varejistas dos EUA (Walmart, Amazon, eBay, Target, Best Buy, Lowe's, Home Depot): consultas, histórico de preços, vendedores, avaliações.

Documentação

@retailerapi/mcp

Servidor de Protocolo de Contexto de Modelo (MCP) para retailerapi.com — uma API unificada de dados de produtos que cobre as principais varejistas dos EUA. Duas ferramentas que seu agente de IA pode chamar diretamente: consultas de produtos e ofertas ao vivo.

Funciona com Claude Desktop, Claude Code, Cursor e qualquer outro cliente compatível com MCP via stdio.

Varejistas cobertos: Walmart, Amazon, eBay, Target, Best Buy, Lowe's, Home Depot. Defina include_cross_retailer=true em uma consulta de produto para exibir células em cache de cada varejista que temos para esse UPC.

Início rápido

1. Obtenha uma chave de API

Entre em app.retailerapi.com e crie uma chave na página API Keys. As chaves têm o formato rk_live_…. O plano gratuito oferece 1.000 consultas/mês — sem cartão de crédito.

2. Adicione o servidor ao seu cliente MCP

Claude Desktop

Edite claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%\Claude\claude_desktop_config.json) e adicione:

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

Reinicie o Claude Desktop. As ferramentas do retailerapi aparecerão no seletor de ferramentas.

Claude Code

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

Cursor

Adicione em ~/.cursor/mcp.json (ou no .cursor/mcp.json de nível de projeto):

{
  "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

O processo fala MCP via stdio (JSON-RPC delimitado por nova linha em stdin/stdout). Os logs vão para stderr.

Ferramentas

lookup_product

Resolva qualquer identificador (UPC / EAN / ISBN / GTIN / ASIN da Amazon / item_id do varejista) em um resumo normalizado do produto. Chamada base (1 token) retorna: título, marca, imagem, preço atual, identificadores, peso, dimensões, preço sugerido, descrição, categorias, histórico completo de preços, estatísticas agregadas, retailer_links (grátis 'onde encontrar'), fatos do Bucket-1 (sold_tag, estimated_sales, is_best_seller, pack_count, hazmat) e taxas de marketplace calculadas (referral_fee_usd, wfs_fee_usd). As taxas são GRÁTIS na chamada base — paridade com Keepa.

Defina include_cross_retailer=true para adicionar o bloco cross_retailer — um mapa chaveado por slug do varejista com células em cache por varejista (preço, in_stock, campos do Bucket-1) para cada varejista que temos para este UPC (+2 tokens). Somente leitura sobre nosso cache. Defina include_seller_context=true para adicionar estado ao vivo do lado do vendedor (is_restricted, elegibilidade WFS) em varejistas de marketplace (+3 tokens).

Para forçar uma nova coleta de um varejista específico (ignorando o cache), chame com retailer=<slug> e force_refresh=true. Esta é a única forma de forçar dados atualizados da API.

Consultas de código de barras também retornam um bloco de diagnóstico _meta com o varejista de origem para cada campo de nível superior (incluindo weight_lbs_source e dimensions_source — útil quando o catálogo de um varejista não tem especificações físicas e outro varejista as preenche) e um data_quality_score (0.0–1.0).

Pacote vs. montado. Varejistas que distinguem peso embalado para envio do peso do produto preenchem weight_assembled_lbs + weight_package_lbs (e os paralelos dimensions_assembled + dimensions_package). Os weight_lbs / dimensions de nível superior são os derivados "melhor disponível" — montado vence, pacote preenche, peso simples é o último recurso. Varejistas que expõem apenas um peso preenchem weight_lbs e deixam o par explícito como null.

CampoTipo
identifierstring (obrigatório)
identifier_type"UPC" | "EAN" | "ISBN" | "GTIN" | "ASIN" | "item_id" (opcional — detecção automática se omitido)
include_cross_retailerboolean (opcional — padrão false) — +2 tokens, somente leitura
include_seller_contextboolean (opcional — padrão false) — +3 tokens
retailerstring (opcional) — âncora para um slug específico de varejista
force_refreshboolean (opcional — padrão false) — somente válido com retailer; ignora cache + força nova coleta

Exemplos de prompts:

  • "Consulte o UPC 045496590161 — qual é a marca, o preço e a taxa de referência do Walmart?"
  • "Encontre o UPC 194629116676 em todos os varejistas — quem tem o preço mais barato?"
  • "Qual é a taxa WFS deste produto? Há restrições de vendedor na Amazon?"

get_offers

Liste os vendedores atuais do marketplace em um produto, incluindo preço, estado de estoque e qual vendedor possui a buy box.

CampoTipo
item_idstring (obrigatório)

Exemplo de prompt: "Quem tem a buy box no item 1689065034 e qual é o próximo vendedor mais barato?"

Erros

As chamadas de ferramenta retornam erros JSON estruturados em vez de travar o agente:

StatusCódigo de erroSignificado
401, 403unauthorizedChave de API inválida ou escopo ausente. Verifique RETAILERAPI_KEY.
404not_foundProduto ou item_id não encontrado.
429rate_limitedLimite de cota ou rajada atingido. Inclui retry_after_seconds.
5xxupstream_errorProblema no backend. Tente novamente em breve.
—missing_api_keyVariável de ambiente RETAILERAPI_KEY não definida. Ponteiro para a documentação incluído.

Ambiente

VariávelObrigatóriaPadrão
RETAILERAPI_KEYsim—
RETAILERAPI_BASE_URLnãohttps://api.retailerapi.com/v1

Desenvolver localmente

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

O MCP Inspector (npx @modelcontextprotocol/inspector) é a maneira mais fácil de exercitar as ferramentas manualmente.

Licença

MIT