Search restaurants
search_restaurantsSearch the public directory (opt-in venues only) by location, opening status, cuisine, dietary options, declared attributes, ordering channel, declared price level and menu language — whether a guest can pay online through Thmenu and, right now, a free table or an open waitlist (the restaurant graph's channel states). Neutral ranking (AI-K6): distance in 0.5 km bands when near is given → availability (open now first; unknown hours before closed; a venue in holiday mode counts as closed) → profile freshness (owner-verified within 90 days first) → name. Payment to Thmenu never affects order. Cuisine, dietary, price level and other attributes are owner declarations, not verified facts; venues without a declaration are excluded only when an attribute or price filter is used, and venues without coordinates only when near is used. Returns slug, name, city, country, distance_km, is_open_now (serve-time, in the venue's own timezone; null when hours are unknown; false while the venue is in holiday mode), channels (order · reservation · pickup · delivery), declared attributes, freshness and the menu URL. Paginated.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "search_restaurants"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free text over name and description (min 2 chars). | |
| city | No | ||
| near | No | Search centre. Venues without coordinates are excluded when set. | |
| page | No | ||
| limit | No | ||
| channel | No | order = digital ordering at the table; reservation; pickup = takeaway; delivery = venue's own delivery. | |
| country | No | ISO 3166-1 alpha-2 | |
| cuisine | No | All listed cuisines must be declared by the venue. | |
| dietary | No | Owner declaration, not a certification. | |
| open_now | No | Only venues open right now in their own timezone; venues with unknown hours are excluded when true. | |
| waitlist | No | Only venues whose waitlist is open now (WAITLIST_AVAILABLE): the reservations switch, which also opens the waitlist, and the venue open now — not in holiday mode. | |
| price_max | No | Owner-declared price level 1–4 (schema.org priceRange "$" … "$$$$"): venues at or below it. Venues that declared no level are excluded when set. | |
| radius_km | No | ||
| attributes | No | Any declared attribute token (meals, family, outdoor, accessibility, cuisine, dietary). | |
| menu_language | No | The menu can be read in this language: it is the menu's source language, or at least 90 % of the guest menu's dish names are translated into it (the restaurant graph's rule). | |
| table_available | No | Only venues open now with a table that staff marked ready on the live table board (TABLE_AVAILABLE). Venues not using the board are excluded: unknown is not "available". | |
| payment_available | No | Only venues where a guest can pay online through Thmenu (PAYMENT_AVAILABLE): the venue's online-payment switch is on, online payment through Thmenu works in its country, and the payment provider has not reported the account unable to take payments. |