SKU-level coffee, matcha & chai catalog API for San Francisco. Free, no auth, CC0 data.
| Method | Path | What it does |
|---|---|---|
| GET | /health | Service status + table counts |
| GET | /search?q=&category=&lat=&lon=&sort=&limit= | Search SKUs. sort = price or distance (needs lat/lon) |
| GET | /sku/:sku_id | SKU detail: item, size, price_cents, option groups |
| POST | /price | Price an order: {"sku_id": "...", "option_ids": ["..."]} → line items + total_cents |
| GET | /manifest | Schema + endpoint list |
| GET | /llms.txt | Agent-readable docs |
total_cents = sku.price_cents + SUM(selected option.price_delta_cents)
Money is integer cents everywhere. No floats, no fractions.
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.
Prices refresh daily from merchant storefronts. Full dataset + schema: /manifest. All money in integer cents.