MenuPage
A single digitized page of a Menu in the NYPL 'What's on the Menu?' dataset. Each MenuPage is a scanned image produced during digitization and is the surface on which MenuItem transcriptions are positioned. Corresponds to a row in MenuPage.csv.
Properties
| Name | Type | Description |
|---|---|---|
| id | integer | Unique numeric identifier for the menu page. Primary key referenced by MenuItem.menu_page_id. |
| menu_id | integer | Foreign key to the parent Menu.id this page belongs to. |
| page_number | integernull | Ordinal position of this page within the menu. |
| image_id | stringnull | NYPL Digital Collections image identifier for the scanned page image. |
| full_height | integernull | Full pixel height of the digitized page image, used to interpret MenuItem ypos coordinates. |
| full_width | integernull | Full pixel width of the digitized page image, used to interpret MenuItem xpos coordinates. |
| uuid | stringnull | Stable UUID for the digitized page image asset. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/new-york-public-library-whats-on-the-menu/refs/heads/main/json-schema/new-york-public-library-whats-on-the-menu-menu-page-schema.json",
"title": "MenuPage",
"description": "A single digitized page of a Menu in the NYPL 'What's on the Menu?' dataset. Each MenuPage is a scanned image produced during digitization and is the surface on which MenuItem transcriptions are positioned. Corresponds to a row in MenuPage.csv.",
"type": "object",
"required": ["id", "menu_id"],
"additionalProperties": false,
"properties": {
"id": {
"type": "integer",
"minimum": 1,
"description": "Unique numeric identifier for the menu page. Primary key referenced by MenuItem.menu_page_id."
},
"menu_id": {
"type": "integer",
"minimum": 1,
"description": "Foreign key to the parent Menu.id this page belongs to."
},
"page_number": {
"type": ["integer", "null"],
"minimum": 1,
"description": "Ordinal position of this page within the menu."
},
"image_id": {
"type": ["string", "null"],
"description": "NYPL Digital Collections image identifier for the scanned page image."
},
"full_height": {
"type": ["integer", "null"],
"minimum": 0,
"description": "Full pixel height of the digitized page image, used to interpret MenuItem ypos coordinates."
},
"full_width": {
"type": ["integer", "null"],
"minimum": 0,
"description": "Full pixel width of the digitized page image, used to interpret MenuItem xpos coordinates."
},
"uuid": {
"type": ["string", "null"],
"format": "uuid",
"description": "Stable UUID for the digitized page image asset."
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/json-schemas/new-york-public-library-whats-on-the-menu-menu-page"
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.