Places and menus over REST
The REST API can now do the reading half of an order, for one person: find a restaurant, look at one, and read its live menu. These are the same answers the MCP places, place_facts and menu tools give, because they run the same code.
What changed
GET /v1/places?query=&near=&lat=&lng=&openNow=&limit=searches restaurants by name or kind of food.GET /v1/places/:placeIdreturns one place, its dietary, service and good-for facts, and anorderabilityverdict.POST /v1/menusreads a restaurant's live menu, named byplaceIdor byqueryandnear. A read that is not done answers202with amenuId; pollGET /v1/menus/:menuId, which is free. A poll that could not be checked is a503withRetry-After, and the read is not lost.- openapi.json is now generated from the shapes the API validates every request with, and covers every endpoint in this reference.
- Every error
codeis one of a published list. The 400 code isinvalid_request; the reference saidinvalid_input, which no developer endpoint sends.
Why it matters
You can show a person where they can eat and what a place serves without driving an MCP session. These routes read and never build, confirm or charge.
What to do
Call them with a person credential, not your application secret: the access token of someone who connected your application, or an lgb_ build grant.
curl -X POST https://api.layout.link/v1/menus \
-H "Authorization: Bearer $LAYOUT_PERSON_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "placeId": "ChIJbloomCoffee" }'
202 Accepted
Retry-After: 5
{ "status": "reading", "menuId": "mnu_Q2hJSmJsb29t…", "assumedNearest": false, "retryAfterSec": 5,
"restaurant": { "name": "Layout test kitchen", "address": "1194 Roseville Pkwy, Rocklin, CA 95677, USA" } }
Each developer account has a daily allowance, counted across all its applications: 5,000 place reads, 200 live menu reads and 100 knowledge answers in sandbox and for an application not yet approved, and 50,000, 1,000 and 1,000 for an approved production application. A spent allowance is a 429 that names the limit and says whether it was your account's limit or the pool's ceiling across every developer. Open Usage in the console to ask for more. See the API reference and limits.
Breaking changes
None. These are new endpoints, and the spec describes the existing ones as they already behave.