Ordering.Tools Public API
Read every venue's menu and prepare orders programmatically. Designed for AI agents, partner integrations, and aggregators — no API key required for read access.
Overview
Every active venue on Ordering.Tools is automatically exposed via a structured public API. The read endpoints are unauthenticated and cached at the edge. The order endpoint is opt-in per venue, requires an API key, and always hands the customer back a checkout URL — we never auto-charge cards via AI agents.
Read Access (no key)
Anyone — including ChatGPT, Claude, Perplexity, and Gemini — can fetch a venue's profile and full menu without authentication.
Includes
- ✓Categories, products, prices, variants, modifiers
- ✓Allergens (14 EU allergens) and dietary flags (vegan, vegetarian, gluten-free)
- ✓Translations across all enabled languages in a single response
- ✓Hours, cuisine, supported order types, social links
Order Handoff (opt-in)
Venues that opt in receive a structured ordering endpoint. The endpoint validates the cart server-side and returns a checkout URL — never a charged card.
How it works
- ✓Server-side validation of products, variants, modifiers, schedule, and order type
- ✓Prices computed from the database; the payload's price hints are ignored
- ✓Returns a checkout URL the customer visits to confirm and pay
- ✓Per-key rate limits, abuse logging, and full audit trail
AI Assistant Integrations
ChatGPT App
Search 'Ordering.Tools' in the GPT Store. Customers can find a venue, browse the menu, and prepare an order — all inside ChatGPT. Final confirmation happens on the venue's checkout page.
Claude MCP Server
Install with claude mcp add @ordering-tools/mcp. Exposes findVenue, getMenu, and prepareOrder tools. Works with Claude Desktop, Claude Code, and any MCP-compatible client.
Any LLM Agent
Use the OpenAPI 3.1 spec below to generate a typed client in any language. The spec covers all read endpoints and the ordering endpoint.
Quickstart
1. Find a venue
Visit /llms.txt to see every active venue with its public API URL, or open a venue's page and check the canonical link header for its JSON endpoint.
2. Fetch the menu
GET /api/public/v1/venues/{slug}/menu returns the full structured menu. Read the response, pick items, build a cart.
curl https://www.ordering.tools/api/public/v1/venues/london-pub/menu3. Hand off the order
POST /api/public/v1/venues/{slug}/order with the cart, customer info, and order type. Receive a checkout URL. Send the customer there to complete the purchase.
POST https://www.ordering.tools/api/public/v1/venues/london-pub/order
X-API-Key: <your-key>
Content-Type: application/json
{
"items": [{ "productId": 42, "quantity": 1 }],
"orderType": "PICKUP",
"customer": { "name": "...", "phone": "..." }
}OpenAPI 3.1 Specification
The full spec covers every endpoint, request schema, response schema, and error code. Use it to auto-generate clients in TypeScript, Python, Go, or any other language.
Need a custom integration?
If you're building a partner integration, an aggregator, or an AI agent and need higher rate limits or custom endpoints, get in touch.
Contact Us