# Aviasales Data API (Travelpayouts): Найти билеты в рамках бюджета

Сценарий из mcp-everything. Актуально на 2026-10-24.

Фильтр «до 10 000 ₽» для подборок и рассылок.

1. Запроси билеты в диапазоне цен: GET /aviasales/v3/search_by_price_range с origin, destination (или «-» — все направления), value_min и value_max.
2. Ограничь выдачу: one_way, direct, limit и page для постраничного вывода.
3. Сверяй актуальность по сроку из ответа и не показывай устаревшие цены: данные в кэше хранятся до 7 дней.

```bash
curl -G "https://api.travelpayouts.com/aviasales/v3/search_by_price_range" \
  -H "X-Access-Token: $TP_TOKEN" --compressed \
  -d origin=MOW -d destination=- -d value_min=3000 -d value_max=10000 \
  -d one_way=true -d direct=false -d limit=30 -d page=1 -d currency=rub
```

## Базовые 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
```

## Методы сценария

### GET /aviasales/v3/search_by_price_range — Поиск билетов по диапазону цен

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `token` | query | string | да | API-токен |
| `origin` | query | string | нет | IATA-код вылета |
| `destination` | query | string | нет | IATA-код назначения (- — все) |
| `value_min` | query | number | нет | Минимальная цена |
| `value_max` | query | number | нет | Максимальная цена |
| `one_way` | query | boolean | нет | В одну сторону |
| `direct` | query | boolean | нет | Только прямые, по умолчанию false |
| `locale` | query | string | нет | Язык |
| `currency` | query | string | нет | Валюта |
| `market` | query | string | нет | Рынок данных |
| `limit` | query | integer | нет | Записей на странице |
| `page` | query | integer | нет | Номер страницы |

## Нюансы

- Ответ: `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/postroit-kalendar-tsen.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
