Keys and quotas
Send your key as a bearer token on every /v1/foods request:
Authorization: Bearer kb_live_...
A key in the query string is rejected with 400 key-in-query, because URLs end up in logs.
Tiers
| Tier | Requests per month | Requests per second | Price |
|---|---|---|---|
| Free | 5,000 | 5 | GBP 0 |
| Starter | 100,000 | 20 | GBP 29 |
| Growth | 500,000 | 50 | GBP 99 |
| Scale | 2,000,000 | 100 | GBP 299 |
During the preview every key is on the free tier unless agreed otherwise. Months are calendar months in UTC. Numbers above are preview numbers and may change before self-serve billing launches; existing keys keep their terms for the month in progress.
What counts as a request
Every metered response counts one, including cache hits and 304s. GET /v1/foods/lookup counts one per 10 items (50 items = 5). /v1/health and /v1/openapi.json are free and need no key.
Over the limit
- Per second:
429 rate-limitedwithRetry-After: 1. Back off and retry. - Per month:
429 quota-exceeded.X-Kcalbase-Quota-Resetis the UTC instant the count resets.
Revocation
Keys can be revoked on request; revocation takes effect within 60 seconds. Never ship a key in a browser app or a public repository: the preview has no domain-restricted keys yet.