Aviasales API доступа к данным для участников партнёрской программы
Travelpayouts предоставляет участникам партнёрской сети API для доступа к данным о популярных направлениях и самых низких ценах на авиабилеты от метапоисковика aviasales.ru.
Уважаемые партнёры! Обратите внимание, все данные передаются из кэша, который формируется на основании поисков пользователей сайтов Aviasales.ru и Jetradar.com за последние 48 часов. Эти данные рекомендуется использовать для формирования статичных страниц, на которых актуальность информации некритична.
Для разработчиков доступна документация с примерами запросов и ответов на различных языках программирования, а так же ссылкой на Postman: https://travelpayouts.github.io/slate/.
- Введение
- Цены на авиабилеты
- Календарь цен на месяц
- Цены по альтернативным направлениям
- Самые дешёвые авиабилеты
- Билет без пересадок
- Билеты из города на любое число месяца
- Популярные направления авиакомпании
- Специальные предложения
- Календарь цен на неделю
- Популярные направления из города
- Логотипы авиакомпаний
- Курс валют к рублю
Введение
- Для доступа к API вам необходимо передавать свой токен в заголовке
X-Access-Token
или в адресной строке параметромtoken
. Партнёрский токен находится в личном кабинете: в разделе «Инструменты» программы Aviasales / Jetradar, на вкладке API.
- Даты принимаются в форматах
YYYY-MM
иYYYY-MM-DD.
- Ответ от сервера всегда отдается в формате
json
и имеет следующую структуру: - success — принимает значения
true
для успешного запроса иfalse
в случае ошибки; - data — результат выполнения запроса, в случае ошибки будет иметь значение
null;
- error — краткое описание ошибки, помешавшей выполнить запрос, в случае успешного запроса будет иметь значение
null.
Даты и время в UTC и отформатированы по стандарту ISO 8601. Цены указаны в рублях и актуальны на момент попадания билета в результаты поиска. Не рекомендуется использовать цены, срок актуальности которых истёк (указывается в значении параметра expires_at
).
Если на указанные в запросе даты в кэше отсутствуют данные, то система автоматически произведёт поиск на другие даты. Результат возвращается на ближайшую из найденных дат.
Важно!
Настоятельно рекомендуется получать данные сжатыми в gzip — это существенно сократит время получения ответа. Чтобы получить данные в сжатом виде, необходимо передать заголовок Accept-Encoding: gzip, deflate
.
Цены на авиабилеты
Описание
Возвращает список цен, найденных нашими пользователями за последние 48 часов, в соответствии с выставленными фильтрами.
Запрос
http://api.travelpayouts.com/v2/prices/latest
Параметры запроса
- currency — валюта цен на билеты. Значение по умолчанию — rub.
- origin — пункт отправления. IATA-код города или код страны. Длина не менее 2 и не более 3 символов.
- destination — пункт назначения. IATA-код города или код страны. Длина не менее 2 и не более 3.
Обратите внимание! Если не указывать пункт отправления и назначения, то API вернёт 30 самых дешевых билетов, которые были найдены за последние 48 часов. При этом нельзя использовать period_type=month.
- beginning_of_period — первое число месяца, в который попадают даты отправления (в формате YYYY-MM-DD, например 2018-05-01). Обязательно указывать при period_type, равном month. Если указать только beginning_of_period, то period_type можно не указывать.
- period_type — период, в котором искали билеты. Если период не указан, то отображаются билеты для перелётов в текущем месяце.
- year — билеты, найденные в текущем году.
- month — за указанный в beginning_of_period месяц.
- one_way — true — в одну сторону, false — туда и обратно. Значение по умолчанию — false.
- page — номер страницы. Значение по умолчанию — 1.
- limit— количество записей на странице. Значение по умолчанию — 30. Не более 1000.
- show_to_affiliates — false — все цены, true — только цены, найденные с партнёрским маркером (рекомендовано). Значение по умолчанию — true.
- sorting — сортировка цен:
- price — по цене (значение по умолчанию). Для направлений город — город возможна сортировка только по цене.
- route — по популярности маршрута.
- distance_unit_price — по цене за километр.
- trip_duration — длительность пребывания в неделях.
Пример запроса
http://api.travelpayouts.com/v2/prices/latest?currency=rub&period_type=year&page=1&limit=30&show_to_affiliates=true&sorting=price&token=РазместитеЗдесьВашТокен
Пример ответа
{ "success":true, "data":[{ "show_to_affiliates":true, "origin":"WMI", "destination":"WRO", "depart_date":"2015-12-07", "return_date":"2015-12-13", "number_of_changes":0, "value":1183, "found_at":"2015-09-22T14:08:45+04:00", "distance":298, "actual":true }] }
Параметры ответа
- success — результат запроса.
- data — полученные данные:
- origin — пункт отправления.
- destination — пункт назначения.
- show_to_affiliates — false — все цены, true — только цены, найденные с партнёрским маркером (рекомендовано). Значение по умолчанию — true.
- depart_date — дата отправления.
- return_date — дата возвращения.
- number_of_changes — количество пересадок.
- value — стоимость перелёта в указанной валюте.
- found_at — время и дата, когда был найден билет.
- distance — расстояние между пунктом вылета и назначения.
- actual — является ли предложение актуальным.
Календарь цен на месяц
Описание
Возвращает цены за каждый день месяца, сгруппированные по количеству пересадок.
Запрос
http://api.travelpayouts.com/v2/prices/month-matrix
Параметры запроса
- currency — валюта цен на билеты. Значение по умолчанию — rub.
- origin — пункт отправления. IATA-код города. Длина — 3 символа. Значение по умолчанию — LED.
- destination — пункт назначения. IATA-код города. Длина — 3 символа. Значение по умолчанию — HKT.
Обратите внимание! Если не указывать пункт отправления и назначения, то API вернёт список самых дешевых билетов, которые были найдены за последние 48 часов.
- show_to_affiliates — false — все цены, true — только цены, найденные с партнёрским маркером (рекомендовано). Значение по умолчанию — true.
- month — первый день месяца, в формате «YYYY-MM-DD». По умолчанию используется месяц, следующий за текущим.
- trip_duration — длительность пребывания в неделях. Если не указано, то в результате будут билеты в одну сторону.
Пример запроса
http://api.travelpayouts.com/v2/prices/month-matrix?currency=rub&origin=LED&destination=HKT&show_to_affiliates=true&token=РазместитеЗдесьВашТокен
Пример ответа
{{ "success":true, "data":[{ "show_to_affiliates":true, "trip_class":0, "origin":"LED", "destination":"HKT", "depart_date":"2015-10-01", "return_date":"", "number_of_changes":1, "value":29127, "found_at":"2015-09-24T00:06:12+04:00", "distance":8015, "actual":true }] }
Параметры ответа
- success — результат запроса.
- data — полученные данные:
- origin — пункт отправления.
- destination — пункт назначения.
- show_to_affiliates — false — все цены, true — только цены, найденные с партнёрским маркером (рекомендовано). Значение по умолчанию — true.
- trip_class — класс перелёта (только 0 — Эконом).
- depart_date — дата отправления.
- return_date — дата возвращения.
- number_of_changes — количество пересадок.
- value — стоимость перелёта в указанной валюте.
- found_at — время и дата, когда был найден билет.
- distance — расстояние между пунктом вылета и назначения.
- actual — является ли предложение актуальным.
Цены по альтернативным направлениям
Описание
Возвращает цены на направления между ближайшими к целевым городам.
Запрос
http://api.travelpayouts.com/v2/prices/nearest-places-matrix
Параметры запроса
- currency — валюта цен на билеты. Значение по умолчанию — rub.
- origin — пункт отправления. IATA-код города или код страны. Длина не менее 2 и не более 3 символов.
- destination — пункт назначения. IATA-код города или код страны. Длина не менее 2 и не более 3.
- show_to_affiliates — false — все цены, true — только цены, найденные с партнёрским маркером (рекомендовано). Значение по умолчанию — true.
- depart_date — дата отправления в формате 'YYYY-MM-DD'.
- return_date — дата возвращения в формате 'YYYY-MM-DD'.
- distance — расстояние (в километрах) от пунктов назначения и отправления, на котором ищутся соседние города.
- limit — количество выводимых вариантов от 1 до 20. Где 1 — это только вариант с указанными пунктами назначения и отправления.
- flexibility — расширение диапазона дат в большую и меньшую сторону. Значение может быть от 0 до 7, где 0 — в результате будут только варианты на указанные даты, 7 — все найденные варианты за неделю до указанных дат и неделю после.
Пример запроса
http://api.travelpayouts.com/v2/prices/nearest-places-matrix?currency=rub&origin=LED&destination=HKT&show_to_affiliates=true&token=РазместитеЗдесьВашТокен
Пример ответа
{
"prices":[
{
"value":26000.0,
"trip_class":0,
"show_to_affiliates":true,
"return_date":"2018-09-18",
"origin":"BAX",
"number_of_changes":0,
"gate":"AMADEUS",
"found_at":"2018-07-28T04:57:47Z",
"duration":null,
"distance":3643,
"destination":"SIP",
"depart_date":"2018-09-09",
"actual":true
}
],
"origins":[
"BAX"
],
"errors":{
"amadeus":{
}
},
"destinations":[
"SIP"
]
}
Параметры ответа
- prices — массив, полученных цен:
- value — стоимость перелёта в указанной валюте.
- trip_class — класс перелёта (только 0 — Эконом).
- show_to_affiliates — false — все цены, true — только цены, найденные с партнёрским маркером (рекомендовано). Значение по умолчанию — true.
- return_date — дата возвращения.
- origin — список пунктов отправления, ближайших к указанному.
- number_of_changes — количество пересадок.
- gate — агентство, в котором был найден билет.
- found_at — время и дата, когда был найден билет.
- duration — продолжительность полёта в минутах с учетом пересадок и ожидания.
- distance — расстояние между пунктом вылета и назначения по карте.
- destination — список пунктов назначения, ближайших к указанному.
- depart_date — дата отправления.
- actual — является ли предложение актуальным.
- origins — массив пунктов отправления в ответе.
- destinations — массив пунктов назначения в ответе.
- errors — сообщение об ошибке. Если возвращается ошибка "Some error occured", значит, по этому направлению нет данных в кэше.
Самые дешевые авиабилеты
Описание
Возвращает самые дешевые билеты без пересадок, а также с 1 и 2 пересадками для выбранного направления с фильтрами по датам вылета и возвращения. Билеты возвращаются на рейсы туда-обратно.
Запрос
http://api.travelpayouts.com/v1/prices/cheap
Параметры запроса
- origin — IATA-код города вылета. IATA-код указывается буквами верхнего регистра, например, MOW.
- destination — IATA-код города назначения (укажите «-» для любых направлений). IATA-код указывается буквами верхнего регистра, например, MOW.
- depart_date (необязательно) — месяц вылета (формат YYYY-MM).
- return_date (необязательно) — месяц возвращения (формат YYYY-MM).
- token — индивидуальный токен доступа.
- page — необязательный параметр, используется для отображения найденных данных (по умолчанию на странице отображается 100 найденных вариантов. Если не выбран destination, то данных может быть больше. В этом случае используйте page, для отображения следующего набора данных, например, page=2).
- currency — валюта цен на билеты. Значение по умолчанию — rub. Допустимые значения: [«USD», «EUR», «RUB»].
Пример запроса
http://api.travelpayouts.com/v1/prices/cheap?origin=MOW&destination=HKT&depart_date=2017-11&return_date=2017-12&token=РазместитеЗдесьВашТокен
Обратите внимание! Если в запросе указаны старые даты, то в результате его работы ошибки не будет, но и данных никаких не вернется.
Пример ответа
{ "success": true, "data": { "HKT": { "0": { "price": 35443, "airline": "UN", "flight_number": 571, "departure_at": "2015-06-09T21:20:00Z", "return_at": "2015-07-15T12:40:00Z", "expires_at": "2015-01-08T18:30:40Z" }, "1": { "price": 27506, "airline": "CX", "flight_number": 204, "departure_at": "2015-06-05T16:40:00Z", "return_at": "2015-06-22T12:00:00Z", "expires_at": "2015-01-08T18:38:45Z" }, "2": { "price": 31914, "airline": "AB", "flight_number": 8113, "departure_at": "2015-06-12T13:45:00Z", "return_at": "2015-06-24T20:30:00Z", "expires_at": "2015-01-08T15:17:42Z" } } }
Параметры ответа
- success — результат запроса.
- data — полученные данные:
- 0, 1, 2 — порядковый номер в результатах выдачи.
- price — цена билета (в заданной валюте, параметр currency).
- airline — IATA-код авиакомпании, выполняющей перелет.
- flight_number — номер рейса.
- departure_at — дата вылета.
- return_at — дата возвращения.
- expires_at — дата истечения актуальности найденной цены (UTC+0).
- 0, 1, 2 — порядковый номер в результатах выдачи.
Билет без пересадок
Описание
Возвращает самый дешевый билет без пересадок для выбранного направления с фильтрами по датам вылета и возвращения.
Запрос
http://api.travelpayouts.com/v1/prices/direct
Параметры запроса
- origin — IATA-код города вылета. IATA-код указывается буквами верхнего регистра, например, MOW.
- destination — IATA-код города назначения (укажите «-» для любых направлений). IATA-код указывается буквами верхнего регистра, например, MOW.
- depart_date (необязательно) — месяц вылета (YYYY-MM).
- return_date (необязательно) — месяц возвращения (YYYY-MM).
- currency — валюта ответа (USD, EUR, RUB). Значение по умолчанию — rub.
- token — индивидуальный токен доступа.
Пример запроса
http://api.travelpayouts.com/v1/prices/direct?origin=MOW&destination=LED&depart_date=2017-11&return_date=2017-12&token=РазместитеЗдесьВашТокен
Пример ответа
{ "success": true, "data": { "HKT": { "0": { "price": 35443, "airline": "UN", "flight_number": 571, "departure_at": "2015-06-09T21:20:00Z", "return_at": "2015-07-15T12:40:00Z", "expires_at": "2015-01-08T18:30:40Z" }, "1": { "price": 27506, "airline": "CX", "flight_number": 204, "departure_at": "2015-06-05T16:40:00Z", "return_at": "2015-06-22T12:00:00Z", "expires_at": "2015-01-08T18:38:45Z" }, "2": { "price": 31914, "airline": "AB", "flight_number": 8113, "departure_at": "2015-06-12T13:45:00Z", "return_at": "2015-06-24T20:30:00Z", "expires_at": "2015-01-08T15:17:42Z" } } }
Параметры ответа
- success — результат запроса.
- data — полученные данные (в разрезе IATA-кодов):
- 0, 1, 2 — порядковый номер в результатах выдачи.
- price — цена билета (в заданной валюте).
- airline — IATA-код авиакомпании, выполняющей перелёт.
- flight_number — номер рейса.
- departure_at — дата вылета.
- return_at — дата возвращения.
- expires_at — дата истечения актуальности найденной цены (UTC+0).
- 0, 1, 2 — порядковый номер в результатах выдачи.
Билеты из города на любое число месяца
Описание
Возвращает самый дешевый билет (без пересадки, с одной или двумя пересадками) для указанного направления для каждого дня выбранного месяца.
Важно: у данного метода установлен лимит — 10 запросов в секунду.
Запрос
http://api.travelpayouts.com/v1/prices/calendar
Параметры запроса
- origin — IATA-код города вылета. IATA-код указывается буквами верхнего регистра, например, MOW.
- destination — IATA-код города назначения. IATA-код указывается буквами верхнего регистра, например, MOW.
- depart_date (опционально) — месяц вылета (в формате YYYY-MM). По умолчанию передаётся текущий месяц. Если не передать параметр, и до конца месяца меньше недели — будет использована дата следующего месяца в формате YYYY-MM. Если передать пустую строку, то будут выведены результаты на год вперёд.
- return_date (опционально) — месяц возвращения (в формате YYYY-MM). Если не передать параметр, но передать
depart_date
, то выведутся билеты на указанный там месяц. Если передать пустую строку вdepart_date
и передатьreturn_date
, то он выступит ограничителем даты и выведет билеты до конца месяцаreturn_date
с текущей даты. - calendar_type — поле, по которому будет строиться календарь. Одно из двух значений:
departure_date
илиreturn_date
. - trip_duration (опционально) — длительность пребывания в городе назначения.
- token — индивидуальный токен доступа.
- currency — валюта ответа (USD, EUR, RUB). Значение по умолчанию — rub.
Пример запроса
http://api.travelpayouts.com/v1/prices/calendar?depart_date=2018-11&origin=MOW&destination=BCN&calendar_type=departure_date&token=РазместитеЗдесьВашТокен
Пример ответа
{ "success": true, "data": { "2015-06-01": { "origin": "MOW", "destination": "BCN", "price": 12449, "transfers": 1, "airline": "PS", "flight_number": 576, "departure_at": "2015-06-01T06:35:00Z", "return_at": "2015-07-01T13:30:00Z", "expires_at": "2015-01-07T12:34:14Z" }, "2015-06-02": { "origin": "MOW", "destination": "BCN", "price": 13025, "transfers": 1, "airline": "PS", "flight_number": 578, "departure_at": "2015-06-02T17:00:00Z", "return_at": "2015-06-11T13:30:00Z", "expires_at": "2015-01-06T17:15:47Z" }, ... "2015-06-30": { "origin": "MOW", "destination": "BCN", "price": 13025, "transfers": 1, "airline": "PS", "flight_number": 578, "departure_at": "2015-06-30T17:00:00Z", "return_at": "2015-07-23T13:30:00Z", "expires_at": "2015-01-07T20:15:34Z" } } }
Параметры ответа
- success — результат запроса.
- data — полученные данные (в разрезе дат):
- origin — IATA-код города вылета.
- destination — IATA-код города назначения.
- price — цена билета в заданной валюте.
- transfers — количество пересадок.
- airline — IATA-код авиакомпании.
- flight_number — номер рейса.
- departure_at — дата вылета.
- return_at — дата возвращения.
- expires_at — срок истечения актуальности цены (UTC+0).
- source — источник данных. Если не указано, значит, данные подгружаются из нашей базы. Обратите внимание! Если данные отдаются от нашего партнёра (например, skypicker), то в параметре origin и destination указывается IATA-код аэропорта, а не города.
Популярные направления авиакомпании
Описание
Возвращает направления, по которым авиакомпания осуществляет перелеты, отсортированные по популярности.
Запрос
http://api.travelpayouts.com/v1/airline-directions
Параметры запроса
- airline_code — IATA-код авиакомпании. IATA-код указывается буквами верхнего регистра, например SU.
- limit — количество записей на странице. Значение по умолчанию — 30. Не более 1000.
- token — индивидуальный токен доступа.
Пример запроса
http://api.travelpayouts.com/v1/airline-directions?airline_code=SU&limit=10&token=РазместитеЗдесьВашТокен
Пример ответа
{ "success": true, "data": { "MOW-BKK": 187491, "MOW-BCN": 113764, "MOW-PAR": 91889, "MOW-NYC": 77417, "MOW-PRG": 71449, "MOW-ROM": 67190, "MOW-TLV": 62132, "MOW-HKT": 58549, "MOW-GOI": 47341, "MOW-IST": 45553 }, "error": null, "currency": "rub" }
Параметры ответа
- success — результат запроса.
- data — перечень популярных направлений авиакомпании с указанием популярности направления.
- currency — валюта ответа (USD, EUR, RUB). Никакого отношения к данным в ответе не имеет.
Специальные предложения
Возвращает последние специальные предложения от авиакомпаний в формате XML.
http://api.travelpayouts.com/v2/prices/special-offers?token=РазместитеЗдесьВашТокен&market=ru
Параметр market отвечает за страну, для которой формируется список спецпредложений. Может принимать значения:
- ru — Россия;
- by — Беларусь;
- kz — Казахстан;
- uz — Узбекистан.
Для получения списка спецпредложений авиакомпаний, летающих в других странах, используйте ссылку: http://www.jetradar.com/deals.atom/
Календарь цен на неделю
Описание
Возвращает цены на ближайшие к целевым датам.
Запрос
http://api.travelpayouts.com/v2/prices/week-matrix
Параметры запроса
- currency — валюта цен на билеты. Значение по умолчанию — rub.
- origin — пункт отправления. IATA-код города. Значение по умолчанию — LED.
- destination — пункт назначения. IATA-код города. Значение по умолчанию — HKT.
- show_to_affiliates — false — все цены, true — только цены, найденные с партнёрским маркером (рекомендовано). Значение по умолчанию — true.
- depart_date — вылет туда. Дата в формате 'YYYY-MM-DD'.
- return_date — вылет обратно. Дата в формате 'YYYY-MM-DD'.
Пример запроса
http://api.travelpayouts.com/v2/prices/week-matrix?currency=rub&origin=LED&destination=HKT&show_to_affiliates=true&depart_date=2018-09-04&return_date=2018-09-18&token=РазместитеЗдесьВашТокен
Пример ответа
{
"success":true,
"data":[
{
"show_to_affiliates":true,
"trip_class":0,
"origin":"LED",
"destination":"HKT",
"depart_date":"2018-03-01",
"return_date":"2018-03-15",
"number_of_changes":1,
"value":71725,
"found_at":"2018-02-19T00:04:37+04:00",
"distance":8015,
"actual":true
}]
}
Параметры ответа
- success — результат запроса.
- data — полученные данные:
- show_to_affiliates — false — все цены, true — только цены, найденные с партнёрским маркером (рекомендовано). Значение по умолчанию — true.
- origin — пункт отправления.
- destination — пункт назначения.
- trip_class — класс перелёта (только 0 — Эконом).
- depart_date — дата отправления.
- return_date — дата возвращения.
- number_of_changes — количество пересадок.
- value — стоимость перелёта в указанной валюте.
- found_at — время и дата, когда был найден билет.
- distance — расстояние между пунктом вылета и назначения.
- actual — является ли предложение актуальным.
Популярные направления из города
Описание
Возвращает самые популярные направления из заданного города
Запрос
http://api.travelpayouts.com/v1/city-directions
Параметры запроса
- origin — пункт отправления. IATA-код города.
- currency — валюта цен на билеты. Значение по умолчанию — rub.
Пример запроса
http://api.travelpayouts.com/v1/city-directions?origin=MOW¤cy=usd&token=РазместитеЗдесьВашТокен
Пример ответа
{ "success":true, "data":{ "AER":{ "origin":"MOW", "destination":"AER", "price":3673, "transfers":0, "airline":"WZ", "flight_number":125, "departure_at":"2018-03-08T16:35:00Z", "return_at":"2018-03-17T16:05:00Z", "expires_at":"2018-02-22T09:32:44Z" } }, "error":null, "currency":"rub" }
Параметры ответа
- success — результат запроса.
- data — полученные данные (в разрезе дат):
- origin — пункт отправления.
- destination — пункт назначения.
- departure_at — дата и время отправления.
- return_at — дата и время возвращения.
- number_of_changes — количество пересадок.
- price — стоимость перелёта в указанной валюте.
- found_at — время и дата, когда был найден билет.
- transfers — количество пересадок.
- airline — IATA-код авиакомпании.
- flight_number — номер рейса.
- currency — валюта ответа.
Логотипы авиакомпаний
Логотипы авиакомпаний доступны по адресу: http://pics.avs.io/width/height/iata.png
где, width — ширина логотипа, height — высота логотипа, iata — IATA-код авиакомпании. Размер может быть любым.
Пример: http://pics.avs.io/200/200/UN.png.
Текущий курс валют к рублю
Описание
Возвращает текущий курс всех популярных валют к рублю.
Запрос
http://yasen.aviasales.ru/adaptors/currency.json
Пример ответа
{ "cny":8.24394, "eur":57.1578, "mzn":1.49643, "nio":1.97342, "usd":51.1388, "hrk":7.48953 }