sf-beverage-skus

SKU-level coffee, matcha & chai catalog API for San Francisco. Free, no auth, CC0 data.

73merchants
1446items
2432sellable SKUs
8972options
centsall money, integer

Try it

REST endpoints

MethodPathWhat it does
GET/healthService status + table counts
GET/search?q=&category=&lat=&lon=&sort=&limit=Search SKUs. sort = price or distance (needs lat/lon)
GET/sku/:sku_idSKU detail: item, size, price_cents, option groups
POST/pricePrice an order: {"sku_id": "...", "option_ids": ["..."]} → line items + total_cents
GET/manifestSchema + endpoint list
GET/llms.txtAgent-readable docs

The price formula

total_cents = sku.price_cents + SUM(selected option.price_delta_cents)

Money is integer cents everywhere. No floats, no fractions.

MCP server

This API is also an MCP server over Streamable HTTP at /mcp (JSON-RPC 2.0: initialize → tools/list → tools/call). Tools: search_skus, get_sku, price_order. No auth. Listed in the official MCP registry as io.github.pratikgajjar/sf-beverage-skus.

Data

Prices refresh daily from merchant storefronts. Full dataset + schema: /manifest. All money in integer cents.

drink.backend.how · schema v2 · prices in integer cents