API Booking Поиск
Состояние API
- Состояние за 24 ч
- Норма
- Среднее время за 24 ч
- —
- Стабильно / норма
- Доступно
- Ограничено
- Почти недоступно
Последние 24 часа
Последние 30 дней
Ищите отели, апартаменты и другое жильё на Booking.com по направлению. Получите официальные звёзды, оценку гостей, цену, условия завтрака, сеть и местоположение. Даты передавайте парой check_in и check_out. Цены приведены в том виде, как они показаны на сайте, и не фиксируются до оформления бронирования.
Booking Search выдаёт варианты размещения на Booking в направлении, переданном в keyword, например London или Amsterdam. Для каждого объекта возвращаются название и тип, официальная звёздность, оценка гостей с её словесной характеристикой и числом отзывов, цена и валюта, условия завтрака, сеть, адрес и координаты. Тревел-стартапы, ревеню-менеджеры отелей и аналитики рынка используют эту возможность, чтобы увидеть, что предлагает направление, как оцениваются объекты и какие цены действуют на выбранные даты.
Чтобы получить цены на конкретные ночи, укажите вместе check_in и check_out. Две настройки легко понять неправильно. min_price принимает диапазон цен за ночь в виде текста, например 100-150 или 100+, в валюте из currency. sort со значением top_rated сортирует по звёздности, а не по оценке гостей. stars в каждой записи и фильтр star_rating используют официальную шкалу от 1 до 5, а rating содержит оценку гостей по 10-балльной шкале Booking.
Цена: $1.39 за 1 000 запросов ($0.001389 за вызов). Неудачные вызовы и пустые результаты не оплачиваются. Синхронный режим. Для долгих задач добавьте в тело запроса "mode": "async", получите job_id и опрашивайте статус.
Промпт для ИИ
Помогите мне написать скрипт для сбора данных через эндпоинт EveryInfra Booking Поиск (booking/search).
Как работает эндпоинт:
- Запрос: POST https://api.everyinfra.com/api/v1/social с заголовком Authorization: Bearer <API key>. Читайте ключ из переменной окружения EVERYINFRA_API_KEY и никогда не прописывайте его в коде.
- В теле запроса укажите platform: booking и action: search, а параметры передайте в params.
- Обязательные параметры:
- keyword: Задаёт название направления, например Amsterdam. Действие search использует его для поиска отелей, апартаментов и другого жилья, а не перелётов, достопримечательностей или ключевых слов отзывов.
- Необязательные параметры:
- check_in: Задаёт дату заезда в формате YYYY-MM-DD. Чтобы действия search и profile передали даты проживания, нужны оба параметра: check_in и check_out. Для prices это начальная дата, если start_date не указан.
- check_out: Задаёт дату выезда в формате YYYY-MM-DD; она должна быть позже check_in и передаваться вместе с ним. Если указать только check_out, диапазон проживания не будет передан в действия search или profile.
- currency: Задаёт валюту отображения цен на жильё, по умолчанию USD. Для действий search и profile принимаются перечисленные коды в нижнем регистре, для prices — трёхбуквенные коды в верхнем регистре. (допустимые значения: aed / ars / aud / azn / bgn / bhd / brl / cad)
- lang: Задаёт язык страницы объекта, по умолчанию британский английский. Принимает engb или enus для британского или американского английского и zhcn или zhtw для упрощённого или традиционного китайского (не передавайте общие e… (допустимые значения: ar / bg / ca / cs / da / de / el / engb)
- min_price: Фильтрует объекты по строке диапазона цены за ночь, а не по одному минимальному значению (например, 100-150 для диапазона или 100+ для цены от 100). Валюта задаётся параметром currency.
- property_type: Фильтрует результаты поиска по категории жилья с сохранением регистра и пробелов (например, Hotels, Apartments, Hostels, Guest houses, Homestays, Bed and breakfasts, Holiday homes, Boats, Villas, Motels, Resorts, Holiday…
- sort: Сортирует объекты: distance по расстоянию от location, popular по сводному рейтингу отзывов или top_rated по звёздности, а не по оценке гостей. (допустимые значения: distance / popular / top_rated)
- star_rating: Фильтрует объекты по звёздности: от 1_star до 5_stars, unrated для объектов без звёзд или any, чтобы снять ограничение. Звёздность объекта не связана с оценками в отзывах гостей. (допустимые значения: 1_star / 2_stars / 3_stars / 4_stars / 5_stars / any / unrated)
- Остальные необязательные параметры (1) перечислены в таблице параметров на этой странице.
- Возвращает список записей. Основные поля каждой записи: id, name, type, url, text, stars (Звёздность отеля (1–5), официальная оце…), rating, rating_scale, rating_label (Текстовая градация оценки (например, Wo…), review_count, price, currency; всего полей: 25, полный список: https://api.everyinfra.com/api/v1/social/catalog?platform=booking.
- Пример тела запроса:
{
"platform": "booking",
"action": "search",
"params": {
"keyword": "London"
}
}
- Цена: $1.39 за 1 000 запросов; неудачные и пустые результаты не оплачиваются.
- Для десятков или сотен целей добавьте в тело запроса "mode": "async": вы сразу получите job_id и сможете опрашивать GET https://api.everyinfra.com/api/v1/jobs/{job_id}, чтобы получить результат.
- При ответе 422 исправьте запрос, используя предложенные в ошибке имена параметров и допустимые значения; при ответе 429 или 503 подождите указанное в Retry-After время и повторите попытку.
Прежде чем писать код, спросите меня, какие цели мне нужны, сколько их будет, какие поля мне нужны и в каком формате вывести результат; затем согласуйте со мной план и примерную стоимость.Параметры запроса
| Имя | Расположение | Тип | Обязательный | По умолчанию | Описание |
|---|---|---|---|---|---|
Authorization | header | string | Да | - | Укажите Bearer, а после него — ваш API-ключ. Создайте ключ в консоли; никогда не указывайте его в URL и не храните в репозитории кода. |
platform | body | string | Да | booking | Идентификатор платформы, фиксированное значение. |
action | body | string | Да | search | Идентификатор возможности, фиксированное значение. |
keyword | body.params | string | Да | - | Задаёт название направления, например Amsterdam. Действие search использует его для поиска отелей, апартаментов и другого жилья, а не перелётов, достопримечательностей или ключевых слов отзывов. |
check_in | body.params | date | Нет | - | Задаёт дату заезда в формате YYYY-MM-DD. Чтобы действия search и profile передали даты проживания, нужны оба параметра: check_in и check_out. Для prices это начальная дата, если start_date не указан. Бронирование не создаётся. |
check_out | body.params | date | Нет | - | Задаёт дату выезда в формате YYYY-MM-DD; она должна быть позже check_in и передаваться вместе с ним. Если указать только check_out, диапазон проживания не будет передан в действия search или profile. |
currency | body.params | string (enum) | Нет | - | Задаёт валюту отображения цен на жильё, по умолчанию USD. Для действий search и profile принимаются перечисленные коды в нижнем регистре, для prices — трёхбуквенные коды в верхнем регистре. Параметр не меняет оплату API EveryInfra.Допустимые значенияaedarsaudaznbgnbhdbrlcadchfclpcnycopczkdkkegpeurfjdgbpgelhkdhufidrilsinrjodjpykrwkwdkztmdlmxnmyrnadnoknzdomrplnqarronrubsarseksgdthbtrytwduahusdxofzar |
lang | body.params | string (enum) | Нет | - | Задаёт язык страницы объекта, по умолчанию британский английский. Принимает engb или enus для британского или американского английского и zhcn или zhtw для упрощённого или традиционного китайского (не передавайте общие en или zh). Параметр не переводит текст отзывов.Допустимые значенияarbgcacsdadeelengbenusesesaretfifrhehrhuidisitjakoltlvmsnlnoplptbrptptroruskslsrsvthtltrukvizhcnzhtw |
min_price | body.params | number | Нет | - | Фильтрует объекты по строке диапазона цены за ночь, а не по одному минимальному значению (например, 100-150 для диапазона или 100+ для цены от 100). Валюта задаётся параметром currency; полная стоимость проживания не поддерживается. |
property_type | body.params | string | Нет | - | Фильтрует результаты поиска по категории жилья с сохранением регистра и пробелов (например, Hotels, Apartments, Hostels, Guest houses, Homestays, Bed and breakfasts, Holiday homes, Boats, Villas, Motels, Resorts, Holiday parks, Campsites, Luxury tents или none без ограничения). Параметр фильтрует категории объектов, а не типы номеров. |
sort | body.params | string (enum) | Нет | - | Сортирует объекты: distance по расстоянию от location, popular по сводному рейтингу отзывов или top_rated по звёздности, а не по оценке гостей. В search по умолчанию используется popular, в запросах profile сортировка игнорируется.Допустимые значенияdistancepopulartop_rated |
star_rating | body.params | string (enum) | Нет | - | Фильтрует объекты по звёздности: от 1_star до 5_stars, unrated для объектов без звёзд или any, чтобы снять ограничение. Звёздность объекта не связана с оценками в отзывах гостей.Допустимые значения1_star2_stars3_stars4_stars5_starsanyunrated |
limit | body.params | integer (1–30) | Нет | 10 | Максимальное число записей в этом вызове, целое число от 1 до 30. Если параметр не указан, применяется значение по умолчанию; вызов может вернуть меньше записей. При значениях выше максимума эндпоинт возвращает ошибку 422 до списания средств. |
Примеры кода
curl -X POST 'https://api.everyinfra.com/api/v1/social' \
-H "Authorization: Bearer $EVERYINFRA_API_KEY" \
-H 'Content-Type: application/json' \
--data-raw '{
"platform": "booking",
"action": "search",
"params": {
"keyword": "London"
}
}'Спецификация OpenAPI (JSON)Примеры читают ключ из переменной окружения EVERYINFRA_API_KEY; скопированный код никогда не содержит ваш ключ.
Пример ответа
Получено September 26, 2026 at 08:56 (UTC) вызовом этого API с параметрами из примера кода выше. results и count — реальный ответ этого вызова, из которого удалены персональные данные (имена, никнеймы, аватары, ссылки на профили, контакты); в списке оставлены первые 2. id, billing и quota меняются при каждом вызове, поэтому показана только их структура.
{
"id": "req_…",
"platform": "booking",
"action": "search",
"results": [
{
"id": 9152828,
"name": "Cleveland Residences Farringdon",
"type": "apartment",
"url": "https://www.booking.com/hotel/gb/cleveland-residences-farringdon.en-gb.html",
"text": "About this propertyCentral London Location: Cleveland Residences Farringdon is situated in London city centre, offering easy access to key attractions. St Paul's Cathedral is a 13-minute walk away, while Sky Garden lies 2.5 km from the property.\n\nComfortable Amenities: Guests enj…",
"rating": 9.1,
"review_count": 1242,
"address": "116-117 Saffron Hill, Camden, Camden, London, EC1N 8QS, United Kingdom",
"city": "London",
"country": "gb",
"latitude": "51.5203036425954",
"longitude": "-0.106765334515317",
"image_url": "https://cf.bstatic.com/xdata/images/hotel/max1024x768/725064039.jpg?k=8aa8ee4090de4750c832a40819443d8d3731aed5b023f354e9b4093d78732fcc&o=",
"platform": "booking",
"category_ratings": [
{
"name": "Staff",
"score": 9.2
},
{
"name": "Facilities",
"score": 9.2
},
{
"name": "Cleanliness",
"score": 9.4
}
],
"image_urls": [
"https://cf.bstatic.com/xdata/images/hotel/max1024x768/725064039.jpg?k=8aa8ee4090de4750c832a40819443d8d3731aed5b023f354e9b4093d78732fcc&o=&hp=1",
"https://cf.bstatic.com/xdata/images/hotel/max1024x768/735052970.jpg?k=b5c291fb38e2cdeacf237c2652552638c9a777c3ec9054c3fa0c5029dbe09099&o=&hp=1",
"https://cf.bstatic.com/xdata/images/hotel/max1024x768/735053105.jpg?k=3f6df590a0aec806a17c2238c6bce37c9e9c700fa4b1f630da028a573b84fff8&o=&hp=1"
],
"facilities": [
"Private bathroom",
"Air conditioning",
"Free WiFi"
],
"rating_scale": 10
},
{
"id": 35820,
"name": "Sofitel London St James",
"type": "hotel",
"url": "https://www.booking.com/hotel/gb/st-james-london.en-gb.html",
"text": "Get the celebrity treatment with world-class service at Sofitel London St JamesIn London's West End, this 5-star luxury hotel is set in a beautifully preserved Neoclassical building. It boasts a luxurious on-site spa, spacious rooms, and Michelin Star restaurant, Wild Honey St Ja…",
"stars": 5,
"rating": 9.1,
"review_count": 804,
"breakfast": "Continental, Full English/Irish, Vegetarian, Vegan, Gluten-free, American, Buffet",
"address": "6 Waterloo Place, Westminster Borough, London, SW1Y 4AN, United Kingdom",
"city": "London",
"country": "gb",
"latitude": "51.50752378484304",
"longitude": "-0.1324474811553955",
"image_url": "https://cf.bstatic.com/xdata/images/hotel/max1024x768/804916751.jpg?k=c5f49dc9649a166531d810b862cb312d841e2dc1266f1a6672d6f7461b7c0f9f&o=",
"platform": "booking",
"category_ratings": [
{
"name": "Staff",
"score": 9.5
},
{
"name": "Facilities",
"score": 9.2
},
{
"name": "Cleanliness",
"score": 9.5
}
],
"image_urls": [
"https://cf.bstatic.com/xdata/images/hotel/max1024x768/804916751.jpg?k=c5f49dc9649a166531d810b862cb312d841e2dc1266f1a6672d6f7461b7c0f9f&o=&hp=1",
"https://cf.bstatic.com/xdata/images/hotel/max1024x768/887340748.jpg?k=e58ae27f3487f6ab3654dab8b57ef2a2821298cc636e66fa515f7cf96a0e8141&o=&hp=1",
"https://cf.bstatic.com/xdata/images/hotel/max1024x768/804916786.jpg?k=97de20f440fc61186681a99951e472bb6f8e7365c219d9257d4766d2d580d8da&o=&hp=1"
],
"facilities": [
"4 restaurants",
"Parking",
"Pets allowed"
],
"rating_scale": 10
}
],
"count": 10,
"billing": {
"charged": …,
"charged_usd": …,
"balance_after_usd": …,
…
},
"quota": { … }
}Поля ответа
Бизнес-данные находятся в results. В таблице перечислены поля, которые может содержать запись; значения, которые платформа не показывает, никогда не выдумываются.
| Поле | Значение |
|---|---|
id | Уникальный ID записи на платформе. Уникален только в пределах одной платформы; на разных платформах ID могут повторяться. |
name | Название самого объекта для возможностей по аккаунтам, товарам и компаниям. |
type | Тип записи; значения зависят от возможности (например, video / image / text). |
url | Ссылка на запись на платформе. |
text | Основной текст без HTML возвращается полностью и никогда не обрезается (на нескольких платформах результаты списковых запросов содержат только фрагмент; это указано в примечаниях к полям платформы). |
stars | Звёздность отеля (1–5), официальная оценка оснащения объекта. Это не то же самое, что оценка гостей в rating. |
rating | Рейтинг. Шкала зависит от платформы: rating_scale в той же записи задаёт максимум (обычно 5; у Booking, Douban, iQIYI и NAVER — 10). Перед сравнением между платформами пересчитайте значения с учётом rating_scale, иначе результат сравнения может оказаться обратным. |
rating_scale | Максимальное значение rating в той же записи: 5 для пятизвёздочных шкал, 10 для десятибалльных. Поле присутствует, только если у записи есть рейтинг. |
rating_label | Текстовая градация оценки (например, Wonderful или Very good), определяемая по баллу. |
review_count | Количество отзывов для возможностей по товарам и компаниям. null означает, что значение не раскрыто, а не 0. |
price | Цена числом без символа валюты; см. currency. |
currency | Код валюты цены (например, CNY, USD). Если price есть, а currency равно null, не делайте предположений о валюте. |
breakfast | Информация о завтраке (включён, не включён или за доплату). |
hotel_chain | Гостиничная сеть, к которой относится объект; null для независимых отелей. |
check_in_date | Дата заезда, использованная для этого запроса. |
check_out_date | Дата выезда, использованная для этого запроса. |
address | Полный адрес передаётся как есть. |
city | Название города на языке платформы в исходном виде. |
country | Страна или регион: полное название либо код ISO в зависимости от платформы. Значение передаётся без нормализации. |
latitude | Широта. |
longitude | Долгота. |
image_url | Ссылка на изображение. Возможности с несколькими изображениями могут возвращать массив image_urls. |
platform | Идентификатор исходной платформы. Совпадает со значением platform в запросе (например, xiaohongshu, tiktok). |
category_ratings | Оценки по категориям: у каждой есть название (например, чистота или расположение) и балл; поле отсутствует, если оценок нет. |
image_urls | Массив ссылок на изображения в порядке показа на платформе; поле отсутствует, если изображений нет. |
facilities | Названия удобств и услуг в порядке следования групп на странице; поле отсутствует, если их нет. |
FAQ
Почему top_rated не сортирует по оценке гостей?
В Booking Search значение top_rated сейчас сортирует объекты по звёздности, а не по отзывам гостей. Чтобы ранжировать по оценке гостей, получите результаты и отсортируйте их сами по rating, учитывая review_count, чтобы оценка по нескольким отзывам не обгоняла чуть более низкую, основанную на тысячах отзывов. popular, значение по умолчанию, задаёт общий порядок Booking с учётом отзывов, а distance сортирует по расстоянию от места поиска.
Как работает фильтр min_price?
Вопреки названию, min_price принимает строку с диапазоном цен за ночь: 100-150 оставляет объекты с ценой за ночь между этими двумя числами, а 100+ оставляет объекты от 100 за ночь и выше. Числа считываются в валюте, выбранной в currency; по умолчанию это доллары США. Не указывайте общую стоимость за всё проживание.
Какие значения принимают property_type и star_rating?
property_type принимает текст в формулировках самого Booking, с теми же заглавными буквами и пробелами, например Hotels, Apartments, Hostels, Guest houses или Bed and breakfasts; none отключает фильтр. Параметр задаёт тип объекта, а не тип номера. star_rating принимает значения от 1_star до 5_stars, unrated или any и фильтрует по официальной звёздности, шкала которой отличается от гостевой оценки rating.
Ошибки и оплата
- 401
- Ключ отсутствует или недействителен.
- 402
- Недостаточно средств на балансе. Сначала пополните баланс.
- 422
- Недопустимое имя или значение параметра. Исправьте запрос по подсказкам в сообщении об ошибке. Без списания.
- 429
- Достигнут лимит запросов в минуту. Подождите указанное в Retry-After время, затем повторите попытку.
- 503
- Не удалось выполнить. Зарезервированная сумма возвращается на баланс. Если результат неизвестен, проверьте его перед повторной попыткой.
- 200 (пусто)
- Нет данных. Без списания.
Официальные источники
Используются только для проверки объектов и терминов. Они не означают, что платформа разрешила или одобрила работу EveryInfra.
- Booking: звёздный рейтинг, оценки в отзывах и рейтинг качества ↗
У Booking отдельные определения для звёздного рейтинга объекта, оценок в отзывах гостей и рейтинга качества. Звёздный рейтинг от 1 до 5 отличается от оценки гостей от 1 до 10, и его нельзя путать с рейтингом качества в виде жёлтых квадратов.
Проверено 2026-09-04