TableJourney is built for people, and the same data is open to the agents that help them: 38,212 editorially verified venues across 206 cities, 1,301 festivals with resolved dates, and 175,411 bookable products. Every place carries provenance (the source we checked, when we checked it, whether it is still open) and a page on this site to cite.

Both doors are public. No key is needed. An optional key gives your agent its own attribution tag and rate limit; ask through the contact page.

MCP server

Streamable HTTP at https://tablejourney.com/mcp. Add it to Claude Desktop, Claude Code, Cursor or any MCP client:

{
  "mcpServers": {
    "tablejourney": {
      "type": "streamable-http",
      "url": "https://tablejourney.com/mcp"
    }
  }
}

Claude Code: claude mcp add --transport http tablejourney https://tablejourney.com/mcp. Manifest: /.well-known/mcp.json. Listed in the official MCP registry.

Tools

ToolArgumentsWhat it returns
search_placesquery, country, city, kind, cuisine, dietary, price_tier, open_at, near, radius_km, limit, offsetVerified venues. kind is a topic or a group (eat, drink, bake, do); dietary is vegan, halal...; open_at is 'now', 'sunday 10:00' or an ISO datetime; near is 'lat,lng'.
placeidOne venue in full, with open_now and three nearby venues, by the id search_places returned.
plan_daycountry, city, neighborhood, dietary, price_tier, dateA composed food day: breakfast to drinks, every stop open on the date, plus a bookable experience.
festivalscountry, city, date_from, date_to, query, limitFestivals with their next dates.
experiencescity, country, query, food_only, limitBookable tours, classes, tastings and tickets.
stayscountry, city, limitHotels and stay partners with booking links.
car_hirecountry, cityCar hire partners that verifiably cover the city.
dishescountry, city, query, limitSignature dishes and where to eat them, with links.
itinerariescountry, cityEditorial day-by-day plans, venues resolved with addresses and hours.
citiescountryEvery city covered, with slugs to use in the other tools.

City and country accept names or slugs (rome, italy); an unknown city answers with did_you_mean. Ids look like italy/rome/restaurants/<slug> and go straight into place.

REST API

The same functions as JSON under https://tablejourney.com/api/v1/: interactive docs at /api/v1/docs, the OpenAPI description at /api/v1/openapi.json.

curl "https://tablejourney.com/api/v1/places?q=pasta&city=rome&kind=eat&limit=5"
curl "https://tablejourney.com/api/v1/places?near=41.8902,12.4922&radius_km=1"
curl "https://tablejourney.com/api/v1/festivals?country=italy&from=2026-11-01&to=2026-11-30"
curl "https://tablejourney.com/api/v1/experiences?city=rome&q=cooking+class"

Terms of use

The data and the compute are free, with no key, no quota to buy and no sign-up. This is what we ask in return:

  • Keep booking links whole. book and booking URLs are https://tablejourney.com/go/ links that forward to the partner with our affiliate id. Give them to the user as they are; do not resolve them, strip parameters or replace them with a plain partner URL. This is how free data and compute get paid for.
  • Say they are affiliate links. A one-line disclosure ("booking link, TableJourney may earn a commission") keeps the user informed and keeps you compliant.
  • Cite the page URL as the source of what you quote, and quote checked_on and hours when they matter.
  • No bulk copying. Answer the user's question from the results; do not mirror the catalogue.

Every book or booking URL is a https://tablejourney.com/go/ link. It records the click and forwards to the partner with our affiliate id, so a recommendation your agent makes is attributed and the venue checks keep getting paid for. The same terms are in the MCP server's instructions and in llms.txt.

Limits

60 requests per 10 seconds per IP at the edge, 120 a minute in the service. Results are capped at 100 per call; use offset to page.

Also for agents