Документация

API базы КБЖУ FoodBase

Поиск продуктов и блюд по названию и штрихкоду. Ответы в JSON, кодировка UTF-8.

Авторизация

Ключ выдаётся после оплаты тарифа. Передавайте его в заголовке каждого запроса:

Authorization: Bearer fb_ваш_ключ

Ключ нельзя встраивать в мобильное приложение или код сайта, который видят пользователи: запросы к API делайте со своего сервера.

Поиск по названию

GET https://food-bd.com/api/v1/search?q=творог 5%

Параметр q — от 2 до 100 символов. Порядок результатов — по релевантности.

Поиск по штрихкоду

GET https://food-bd.com/api/v1/barcode/4811002090953

Пример ответа

{
  "data": [
    {
      "barcode": "4811002090953",
      "name": "Хлеб Бородинский любимый нарез. 0,4 кг упак. БКК Домочай ООО",
      "brand": "Домочай",
      "per_100g": {"kcal": 205, "protein": 6.4, "fat": 0.6, "carbs": 43},
      "serving": {"size": "400 г", "kcal": null, "protein": null, "fat": null, "carbs": null},
      "restaurant": null,
      "source": "foodbase"
    }
  ],
  "meta": {"count": 1, "attribution": null}
}
  • per_100g — пищевая ценность на 100 г; значение null, если оно неизвестно.
  • serving — вес упаковки или порции; для части блюд ресторанов — ещё и КБЖУ порции. null, если ничего из этого неизвестно.
  • barcode — штрихкод EAN-13, EAN-8 или UPC с верной контрольной цифрой, иначе null.
  • restaurant — сеть ресторанов, чьё это блюдо.
  • source — foodbase или openfoodfacts. Записи Open Food Facts распространяются по лицензии ODbL, у них есть поле license: указывайте этот источник в своём продукте.
  • meta.attribution — для тарифа «Старт»: текст, который нужно показывать рядом с КБЖУ.

Лимиты

ТарифЗапросов в суткиВ минутуРезультатов на запрос
Старт200103
Бизнес10 00012020
Корпоративный100 00060050

Сутки считаются по UTC: лимит обновляется в 03:00 по Москве. Остаток показывает заголовок X-RateLimit-Remaining.

Ошибки

  • 401 — неверный ключ.
  • 402 — срок оплаты истёк или ключ отключён.
  • 429 — превышен лимит запросов в минуту или в сутки.

Тело ошибки: {"error": "описание"}.

Условия

Использование API регулируется лицензионным договором. Запрещены перепродажа данных, их публикация и систематическое извлечение базы через API.