Перейти к основному содержимому

Rate limits и тарифные планы

Дневной лимит

Каждый API-ключ имеет дневной лимит REST-запросов (dailyRequestLimit), привязанный к тарифному плану. Счётчик сбрасывается раз в сутки.

WebSocket-трафик в этот лимит не входит — это отдельный канал. Однако параллельные WS-соединения ограничены пятью на один API-ключ (см. WebSocket → Overview → Лимиты).

Превышение лимита

При превышении дневного лимита REST-сервер вернёт 429 Too Many Requests:

{
"code": 429,
"error": "tariff_rate_limit",
"message": "You plan is out of usage for today (limit <N> api requests per day for plan \"<name>\"), wait until next date or buy unlimited usage plan"
}

В сообщении <N> — числовое значение лимита, <name> — название тарифного плана.

Доступ к спортам

Не все тарифы включают все 7 спортов. Если спорт не доступен в тарифе, REST-сервер вернёт 400 Bad Request с кодом user_has_no_access:

{
"code": 400,
"error": "user_has_no_access",
"message": "You have no access for this service with this plan \"<name>\"), use another plan"
}

Для WebSocket-подписки на недоступный спорт вернётся error с кодом NO_ACCESS (WebSocket → Error codes).

Конструктор тарифов и доступных спортов — на app.api-sport.ru.

Заголовки rate-limit

Заголовки X-RateLimit-Limit / X-RateLimit-Remaining на момент v2.0.8 не выставляются в ответах API (соответствующая настройка CORS в сервере отключена). Текущий лимит и остаток можно узнать только по 429-ответу (счётчик исчерпан) или в личном кабинете на app.api-sport.ru.

Эта функциональность планируется к реализации в ближайших версиях API. Следите за Changelog.

Рекомендации по экономии лимита

  • Кэшируйте ответы матчей с финальным статусом (finished, canceled) — они не меняются.
  • Используйте WebSocket для live-данных вместо polling — это не учитывается в REST-лимите.
  • Фильтруйте запросы через query-параметры (status, tournament_id, date, category_ids) — это уменьшит payload и заодно отдаст только нужные матчи.
  • Используйте ids= с CSV-списком до 100 ID матчей за один запрос, вместо 100 одиночных запросов.