Odel
splitbasket mcp

splitbasket mcp

@voicearcUpdated 3w ago

Cached US grocery prices, age disclosed on every row - search, compare across banners, coverage.

Server endpointStreamable HTTPAPI keyProbed

This is the third-party server itself — Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

SplitBasket Grocery Prices — MCP server & data API

Cached US grocery prices for developers and agents, from the price panel behind SplitBasket. Every price carries its observation date; the API tells you what it can answer at a location before you ask, and returns found: false rather than a plausible wrong number.

Connect over MCP

Endpoint: https://api.splitbasket.shop/v1/mcp (Streamable HTTP, bearer auth)

Claude Code:

claude mcp add --transport http splitbasket \
  https://api.splitbasket.shop/v1/mcp \
  --header "Authorization: Bearer sk_live_..."

Any MCP client that speaks Streamable HTTP works the same way — point it at the endpoint with the Authorization header.

Or plain HTTP

curl "https://api.splitbasket.shop/v1/compare_price?q=whole+milk&zip=94110" \
  -H "Authorization: Bearer sk_live_..."

Tools

toolwhat it does
search_productsFind products near a location, with the price each nearby store last showed
get_priceThe cached price of one exact product (banner + product_id) at one place
compare_priceBest match at each banner for one query, ranked on canonical unit price
coverageWhat the API can actually answer at a location — call this first in an unfamiliar area
live_checkFetch from the retailer right now (paid tier); returns a job id + measured ETA
live_check_statusPoll a live_check job

Coverage, honestly

Two layers (measured weekly — 2026-08-09; coverage is the runtime source of truth):

  • National layer — six banners: Walmart, Costco, Whole Foods, Sprouts, Sam's Club, Aldi. 51 states (incl. DC) with at least one priced, 2+ banner comparison in 50, 3+ in 46 (measured 2026-08-11). These stores are priced weekly against a ~43-item staples basket.
  • Deep metros — San Francisco, Fresno, Phoenix, Austin: 7–17 banners with full shopping catalogs.

Prices are cached observations, not live quotes. Exact-match rate by cache age, measured over 275k observation pairs: 99.6% under a day, 93.8% at a week, 79.9% at 30 days. Every row carries price_as_of and price_age_days; pass max_age_days to enforce what your use case tolerates.

What this deliberately is not

  • No basket optimizer. To estimate a basket, call compare_price per item and sum it yourself.
  • No state-level answers where prices measurably don't hold state-wide. Chain-wide for target, smartandfinal, bashas, frys, foodsco — and per-state where a chain is bimodal: Costco in ten measured states, Whole Foods in CA and NV. Measured, not assumed; the demote list tracks the weekly panel.
  • No blended accuracy score. Price staleness is bimodal: a stale price is either exactly right or meaningfully wrong, so we disclose age instead of averaging it away.

Operated by VoiceArc Inc. Not affiliated with or endorsed by any retailer; retailer names identify where a price was observed.