streamable-httpupdated 26d ago
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.
What can you do with splitbasket prices?
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.
- API docs & quickstart: https://splitbasket.shop/developers
- Terms: https://splitbasket.shop/api-terms
- Get a key (free, closed beta): email team@splitbasket.shop — one line about what you're building; keys are issued by a human, usually within a day.
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
| tool | what it does |
|---|---|
search_products |
Find products near a location, with the price each nearby store last showed |
get_price |
The cached price of one exact product (banner + product_id) at one place |
compare_price |
Best match at each banner for one query, ranked on canonical unit price |
coverage |
What the API can actually answer at a location — call this first in an unfamiliar area |
live_check |
Fetch from the retailer right now (paid tier); returns a job id + measured ETA |
live_check_status |
Poll 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_priceper 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.
Install
Add splitbasket prices to your client. Pick the one you use.
claude mcp add --transport http splitbasket-prices https://api.splitbasket.shop/v1/mcpcodex mcp add splitbasket-prices --url https://api.splitbasket.shop/v1/mcp{
"mcpServers": {
"splitbasket-prices": {
"url": "https://api.splitbasket.shop/v1/mcp"
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"servers": {
"splitbasket-prices": {
"type": "http",
"url": "https://api.splitbasket.shop/v1/mcp"
}
}
}Add to `.vscode/mcp.json` in your workspace.
{
"mcpServers": {
"splitbasket-prices": {
"url": "https://api.splitbasket.shop/v1/mcp"
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"splitbasket-prices": {
"serverUrl": "https://api.splitbasket.shop/v1/mcp"
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
5 tools
splitbasket prices exposes 5 tools to a connected agent.
- search_products
- Find products near a location, with the price each nearby store last showed
- get_price
- The cached price of one exact product (banner + product_id) at one place
- compare_price
- Best match at each banner for one query, ranked on canonical unit price
- live_check
- Fetch from the retailer right now (paid tier); returns a job id + measured ETA
- live_check_status
- Poll a live_check job
Score
60 / 100
Good
- Documentation17/25
- Maintenance19/25
- Trust6/20
- Capability6/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 19 days ago
- Has a release history
- Repository is not archived
- No licence detected
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 5 tool(s) documented
- Provides prompt templates
- Provides resources
- 6 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 1.0.0Latest | Aug 9, 2026 |