Labsco
retailerapi logo

retailerapi

โ˜… 1

from retailerapi

Unified product data across major US retailers (Walmart, Amazon, eBay, Target, Best Buy, Lowe's, Home Depot): lookups, price history, sellers, reviews.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedAccount requiredNeeds API keys

@retailerapi/mcp

Model Context Protocol server for retailerapi.com โ€” a unified product-data API covering major US retailers. Two tools your AI agent can call directly: product lookups and live offers.

Works with Claude Desktop, Claude Code, Cursor, and any other MCP-compatible client over stdio.

Covered retailers: Walmart, Amazon, eBay, Target, Best Buy, Lowe's, Home Depot. Set include_cross_retailer=true on a product lookup to surface cached cells for every retailer we have for that UPC.

Tools

lookup_product

Resolve any identifier (UPC / EAN / ISBN / GTIN / Amazon ASIN / retailer item_id) into a normalized product summary. Base call (1 token) returns: title, brand, image, current price, identifiers, weight, dimensions, MSRP, description, categories, full price history, aggregated stats, retailer_links (free 'where to find it'), Bucket-1 facts (sold_tag, estimated_sales, is_best_seller, pack_count, hazmat), and computed marketplace fees (referral_fee_usd, wfs_fee_usd). Fees are FREE in base call โ€” Keepa parity.

Set include_cross_retailer=true to add the cross_retailer block โ€” a map keyed by retailer slug of cached per-retailer cells (price, in_stock, Bucket-1 fields) for every retailer we have for this UPC (+2 tokens). Read-only over our cache. Set include_seller_context=true to add live seller-side state (is_restricted, WFS eligibility) on marketplace retailers (+3 tokens).

To force a fresh scrape of a specific retailer (bypassing cache), call with retailer=<slug> and force_refresh=true. This is the only way to force fresh data from the API.

Barcode lookups also return a diagnostic _meta block with the source retailer for each top-level field (including weight_lbs_source and dimensions_source โ€” useful when one retailer's catalog is missing physical specs and another retailer backfills them) and a data_quality_score (0.0โ€“1.0).

Package vs assembled. Retailers that distinguish boxed-for-shipping weight from product weight populate weight_assembled_lbs + weight_package_lbs (and parallel dimensions_assembled + dimensions_package). Top-level weight_lbs / dimensions are the derived "best available" โ€” assembled wins, package fills in, plain weight is the last resort. Retailers exposing only one weight populate weight_lbs and leave the explicit pair as null.

FieldType
identifierstring (required)
identifier_type"UPC" | "EAN" | "ISBN" | "GTIN" | "ASIN" | "item_id" (optional โ€” auto-detect if omitted)
include_cross_retailerboolean (optional โ€” default false) โ€” +2 tokens, read-only
include_seller_contextboolean (optional โ€” default false) โ€” +3 tokens
retailerstring (optional) โ€” anchor to a specific retailer slug
force_refreshboolean (optional โ€” default false) โ€” only valid with retailer; bypass cache + force fresh scrape

Example prompts:

  • "Look up UPC 045496590161 โ€” what's the brand, price, and Walmart referral fee?"
  • "Find UPC 194629116676 across every retailer โ€” who has it cheapest?"
  • "What's the WFS fee on this product? Are there any seller restrictions on Amazon?"

get_offers

List current marketplace sellers on a product, including price, in-stock state, and which seller owns the buy box.

FieldType
item_idstring (required)

Example prompt: "Who has the buy box on item 1689065034 and what's the next-cheapest seller?"

Errors

Tool calls return structured JSON errors instead of crashing the agent:

StatusError codeMeaning
401, 403unauthorizedAPI key invalid or missing scope. Check RETAILERAPI_KEY.
404not_foundProduct or item_id not found.
429rate_limitedQuota or burst limit hit. Includes retry_after_seconds.
5xxupstream_errorBackend issue. Retry shortly.
โ€”missing_api_keyRETAILERAPI_KEY env var not set. Pointer to docs included.

Environment

VariableRequiredDefault
RETAILERAPI_KEYyesโ€”
RETAILERAPI_BASE_URLnohttps://api.retailerapi.com/v1

Develop locally

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

The MCP Inspector (npx @modelcontextprotocol/inspector) is the easiest way to exercise the tools manually.