API і стрічки клубу: відкриті дані про автобусні тури
Відкрите JSON API (OpenAPI 3.1) і стрічки Atom/RSS/JSON Feed клубу автобусних турів: тури, виїзди, ціни з доплатами, місця. CC BY 4.0, без ключа.
Усі дані клубу можна брати машиною: JSON API без ключа і стрічки Atom, RSS та JSON Feed. Ліцензія — CC BY 4.0: використовуйте вільно, з посиланням «за даними bustours.club, {дата}» і адресою сторінки (поле url у кожному об'єкті).
JSON API
Основа: https://bustours.club/api/open/v1. Опис для програм — OpenAPI 3.1. Лише читання (GET/HEAD), CORS відкритий для всіх сайтів.
| Адреса | Що віддає |
|---|---|
/tours | Активні тури: оператор, тривалість, нічні переїзди, країни, маршрут, міста посадки, ціна «від» на сьогодні й з обов'язковими доплатами, найближчий виїзд. Фільтри: country, place, boarding, operator, from, to; sort=id|price|nearest. |
/tours/{id} | Один тур: усі майбутні виїзди зі статусами місць, тарифи на сьогодні, зміни цін, обов'язкові доплати, посадка, місця по днях, що входить і не входить, факультативи, «Рецензія клубу», FAQ. |
/departures | Майбутні виїзди за датою: from, to, city (місто посадки — slug з адреси /vyizd-z/{slug}: lvova, kyieva), country, tour_id, with_seats=1. |
/entities | Країни, регіони, міста, місця, події й приводи, під якими є тури (type=country|city|sight|…). |
/entities/{namespace}/{slug} | Сутність за адресою її сторінки: /misto/paryzh → /entities/misto/paryzh. Лічильники, «Дані клубу» станом на дату, тури, FAQ, Wikidata. |
/dani, /dani/{звіт} | Звіти «Дані клубу» (найдешевші напрямки, реальна вартість з доплатами, нічні переїзди, години в містах, ціни за місяцями) — рядки, база розрахунку, CSV. |
Що є в кожній відповіді
as_of— дані станом на (ISO 8601, UTC);license— назва, адреса ліцензії і готовий рядок «як цитувати»;links— self, ця сторінка, OpenAPI;- у списках —
pagination(до 100 на сторінку, посилання next/prev); data— самі дані. Id стабільні,url— канонічна сторінка клубу.
Ціни
price — ціна оператора на сьогодні (опорний тариф) у валюті оператора та еквівалент у € за курсом НБУ; with_mandatory_fees_eur — разом з обов'язковими доплатами (туристичний збір, радіогід тощо). Знижку показуємо, лише коли її показує сайт: явна стара ціна оператора або зниження за історією клубу, що трималося щонайменше 7 днів.
Кешування і ліміти
Відповіді мають ETag і Last-Modified — надсилайте If-None-Match / If-Modified-Since і отримаєте 304 без тіла. Стиснення gzip. Ліміт — 300 запитів за хвилину з однієї IP-адреси (далі 429 з Retry-After). Дані оновлюються щодня.
Приклад: curl -H 'Accept-Encoding: gzip' --compressed 'https://bustours.club/api/open/v1/departures?city=lvova&with_seats=1&from=2026-11-01&to=2026-11-30'
Стрічки
Кожна стрічка — у трьох форматах. Для країни: https://bustours.club/strichky/krayina/italiia/novi-tury.atom (також novi-vyizdy і znyzhennia-tsin).
- Нові автобусні тури — Тури, що щойно з'явилися в клубі: оператор, тривалість, ціна «від» і найближчий виїзд. Atom · RSS · JSON Feed
- Нові виїзди з вільними місцями — Нові дати виїздів автобусних турів, на які ще є місця. Atom · RSS · JSON Feed
- Зниження цін на автобусні тури — Виїзди, на які оператор знизив ціну за останні 14 днів (за щоденною історією цін клубу), і ціна досі тримається. Atom · RSS · JSON Feed
- Нові статті й описи клубу — Статті клубу автобусних турів і нові редакційні описи країн, міст і місць. Atom · RSS · JSON Feed
Чого в даних немає
Персональних даних (заявок, оголошень попутників, контактів), службових полів операторів і тексту програм операторів — він належить операторам, тому в API лише факти: дати, статуси, ціни, доплати, місця по днях. Тури для турагентів (FAM, інфо-тури) у списках не показуємо.
Методика розрахунків — як ми рахуємо. Для ШІ — llms.txt і llms-full.txt.
Питання
Чи потрібен ключ для API клубу?
Ні. API відкритий, лише читання, без реєстрації. Ліміт — 300 запитів за хвилину з однієї IP-адреси.
Як цитувати дані клубу?
«За даними Клуб автобусних турів, {дата з поля as_of}» і адреса сторінки з поля url. Ліцензія CC BY 4.0.
Як часто оновлюються дані?
Щодня: клуб обходить сайти операторів і оновлює тури, виїзди, ціни й статуси місць. Дата оновлення — у полі as_of кожної відповіді.