Skip to main content
The EveryBite platform organizes restaurant data in a hierarchical structure. Understanding this hierarchy helps you work with the right scope of data.

The Four Levels

Brand (e.g., Yum! Brands)
└── Chain (e.g., Taco Bell)
    └── Restaurant (e.g., Taco Bell #1234 - Times Square)
        └── Menu (e.g., Breakfast, Lunch, Regional Specials)
The top-level parent company that may own multiple restaurant chains.Examples:
  • Yum! Brands (owns Taco Bell, KFC, Pizza Hut)
  • Inspire Brands (owns Arby’s, Buffalo Wild Wings, Dunkin’)
  • Independent restaurant groups
API Access: A Brand Key gives access to all chains, restaurants, and menus underneath.
A restaurant brand with multiple locations sharing the same concept and (mostly) the same menu.Examples:
  • Taco Bell
  • honeygrow
  • Chipotle
API Access: A Chain Key gives access to all restaurants in that chain.
A single physical location where guests can order food.Examples:
  • honeygrow - 1601 Market Street, Philadelphia
  • Taco Bell #1234 - Times Square, NYC
API Access: A Restaurant Key gives access to that location’s menus only.
How menus vary depends on the size of the restaurant operation:
ScaleLocation CountMenu Strategy
Small Chain20-50Single menu across all locations
Regional Chain50-200Regional menu variations
National Chain200+Definitely regional menus
Global ChainInternationalDifferent menus per country/region
A chain with 30 locations might have identical menus everywhere. A national chain with 500+ locations will likely have regional differences—some items available only in certain markets.

Location-Specific Menus

When a chain has location-specific menus, you can scope SmartMenu search results to a single restaurant using restaurantId:
query SearchByRestaurant(
  $restaurantId: ID!
  $searchTerm: String
  $preferences: PreferencesInput
  $pagination: PaginationArgs
) {
  search(
    restaurantId: $restaurantId
    searchTerm: $searchTerm
    pagination: $pagination
    preferences: $preferences
  ) {
    matches {
      dish { id name category }
      matchStatus
    }
    counts { total }
  }
}

Categories Within Menus

You can also query dish categories—with optional restaurant scoping—to understand how dishes are organized:
query GetCategoriesForRestaurant {
  categories(restaurantId: "rest_nyc_001") {
    name        # e.g., "Stir-Fry", "Salads", "Drinks"
    count       # Number of dishes in this category
    ordinal     # Display order
  }
}
query GetWidgetCategories {
  categories {
    name
    count
    ordinal
  }
}

Visual Summary

Next Steps

Guest Preferences

Learn how to personalize results

Authentication

Understand API keys and scopes in depth