Booking検索API
APIの稼働状況
- 24時間の稼働状況
- 正常
- 24時間の平均応答時間
- —
- 良好/正常
- 利用可能
- 制限あり
- ほぼ停止
過去24時間
過去30日間
目的地を指定して、Booking.comでホテル、アパートメントなどの宿泊施設を検索します。公式の星評価、ゲストスコア、料金、朝食の条件、チェーン、所在地を取得できます。日付はcheck_inとcheck_outをペアで送信してください。料金は表示時点のもので、予約が完了するまで保証されません。
Booking Searchは、keywordに指定した目的地(LondonやAmsterdamなど)にあるBookingの宿泊施設を一覧表示します。各施設について、名称と種類、公式の星評価、ゲストスコアとそのラベルおよびレビュー数、料金と通貨、朝食の条件、チェーン、住所、座標を返します。旅行系スタートアップ、ホテルのレベニューマネージャー、市場アナリストは、目的地にどのような施設があり、それぞれどう評価され、指定した日程でいくらで提供されているかを把握するのに活用しています。
check_inとcheck_outを一緒に指定すると、その宿泊日の料金を取得できます。誤解しやすい設定が2つあります。min_priceは1泊あたりの料金範囲を100-150や100+のようなテキストで受け取り、currencyで設定した通貨で解釈されます。sortをtop_ratedにすると、ゲストスコアではなく星の等級順に並びます。各行のstarsとstar_ratingフィルターはどちらも公式の1〜5の尺度を使用し、ratingはBookingの10点満点のゲストスコアです。
料金は1,000リクエストあたり$1.39(1回あたり$0.001389)です。失敗した呼び出しと空の結果には課金されません。 同期処理です。時間のかかるジョブでは、ボディに"mode": "async"を追加し、job_idを取得してポーリングしてください。
AIプロンプト
EveryInfraのBooking 検索エンドポイント(booking/search)を使ったデータ収集スクリプトの作成を手伝ってください。
エンドポイントの仕組み:
- リクエスト:ヘッダーにAuthorization: Bearer <API key>を指定して、https://api.everyinfra.com/api/v1/socialにPOSTします。APIキーは環境変数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_inと一緒に指定する必要があります。check_outのみを指定しても、searchやprofileアクションに滞在期間は渡されません。
- currency: 宿泊施設の価格表示に使う通貨を指定します。デフォルトはUSDです。searchおよびprofileアクションでは記載された小文字のコードを、pricesでは大文字3文字のコードを受け付けます。このパラメータはEveryInfraのAPI課金には影響しません。(指定可能な値:aed / ars / aud / azn / bgn / bhd / brl / cad)
- lang: 宿泊施設ページの表示言語を指定します。デフォルトはイギリス英語です。イギリス英語またはアメリカ英語にはengbまたはenus、簡体字中国語または繁体字中国語にはzhcnまたはzhtwを指定します(汎用のenやzhは渡さないでください)。このパラメータはレビュー本文を翻訳しません。(指定可能な値:ar / bg / ca / cs / da / de / el / engb)
- min_price: 1泊あたりの料金範囲を表す文字列で施設を絞り込みます。単一の最低額ではありません(例:範囲指定は100-150、100以上は100+)。通貨はcurrencyパラメータで指定します。滞在全体の合計料金には対応していません。
- property_type: 宿泊施設のカテゴリで検索結果を絞り込みます。値は大文字・小文字とスペースを含めてそのまま指定します(例:Hotels、Apartments、Hostels、Guest houses、Homestays、Bed and breakfasts、Holiday homes、Boats、Villas、Motels、Resorts、Holiday parks、Campsites、Luxury tents、制限なしの場合はnone)。
- sort: 施設の検索結果を並べ替えます。locationからの距離順はdistance、レビューの総合評価順はpopular、ゲストのレビュースコアではなく星評価の順はtop_ratedを指定します。searchのデフォルトはpopularで、profileのクエリでは並べ替えは無視されます。(指定可能な値: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(スコアから算出される評価のテキストラベル(例:Wonderful、Very g…)、review_count、price、currency。フィールドは全部で25個です。一覧はhttps://api.everyinfra.com/api/v1/social/catalog?platform=bookingを参照してください。.
- リクエストボディの例:
{
"platform": "booking",
"action": "search",
"params": {
"keyword": "London"
}
}
- 料金:1,000リクエストあたり$1.39。失敗時および結果が空の場合は課金されません。
- 対象が数十〜数百件ある場合は、ボディに"mode": "async"を追加します。すぐにjob_idが返されるので、GET https://api.everyinfra.com/api/v1/jobs/{job_id}をポーリングして結果を取得します。
- 422の場合は、エラーに含まれる推奨パラメータ名と指定可能な値を使ってリクエストを修正します。429または503の場合は、Retry-Afterの指定に従って待ってから再試行します。
コードを書く前に、必要な対象とその件数、必要なフィールド、希望する出力形式を私に質問してください。そのうえで、計画と概算費用を私に確認してください。リクエストパラメータ
| 名前 | 場所 | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
Authorization | header | string | はい | - | Bearerの後にAPIキーを続けます。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_inと一緒に指定する必要があります。check_outのみを指定しても、searchやprofileアクションに滞在期間は渡されません。 |
currency | body.params | string (enum) | いいえ | - | 宿泊施設の価格表示に使う通貨を指定します。デフォルトはUSDです。searchおよびprofileアクションでは記載された小文字のコードを、pricesでは大文字3文字のコードを受け付けます。このパラメータはEveryInfraのAPI課金には影響しません。指定可能な値aedarsaudaznbgnbhdbrlcadchfclpcnycopczkdkkegpeurfjdgbpgelhkdhufidrilsinrjodjpykrwkwdkztmdlmxnmyrnadnoknzdomrplnqarronrubsarseksgdthbtrytwduahusdxofzar |
lang | body.params | string (enum) | いいえ | - | 宿泊施設ページの表示言語を指定します。デフォルトはイギリス英語です。イギリス英語またはアメリカ英語にはengbまたはenus、簡体字中国語または繁体字中国語にはzhcnまたはzhtwを指定します(汎用のenやzhは渡さないでください)。このパラメータはレビュー本文を翻訳しません。指定可能な値arbgcacsdadeelengbenusesesaretfifrhehrhuidisitjakoltlvmsnlnoplptbrptptroruskslsrsvthtltrukvizhcnzhtw |
min_price | body.params | number | いいえ | - | 1泊あたりの料金範囲を表す文字列で施設を絞り込みます。単一の最低額ではありません(例:範囲指定は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) | いいえ | - | 施設の検索結果を並べ替えます。locationからの距離順はdistance、レビューの総合評価順は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からAPIキーを読み込みます。コピーしたコードにAPIキーが含まれることはありません。
レスポンス例
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です。一意性は1つのプラットフォーム内に限られ、プラットフォームが異なると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段階評価では5、10点満点では10になります。行にratingがある場合のみ含まれます。 |
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は1泊あたりの料金範囲を文字列で受け取ります。100-150は1泊の料金がこの2つの数値の間にある施設を、100+は1泊100以上の施設を残します。数値はcurrencyで選択した通貨で解釈され、デフォルトは米ドルです。滞在全体の合計額は入力しないでください。
property_typeとstar_ratingにはどの値を指定できますか?
property_typeには、Hotels、Apartments、Hostels、Guest houses、Bed and breakfastsなど、Booking独自の表記どおりのテキストを、大文字とスペースも含めて同じ形で指定します。指定しない場合、フィルターは適用されません。これは施設の種類を指定するもので、客室タイプではありません。star_ratingには1_starから5_stars、unrated、anyを指定でき、公式の星の等級で絞り込みます。これはゲストのratingとは異なる尺度です。
エラーと課金
- 401
- キーが未指定か無効です。
- 402
- 残高が不足しています。先にチャージしてください。
- 422
- パラメータ名または値が無効です。エラーに含まれる候補を参考に修正してください。課金はされません。
- 429
- 1分あたりのリクエスト上限に達しました。Retry-Afterの指定に従って待ってから再試行してください。
- 503
- 処理を完了できませんでした。保留中の請求額は残高に戻されます。結果が不明な場合は、再試行する前に確認してください。
- 200(空)
- データがありません。課金はされません。
公式リファレンス
対象と用語の確認にのみ使用しています。プラットフォームによるEveryInfraの承認や推奨を意味するものではありません。
- Booking:星評価、クチコミスコア、品質評価 ↗
Bookingでは、宿泊施設の星評価、ゲストのクチコミスコア、品質評価をそれぞれ別に定義しています。1〜5の星評価は1〜10のクチコミスコアとは異なり、黄色いブロックで表示される品質評価とも混同しないでください。
確認日:2026-09-04