Skip to main content
Return dish category names and counts for your chain, optionally scoped to a single restaurant. Use this to build category navigation in your menu UI (for example, “Breakfast (12)”, “Lunch (24)”).

Query

This query requires an API key scoped to your chain in the Authorization header. Optionally include X-Session-ID for analytics and personalization; you do not need to pass chain or session in the GraphQL query itself.

Parameters

Response

Example

Filtering by Category

Use the category parameter in the search query to filter dishes:

Category Counts with Preferences

Category counts returned by categories represent total dishes, not dishes matching any preference filters. For filtered counts, use the search query with a category filter.
To get counts that respect preferences, query each category:

Display Recommendations

Use Ordinal for Order

Display categories in ordinal order to match the restaurant’s intended menu layout.

Show Match Counts

Consider showing “X matches” next to each category when filters are active.

Hide Empty Categories

Optionally hide categories with 0 matches when dietary filters are applied.

Sticky Navigation

For long menus, consider a sticky category bar for easy navigation.