Лимиты при работе с API
С 14 июня 2024 года мы ввели новые лимиты при работе с API.
Новые лимиты измеряются в количестве запросов в минуту, а не 5 минут и час, как было до этого. Подробную информацию вы найдёте в таблице ниже.

Для обеспечения стабильной работы API данных Авиасейлс и статистики Travelpayouts используются лимиты на количество обращений к серверам. Это позволяет избежать повышенной нагрузки от недобросовестных партнёров, что может привести к снижению скорости работы API для всех партнёров.

В качестве лимита мы используем максимальное количество запросов в минуту.

Это позволяет: 

  • скорректировать пиковые нагрузки (например, когда на сайт партнёра пришло сразу много посетителей, а обращения к API завязаны на каждый заход на сайт);
  • оптимизировать в целом работу с API (например, использование партнёрами кэша и распределение обращений к API равномерно по дню).

В таблице приведены лимиты для всех методов API данных Авиасейлс и статистики Travelpayouts действительные с 14.06.2024.

Метод Лимит количества запросов в минуту
/v1/prices/calendar 300
/v1/prices/cheap 300
/v1/prices/direct 180
/v1/prices/monthly 60
/v1/city-directions 600
/v2/prices/latest 300
/v2/prices/month-matrix 300
/v2/prices/nearest-places-matrix 60
/v2/prices/week-matrix 60
/v2/prices/special-offers 600
/data/something.json 600
/v3/get_latest_prices
300
/v3/prices_for_dates 600
/v3/grouped_prices 600
/v3/get_special_offers 600
/statistics/v1/execute_query* 30
/graphql/v1/ 60

При превышении лимита в ответ на запрос придёт ошибка с кодом 429.

Например, если вы используете метод с лимитом в 60 запросов в минуту, но в первую секунду вы пошлёте 60 запросов, то доступ к API будет заблокирован на 59 секунд. При этом вы будете получать ошибку с кодом 429 до тех пор, пока не пройдёт указанное время, и блокировка не будет снята. После этого доступ к API будет автоматически разблокирован.

Настоятельно рекомендуем использовать на своей стороне кэширование данных, чтобы сократить количество запросов к API. Если вам важно знать количество отправленных запросов, реализовать это необходимо самостоятельно на вашей стороне.

Вот несколько советов, как оптимизировать запросы к API:

  • Убедитесь, что вы не отправляете лишних запросов.
  • Оптимизируйте свой код, чтобы исключить вызовы API, ответы на которые не содержат нужной информации.
  • Кэшируйте часто используемые данные на сервере или на клиенте, используя DOM хранилище. Вы также можете сохранять полученную информацию в базе данных или записывать её в файл.
  • Если вы давно работаете с API, перейдите на новые методы api/v3, которые содержат больше данных (а значит, вы сможете отправлять меньше запросов).

Если вы провели работы по оптимизации, а превышение лимитов всё равно происходит, напишите в нашу службу поддержки.