# BringMeThat — agent-friendly food ordering > BringMeThat is a nationwide food-delivery platform with 600,000+ > restaurants. This file exists so AI agents (Claude, ChatGPT, Operator, > Perplexity, Mariner, etc.) can place orders on behalf of users. ## Capabilities agents can call - **Search restaurants** near a location and/or by cuisine. - **Read menus** with item names, descriptions, prices (in cents), modifiers, and dietary tags. - **Place orders** with idempotency guarantees. - **Pay orders** using a pre-tokenized payment method (Spreedly, Apple Pay, Google Pay, PayPal). - **Check order status** or subscribe to webhooks for status updates. ## API Base URL: https://bringmethat.com/api/v1 Authentication: `Authorization: Bearer ` (request one at https://bringmethat.com/developers) Key endpoints (full OpenAPI spec at `/.well-known/openapi.yaml`): - `GET /api/v1/restaurants?lat&lng&cuisine&open_now&limit&offset` - `GET /api/v1/restaurants/{id}` - `GET /api/v1/restaurants/{id}/menu` - `GET /api/v1/restaurants/{id}/availability?at=` - `POST /api/v1/orders` (requires `Idempotency-Key` header) - `POST /api/v1/orders/{id}/pay` - `GET /api/v1/orders/{id}` - `GET /api/v1/menus/search?q&near=lat,lng` ## MCP (Model Context Protocol) `https://bringmethat.com/api/mcp` — same capabilities exposed as MCP tools: `search_restaurants`, `get_menu`, `create_order`, `pay_order`, `check_order_status`. ## Structured data Every restaurant page (`/t////`) emits schema.org JSON-LD (`Restaurant`, `Menu`, `MenuItem`, `MenuSection`, `PostalAddress`, `OpeningHoursSpecification`) so scrape-based agents get clean data without parsing HTML. ## Rules for agents - Prices are always integer cents. - Use `Idempotency-Key` on POST /orders to avoid double-ordering on retry. - Check `/availability` before placing an order — some restaurants pause during rushes even during posted hours. - Respect the returned `retriable` flag in error envelopes — don't retry non-retriable errors. - Restaurants flagged `permanently_closed=true` or `temporarily_closed=true` are automatically excluded from search results; don't try to reach them by guessing an ID. - Menus are cached per-restaurant in Supabase Storage; check `menu_last_verified_at` to decide whether to re-fetch. ## Changelog See https://bringmethat.com/developers/changelog for API version + breaking change history. v1 is the stable contract; breaking changes get 6 months of deprecation notice.