AI agents guess about the physical world. Titrate gives them ground truth.
Language models know what businesses exist. They have no idea what's happening at them right now. The result is hallucination, hedging, or silence — none of which is useful.
Unstructured text goes in. Structured, confidence-scored business state comes out. Every field is either grounded in real data, or explicitly no_data.
Raw updates arrive from multiple sources — staff messages, POS transaction webhooks, social signals. A GPT-4o-mini extraction pipeline parses each input into structured fields.
Up to 10 recent updates are composed into a single business state. Each field carries a confidence score that decays with staleness, and a source attribution. Anomalies and specials are deduplicated and time-expired.
AI agents query /v1/query with natural language, category, slug, or geolocation. The response is a structured JSON object agents can cite accurately — with no hallucination risk.
The response contract is what makes Titrate useful for agents. Every field either returns a live value with metadata, or explicitly says no_data. No inference. No guessing.
{ "business": "the-breakfast-club-exmouth", "name": "The Breakfast Club", "is_open": { "value": true, "confidence": 0.94, "source": "staff_update", "age_seconds": 240 }, "busyness": { "value": "moderate", "score": 0.61, "confidence": 0.78, "age_seconds": 480 }, "wait_time_mins": { "value": 10, "confidence": 0.71, "age_seconds": 480 }, "anomalies": [{ "type": "payment_issue", "description": "Card machine down, cash only", "reported_at": "2026-04-18T11:22:00Z" }], "specials": [{ "description": "Bottomless brunch until 2pm" }], "data_quality": { "overall_confidence": 0.81, "fields_with_data": 5, "fields_no_data": 0 } }
REST API with API key authentication, two-tier rate limiting, and an MCP server for native Claude integration. Documentation in progress.
Search by slug, category, semantic query, or lat/lng radius. Returns structured state with confidence scores and staleness for every field.
Send raw text ("pretty busy, about 20 min wait, sold out of the specials"). The ingestion pipeline extracts structured fields and composes them into the business state.
Retrieve the current composed state for a specific business by slug. Fastest path for known business integrations.
Connect Claude directly to Titrate via the MCP server. Agents can call query_titrate as a native tool — no API wrangling required.
Grey = planned. Live data currently from staff-reported updates and synthetic demo data across 150+ London businesses.
The live map shows 150+ London businesses with real-time state updates. Pins pulse green when data is fresh, amber as it ages, grey when stale. Click any pin for the full state breakdown — busyness, wait times, anomalies, and the data quality score agents use to calibrate their confidence.
Open the Live Map →Beta access — passcode required. Request access →