Price truth, with receipts
If your agent answers “is this a good price?”, it needs two things: real price history, and a reason to trust the verdict layered on top. We measured what happens without them — assistants answering price questions from search cleared 60% accuracy exactly never.
What you can read, free, no key
- /api/v1 — the discovery document. Deals, per-product verdicts with numeric evidence, full daily price history by ASIN or slug. Every response carries provenance: observed_at, last_confirmed_at, and an explicit stale flag.
- /api/v1/track-record — the part nobody else publishes: every buy call we ever made, graded against what the price actually did at 30/60/90 days, next to the always-buy baseline on the same rows, misses and weak products included (6,154 graded calls and counting). Check our error rate before trusting our verdicts — that’s the point of it.
- /api/v1/builds — complete setups, not single products: today’s best-value build, our picks by budget, each with the question it answers, live totals, and portafilter-compatibility checks across every piece.
- /llms.txt — today’s deals and builds as clean markdown, refreshed daily.
Or plug it in as tools: the MCP server
/api/mcp is the catalog served over the Model Context Protocol (Streamable HTTP, stateless, no key). Three read-only tools: list_slots (the parts of a setup), search_catalog (by slot, words, price band, brand, on sale), and get_product (sentiment, sizing, the current call, reference price, links), plus one write: watch_price, which emails the user when a product reaches a verified low or a price they name. It is the same tool set our own ✦ Suggest box runs on, so an outside agent sees exactly what ours does. Tool results carry the product URL and the tracked Amazon link, so a recommendation can point straight at the live price.
Connect it
Claude: in claude.ai or Claude Desktop, Settings → Connectors → Add custom connector, paste the URL, choose “No sign-in”. A connector added there appears in Claude Code too, or add it directly:
claude mcp add --transport http espressosteals https://espressosteals.com/api/mcp
Cursor: Add to Cursor (one click), or paste this into ~/.cursor/mcp.json:
{
"mcpServers": {
"espressosteals": {
"url": "https://espressosteals.com/api/mcp"
}
}
}ChatGPT: Settings → Security and login → Developer mode, then add https://espressosteals.com/api/mcp as a connector. The tools run anonymously; nothing to sign in to.
Any other client: Streamable HTTP at the URL above, JSON responses, no session, no OAuth. The server is also published in the official MCP Registry as com.espressosteals/catalog.
Terms
Free for any use with attribution (“price data: espressosteals.com”). No key, no signup. Be reasonable with request rates and cache for 15 minutes. If you’re building something that needs more — bulk exports, the graded-outcome corpus for evals, webhooks — tell us what; that tier gets built for the first real users.