В статье приведены лимиты для всех методов API данных Авиасейлс и статистики Travelpayouts.
Для обеспечения стабильной работы 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, которые содержат больше данных (а значит, вы сможете отправлять меньше запросов).
Если вы провели работы по оптимизации, а превышение лимитов всё равно происходит, напишите в нашу службу поддержки.