TableJourney 开放 1376 个美食节日期数据:REST API、MCP server 与 SQL 四种方式
原文标题:Food festival dates as open data: a free API, an MCP server and SQL
TableJourney 将 55 个国家 1376 个美食节的下一届日期开放为免费数据,提供 REST API、面向 AI 助手的 MCP server、DoltHub 上的 SQL 副本和 CSV 四种获取方式,无需注册。
当前语言的正文正在等待翻译,暂时显示原文。
Every year I hit the same problem planning food trips: festival listings tell you a festival exists, but not when the next one is. Pages still show last year's dates, or say "every autumn".
So at TableJourney we keep the next dates of 1,376 food festivals in 55 countries, and we have opened the data up four ways: a REST API, an MCP server for AI assistants, a SQL copy on DoltHub and a plain CSV. All free, no sign-up.
How the dates stay current
A date like "the second weekend of October" goes stale every year. So we store each festival's recurrence rule rather than a date: nth weekday of a month, a fixed day, or an anchor such as Easter or the lunar calendar for Lunar New Year and Mid-Autumn markets. The next edition is computed from the rule, and each festival page carries the source we checked and the date we checked it.
REST: festivals between two dates
curl "https://tablejourney.com/api/v1/festivals?country=italy&from=2026-10-10&to=2026-11-30&limit=3"
Each result has a name, city, starts_on, ends_on, month, whether it is annual, a short summary and a link to the page with the sources. The same API answers other trip questions, for example the signature dishes of a city and where to eat them:
curl "https://tablejourney.com/api/v1/dishes?country=japan&city=osaka&limit=2"
[{"name": "Omurice", "city": "osaka", "country": "japan",
"summary": "Ketchup-seasoned chicken rice wrapped in a soft folded omelette...",
"where_to_eat": [{"name": "Hokkyokusei Shinsaibashi", "page": "https://tablejourney.com/japan/osaka/casual-dining/hokkyokusei-shinsaibashi/"}]}]
The full list of endpoints (places, a composed food day, experiences, things to do) is in the OpenAPI docs at https://tablejourney.com/api/v1/docs.
MCP: ask an assistant
The same data is a remote MCP server (streamable HTTP) at https://tablejourney.com/mcp. In Claude Code:
claude mcp add --transport http tablejourney https://tablejourney.com/mcp
Or in any MCP client config:
{ "mcpServers": { "tablejourney": { "type": "streamable-http", "url": "https://tablejourney.com/mcp" } } }
Then ask things like "which food festivals are on in Spain the week I am there" or "plan a vegetarian food day in Lisbon on Sunday". Tools include festivals, search_places, plan_day, things_to_do and experiences. Setup notes for other clients are at https://tablejourney.com/agents/.
SQL: query it on DoltHub
The dataset is mirrored weekly to DoltHub, so you can query it without downloading anything:
SELECT month, COUNT(*) AS festivals
FROM festivals
GROUP BY month
ORDER BY festivals DESC
LIMIT 3;
Today that returns October (197), September (190) and November (161). Run it at https://www.dolthub.com/repositories/tablejourney/food-festivals or through DoltHub's SQL API.
Download it
- CSV and JSON on GitHub: https://github.com/lewismvaughan/tablejourney-food-festivals
- A citable record on Zenodo: DOI 10.5281/zenodo.23142697
- Charts and findings (busiest month, weekday, length, share free to enter): https://tablejourney.com/festivals/statistics/
The licence is CC BY 4.0: use it for anything, with a credit link.
If a date is wrong or a festival is missing, tell me in the comments or through the contact page; corrections from organisers are locked in so later updates cannot overwrite them.
来源:DEV Community · MCP · dev.to