canonical: https://jentic.com/apis/openmenu.com/openmenu

# OpenMenu API

OpenMenu provides a structured catalogue of restaurant menus, menu items, and nutritional and ingredient data, enriched with DishDNA machine-learning analysis. The API supports searching across restaurants, menus, and items, retrieving deals and trending dishes, and pulling location-based restaurant lists. Authentication is via an api_key query parameter, and the dataset spans both standard menu information and ML-derived analytics such as taxonomies, heatmaps, and trend signals.

## For AI agents

Search restaurants and menus, look up nutrition and ingredient data, and pull DishDNA ML-derived analytics on dishes and trends.

## Scope

Does not handle order placement, delivery dispatch, or payment processing - use for restaurant menu, nutrition, and DishDNA analytics only.

## Capabilities

- Search restaurants, menus, and individual menu items by keyword or location
- Retrieve restaurant details including menu structure and contact information
- Look up ingredient and nutrient data for specific menu items
- Pull active deals and coupons attached to a restaurant or menu
- Surface trending menu items using DishDNA machine-learning signals
- Access ML analyses, heatmaps, and taxonomies for menu data

## Use cases

### Restaurant Discovery by Location

Build a discovery surface that shows restaurants near a user's location with their current menus and active deals. The agent calls /location to find nearby restaurants, /restaurant for details, and /deals to surface active offers. Search results can be filtered by menu content using the /search endpoint.

Example prompt: Call GET /location with the user's coordinates, then for the top three restaurants call GET /deals and return the list of currently active deals.

### Nutrition Lookup for a Dish

Surface calorie, ingredient, and nutrient data for a chosen menu item by calling /menu_items to find the item and /ingredients to retrieve its breakdown. This is useful for dietary apps, allergen filters, and calorie-conscious menu UIs.

Example prompt: Search /menu_items for 'caesar salad', take the top result's item ID, and call /ingredients to return its calorie and macronutrient values.

### Trend Spotting with DishDNA Analytics

Identify which dishes are gaining traction in a region by combining the /trends endpoint with DishDNA-powered /analysis_search results. Outputs feed editorial roundups, retailer assortment decisions, and menu-engineering work.

Example prompt: Call GET /trends scoped to a chosen city, then return the top 10 trending menu items with their growth signal.

### AI Agent Restaurant Assistant via Jentic

An assistant that helps users pick a restaurant or check what is on a menu can call OpenMenu through Jentic. The api_key is vaulted, calls are routed by intent, and the structured menu response keeps the LLM grounded in real menu items rather than hallucinated dishes.

Example prompt: Use Jentic to search for 'find restaurants near a location', execute GET /location with the coordinates, and return the names and addresses of the top five matches.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/search` | Search restaurants, menus, and menu items |
| GET | `/restaurant` | Get restaurant details |
| GET | `/location` | Find restaurants near a location |
| GET | `/menu` | Get menu items and taxonomies |
| GET | `/menu_items` | Search menu items |
| GET | `/ingredients` | Get ingredient and nutrient data |
| GET | `/deals` | Get deals and coupons |
| GET | `/trends` | Get trending menu items |

## Key resources

- **Search** — Search across restaurants, menus, and menu items.
- **Restaurant** — Retrieve restaurant details including menu structure.
- **Location** — Find restaurants near a set of coordinates.
- **Menu and Menu Items** — Retrieve menu structure and individual menu items.
- **Ingredients** — Look up ingredient and nutrient data for menu items.
- **Deals** — Retrieve active deals and coupons.
- **Analysis and Trends** — Access DishDNA ML analyses, trends, and heatmaps.

## Why Jentic

- **Setup:** Wiring the OpenMenu API by hand means appending the api_key query parameter to every request and building the query strings for restaurant, menu, and DishDNA lookups yourself. Through Jentic you install once, import the OpenMenu API from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** You limit the agent to the operations it needs, such as searching restaurants near a location or fetching a menu's nutrition. This surface is read-only lookups, so you choose which of the search, restaurant, menu, and ingredient operations the agent may call.
- **Credential handling:** Your OpenMenu api_key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'find restaurants near a location' or 'get nutrition for a dish', and Jentic returns the matching OpenMenu operation with its query parameters so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Spoonacular API** — Spoonacular focuses on recipes and nutrition; OpenMenu focuses on restaurant menus and DishDNA analytics.
- **Edamam API** — Edamam covers food, recipes, and nutrition; OpenMenu specialises in restaurant menus and DishDNA signals.
- **Yelp Fusion API** — Yelp provides ratings and business listings; OpenMenu provides the menu content for those restaurants.
- **Nutritionix API** — Nutritionix is strong on packaged-food and restaurant-chain nutrition; OpenMenu adds independent restaurants and DishDNA trend data.

## FAQ

### What authentication does the OpenMenu API use?

API key authentication via the api_key query parameter. Through Jentic the key is stored in your Jentic One instance and added to the request URL automatically, so it does not appear in agent logs.

### Can I look up nutrition data for menu items with the OpenMenu API?

Yes. GET /ingredients returns ingredient and nutrient data for menu items, and /menu_items can be used to find the item ID first. This is the standard path for dietary or calorie-aware features.

### What are the rate limits for the OpenMenu API?

OpenMenu does not publish a single global rate limit; it depends on the API plan. Cache restaurant and menu responses client-side and contact OpenMenu before high-volume bulk pulls.

### How do I find restaurants near a location with the OpenMenu API through Jentic?

Search Jentic for 'find restaurants near a location', load GET /location, and execute it with latitude and longitude query parameters. Jentic appends the api_key from the vault.

### What is DishDNA in the OpenMenu API?

DishDNA is OpenMenu's machine-learning layer that classifies and ranks menu items. The /analysis, /analysis_search, /trends, and /heatmap endpoints expose DishDNA-derived signals such as taxonomies and trend scores on top of the raw menu data.

### Can I retrieve active restaurant deals with the OpenMenu API?

Yes. GET /deals returns deals and coupons currently published for restaurants in the catalogue, scoped by the supplied query parameters.

### Can I limit what my agent is allowed to do with the OpenMenu API?

Yes. Because you run Jentic One yourself, your own rules decide which OpenMenu operations and credentials your agent can use. The OpenMenu surface is read-only lookups, so you can allow just the operations a task needs, such as searching restaurants near a location with GET /location or reading a menu's nutrition with GET /menu_items and GET /ingredients, while withholding others like GET /deals or GET /trends. Your OpenMenu api_key is held by your Jentic One instance and injected only when a permitted operation runs.
