For Agents
Search and traverse the New York Public Library's historical menu archive — menus, pages, and dishes from the 1850s onward — using a query-string API key.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the What's On The Menu API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with What's On The Menu API.
Search the historical menu collection by free-text query
Retrieve a menu by ID with its associated pages and metadata
Traverse the pages of a menu to read items as they appeared on the original document
GET STARTED
Use for: Search the NYPL menu archive for menus mentioning oysters, Get every page from a specific historical menu, List all dishes that appeared on a 1900 New York menu, Find every menu in the archive that includes a given dish
Not supported: Does not handle modern restaurant data, ingredient nutrition, or recipes — use for the NYPL historical menu archive only.
Jentic publishes the only available OpenAPI specification for What's On The Menu API, keeping it validated and agent-ready. The New York Public Library's What's On The Menu API exposes a digitised archive of historical restaurant menus dating from the 1850s onward, including menus, the pages they appear on, and the individual dishes they list. The 9-endpoint surface supports listing and retrieving menus, traversing menu pages and dishes, searching menus, and looking up dishes and the menus that contain them. It is well suited to culinary research projects, food-history apps, dataset builders, and AI agents answering questions about historical dining.
List the dishes that appear on a specific menu
Look up a dish by ID and find every menu it appears on
Browse the global dish list to build derived datasets and research notes
Patterns agents use What's On The Menu API for, with concrete tasks.
★ Food History Research App
Build a research tool that lets historians and food writers search the NYPL menu archive and cite specific menus and dishes in their work. The combination of the search endpoint, individual menu retrieval, and dish-to-menus traversal supports both broad discovery and citation-grade lookup. The API is small enough that a working integration takes a few hours.
Call GET /menus/search with the query 'oyster', then GET /menus/{id} for each top result and return the menu titles and dates.
Culinary Dataset Builder
Compile a dataset of dishes and prices over time by walking the dishes endpoint and joining each dish to the menus it appears on. Researchers and ML teams can use this to study price evolution, ingredient trends, and regional cuisine over a 150-year period. The API's stable IDs make incremental dataset builds straightforward.
Page through GET /dishes, and for each dish call GET /dishes/{id}/menus to record the menus and dates it appeared on.
Agent-Driven Menu Q&A
Let an AI agent answer natural-language questions like 'what cocktails appeared on Manhattan menus around 1920?' by searching menus, pulling pages, and inspecting dish lists. Through Jentic, the agent searches by intent and gets only the operations it needs, with the API token held in the platform's vault rather than in the agent's context.
Search Jentic for 'search NYPL historical menus', load the operation, and return menus from 1915-1925 that mention 'cocktail'.
9 endpoints — jentic publishes the only available openapi specification for what's on the menu api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/menus
List menus in the archive
/menus/search
Search menus by free-text query
/menus/{id}
Retrieve a menu by ID
/menus/{id}/pages
Get the pages of a menu
/menus/{id}/dishes
List dishes on a menu
/dishes/{id}
Retrieve a dish by ID
/dishes/{id}/menus
List menus containing a dish
/menus
List menus in the archive
/menus/search
Search menus by free-text query
/menus/{id}
Retrieve a menu by ID
/menus/{id}/pages
Get the pages of a menu
/menus/{id}/dishes
List dishes on a menu
Three things that make agents converge on Jentic-routed access.
Credential isolation
The NYPL menu API token is stored encrypted in the Jentic vault. Agents receive scoped access — the raw token never appears in the agent's context, and Jentic appends it to the URL query string at execution time.
Intent-based discovery
Agents search Jentic with phrases like 'search NYPL historical menus' or 'list dishes on a menu'. Jentic returns the matching operation and its input schema so the agent can call the correct endpoint without browsing the OpenAPI spec.
Time to first call
Direct integration: 2-3 hours for query-string auth and pagination handling. Through Jentic: under 30 minutes — search, load, execute.
Alternatives and complements available in the Jentic catalogue.
Specific to using What's On The Menu API through Jentic.
Why is there no official OpenAPI spec for What's On The Menu API?
The New York Public Library does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call What's On The Menu API via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the What's On The Menu API use?
The API uses an API token passed as a query parameter named 'token' on each request — there is no header-based auth. Through Jentic, the token is stored encrypted in the vault and added to the request URL at execution time so the agent never holds it directly.
Can I search the menu collection by keyword?
Yes — GET /menus/search accepts a free-text query and returns matching menus. For dish-level traversal, retrieve a menu's dishes via GET /menus/{id}/dishes, or look up dishes directly and follow GET /dishes/{id}/menus to find every menu containing a given dish.
What are the rate limits for the API?
The OpenAPI spec does not embed explicit limits. The endpoint runs on a public library service; treat it as a low-throughput resource, batch reads, and back off on any HTTP 429 or 5xx response.
How do I retrieve menus through Jentic?
Run pip install jentic, then search for 'search NYPL historical menus'. Jentic returns GET /menus/search with its input schema; supply the query and execute. Sign up at https://app.jentic.com/sign-up to get an agent key.
How far back does the archive go?
Menus in the collection date from the 1850s through the 21st century, with the bulk of items concentrated in the late 19th and early 20th century. Each menu record carries a date and venue when known.
/dishes/{id}
Retrieve a dish by ID
/dishes/{id}/menus
List menus containing a dish