# Aviasales Data API (Travelpayouts): GET /aviasales/v3/prices_for_dates — Билеты на конкретные даты

Самые дешёвые билеты на даты, найденные за последние 48 часов. Заменяет `/v1/city-directions`, `/v1/prices/cheap`, `/v1/prices/direct`, `/v2/prices/latest`.

В ответе для каждого билета: `origin`, `destination`, `price`, `airline`, `flight_number`, `departure_at`, `return_at`, `transfers`, `duration`, `link`. Ссылку `link` добавляют к `https://www.aviasales.com/`.

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `token` | query | string | да | API-токен (или заголовок X-Access-Token) |
| `origin` | query | string | нет | IATA-код города или аэропорта вылета |
| `destination` | query | string | нет | IATA-код назначения; обязателен, если нет origin |
| `departure_at` | query | string | нет | Дата вылета YYYY-MM или YYYY-MM-DD |
| `return_at` | query | string | нет | Дата возвращения; для билетов в одну сторону не указывать |
| `one_way` | query | boolean | нет | В одну сторону, по умолчанию true |
| `direct` | query | boolean | нет | Только прямые, по умолчанию false |
| `currency` | query | string | нет | Валюта, по умолчанию RUB |
| `market` | query | string | нет | Рынок данных, по умолчанию ru |
| `limit` | query | integer | нет | Записей на странице, по умолчанию 30, максимум 1000 |
| `page` | query | integer | нет | Номер страницы |
| `sorting` | query | string | нет | price (по умолчанию) или route (популярность) |
| `unique` | query | boolean | нет | Только уникальные направления, если указан лишь origin |

## Базовые URL

- Боевой: `https://api.travelpayouts.com`

## Авторизация

Тип: API-ключ

API-токен из профиля Travelpayouts (раздел «API-токен») передаётся в заголовке `X-Access-Token` или в параметре `token`.

```
https://api.travelpayouts.com/aviasales/v3/prices_for_dates?origin=MAD&destination=BCN&departure_at=2023-07&return_at=2023-08&unique=false&sorting=price&direct=false&cy=usd&limit=30&page=1&one_way=true&token=PutYourTokenHere
```

## Нюансы

- Ответ: `success` (`true`/`false`), `data` (при ошибке — `{}`), `error` (`null` при успехе).
- Даты — `YYYY-MM` или `YYYY-MM-DD`; время в ответах — UTC, ISO 8601. Цены по умолчанию — в рублях.
- Не используйте устаревшие цены: ориентир срока — поле `expires_at`.
- Рынок (`market`) по умолчанию определяется по месту вылета, иначе — `ru`; данные разных рынков не пересекаются.
- Рекомендуется получать ответы в gzip: заголовок `Accept-Encoding: gzip, deflate`.
- Логотипы авиакомпаний: `http://pics.avs.io/{width}/{height}/{iata}.png`.
- Устаревшие методы `/v1/prices/cheap`, `/v1/prices/direct`, `/v1/prices/calendar`, `/v1/city-directions`, `/v1/airline-directions` заменяются `prices_for_dates` и `grouped_prices`.

## Сценарии с этим методом

- [Показать дешёвые билеты по направлению](https://mcp-everything.ru/integrations/travelpayouts-aviasales/scenarios/pokazat-deshevye-bilety-po-napravleniyu.md)
- [Подобрать, куда дёшево улететь из города](https://mcp-everything.ru/integrations/travelpayouts-aviasales/scenarios/podobrat-kuda-deshevo-uletet-iz-goroda.md)

---

Если этого недостаточно — официальная документация: https://support.travelpayouts.com/hc/en-us/articles/203956163
Вся интеграция одним документом: https://mcp-everything.ru/integrations/travelpayouts-aviasales.md
