Search merchants
search_merchantsFilter-based search over the restaurant registry (coverage cities + timezones in get_registry_meta). NOT ranked: results come back in deterministic order (merchant_id ASC by default; distance ASC when lat/lng given and order_by="distance"). Returns compact records with pagination. Use get_merchant for the full signal dump on a specific merchant. All filters are optional and combinable.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Latitude for geo-radius filter (requires lng and radius_km) | |
| lng | No | ||
| limit | No | ||
| offset | No | ||
| open_at | No | ISO-8601 datetime; only merchants open at this time. With an explicit offset ('2026-07-18T19:00:00+09:00' or trailing Z) the instant is evaluated in each merchant's own timezone; without one it means each merchant's local wall clock | |
| sandbox | No | Filter by merchant kind. true = sandbox test merchants only (safe integration targets: they book end-to-end and return a SIMULATED confirmation, never dialing a real venue). false = real merchants only — use this for any booking a human will act on. Omitted = both. Every result carries `sandbox`; never present a sandbox confirmation to a user as a real reservation. | |
| order_by | No | ||
| radius_km | No | Radius in km around lat/lng | |
| party_size | No | Only merchants that can seat this party size | |
| cuisine_tags | No | Match ANY of these cuisines, e.g. ['japanese','korean'] | |
| neighborhood | No | Exact neighborhood name, e.g. 'Mission' | |
| bookable_only | No | Only merchants the registry can book right now (phone-verified, accepts reservations, not opted out) | |
| attribute_tags | No | Match ALL of these attributes, e.g. ['outdoor_seating','vegetarian_friendly'] | |
| price_band_max | No | ||
| price_band_min | No |