Menu data is valuable. It represents a restaurant’s brand, pricing strategy, and competitive positioning. It also powers limited-time offers, regional variations, and location-specific pricing. EveryBite’s access levels give restaurants complete control over who can access their data, what information they can see, and who can update it. A chain with different menus in the South? Supported. A franchisee who manages their own LTOs? No problem. A parent company that needs visibility across all brands? Built in.Documentation Index
Fetch the complete documentation index at: https://docs.everybite.com/llms.txt
Use this file to discover all available pages before exploring further.
Why Access Levels Matter
Restaurant ownership structures are complex. A single restaurant, a regional franchise group, and a global brand parent company all have different needs—and different rights to the data. Consider a parent company like Yum! Brands. They own Taco Bell, KFC, and Pizza Hut. A technology partner building an app for Yum! needs access to all three chains. But a franchisee building a local ordering app should only see their own locations. And a third-party delivery service partnering with one KFC location shouldn’t see data from the location across town. EveryBite’s access levels mirror these real-world relationships:| Level | Who Uses It | What They See |
|---|---|---|
| Restaurant | Single locations, franchisees | One location’s menus |
| Chain | Restaurant chains, regional groups | All locations in the chain |
| Brand | Parent companies, enterprise partners | All chains under the brand |
- Chains maintain consistency while allowing regional variation
- Parent companies get portfolio-wide visibility without exposing individual operator data
- Third-party partners access only what they’ve been explicitly granted
API Keys
Your API key is your credential for accessing menu data. Each key is scoped to a specific level in the restaurant hierarchy based on your relationship with the brand. Authentication is done by setting theAuthorization header to the raw API key value. The value starts with pk_. Do not add a Bearer prefix.
If you are testing requests in the docs explorer or directly against
https://api.everybite.com/graphql, set:- Header name:
Authorization - Header value:
pk_YOUR_API_KEY
pk_... value into the auth or headers tab.Key Types
- Restaurant Key
- Chain Key
- Brand Key
For: Single-location restaurants or franchiseesAccess: One restaurant location and its menus
Getting Your Key
Coming Soon — We’re rolling out developer sandbox access. Contact us to join the early access waitlist.
Environments
| Environment | Base URL | Status |
|---|---|---|
| Sandbox | https://api.everybite.com/graphql | Coming soon |
| Production | https://api.everybite.com/graphql | Partner access |
Sandbox access is rolling out to early partners. Contact us to join the waitlist.
Session-Based Context
All guest context is bound to the session when you callstartSession. This includes:
- Chain & Location — Which restaurant and location
- Platform — Touchpoint:
IOS,ANDROID,WEB,KIOSK,POS,VOICE - Guest Identity — Your guest ID or loyalty ID
- Passport — EveryBite Passport ID, if they have one
EveryBite Passport
If a guest has an EveryBite Passport, include theirpassportId when starting the session. This loads their saved dietary preferences automatically—no need to pass filters manually.
See the Quickstart for complete session and header examples.
Rate Limits
| Key Type | Requests/minute | Requests/day |
|---|---|---|
| Restaurant | 60 | 10,000 |
| Chain | 300 | 100,000 |
| Brand | 1,000 | Unlimited |
Error Codes
| Code | Meaning | Solution |
|---|---|---|
INVALID_API_KEY | Key is malformed or expired | Check your key, request a new one if expired |
UNAUTHORIZED_ACCESS | Key doesn’t have access to requested data | Verify your key’s access level |
RATE_LIMITED | Too many requests | Slow down, implement backoff |
KEY_REVOKED | Key has been revoked | Contact support |

