mcpField
T
tripadvisor

tripadvisor

github.com/borski生産性78088 回インストール2 日前に更新
リポジトリ

tripadvisor について

TripAdvisor Content APIからホテル、レストラン、観光スポットの情報を取得するスキルです。ランキング、口コミ、写真、設備などを参照できますが、料金確認や予約には対応しません。

主な機能

  1. 01名称やカテゴリで場所を検索
  2. 02評価とランキング情報を取得
  3. 03最近の口コミと写真を取得
  4. 04座標から近隣の場所を検索
  5. 05設備、受賞歴、詳細評価を確認

活用シーン

  1. 01評価や設備によるホテル比較
  2. 02ホテル周辺のレストラン検索
  3. 03目的地周辺の観光スポット調査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/borski/travel-hacking-toolkit --skill tripadvisor

インストール後、Claude Code で/tripadvisorを入力して読み込まれたか確認します。

詳細

TripAdvisor コンテンツ API

TripAdvisor からホテル、レストラン、観光スポットのデータを検索・取得します。評価、ランキング、口コミ、写真、設備、サブ評価、旅行のタイプ、受賞歴を取得できます。

ベース URL: https://api.content.tripadvisor.com/api/v1

レート制限: 1 秒あたり 50 回。

月間クォータ: 月あたり 5,000 回の API 呼び出し。curl リクエスト 1 回につき 1 回分を消費します。ホテル情報を一通り取得(検索+詳細+口コミ+写真)すると、4 回分を消費します。計画的に利用してください。検索+詳細(2 回)を優先し、口コミや写真は必要な場合にのみ取得してください。

API の制限: 検索ごとに最大 10 件。場所ごとに最大 5 件の口コミと 5 枚の写真。

認証

初回セットアップ時の注意点: API キーが使えるようになるには、https://www.tripadvisor.com/developers で外向き IP アドレスを許可リストに登録する必要があります。登録しないと、すべての呼び出しで User is not authorized to access this resource with an explicit deny が返されます。これは初回に最もよくある失敗です。認証やクォータの問題を調べる前に、IP アドレスを許可リストに登録してください。

  • 現在の IP アドレスの確認方法: curl ifconfig.me
  • 反映時間: 変更の反映には 1~5 分かかります(AWS エッジキャッシュ)。
  • 複数の IP アドレス: 住宅用 CGNAT、VPN の出口、異なるネットワークは、それぞれ個別に登録する必要があります。
  • Referer を使わない代替手段: 無料枠では IP アドレスの許可リスト登録が必要です。HTTP Referer による制限は利用できません。
  • 各キーの確認方法: 開発者ポータルには末尾 4 文字(例:「Ends in 11D7」)のみが表示されるため、シークレットを公開せずに確認できます。

.env ファイルに TRIPADVISOR_API_KEY を設定します。

# In .env (gitignored)
TRIPADVISOR_API_KEY=your_key_here

呼び出す前に、次のように環境変数を読み込みます。

export $(grep TRIPADVISOR_API_KEY .env | xargs)
エラーのパターン
応答意味対処方法
User is not authorized to access this resource with an explicit denyIP アドレスが許可リストに登録されていない開発者ポータルで現在の IP アドレスを許可リストに登録し、1~5 分待ちます
Forbidden / 403(本文なし)キーが無効、または期限切れキーを再生成します
429 Too Many Requests月間クォータ(5,000 回)に到達翌月まで待つか、プランをアップグレードします

エンドポイント

1. 場所の検索

名前で場所を検索します。最大 10 件の結果を返します。

curl -s "https://api.content.tripadvisor.com/api/v1/location/search?key=$TRIPADVISOR_API_KEY&searchQuery=NOFO+Hotel+Stockholm&category=hotels&language=en"

パラメーター:

パラメーター必須説明
searchQueryはいテキスト検索クエリ(ホテル、レストラン、都市の名前)
categoryいいえフィルター:hotels、restaurants、attractions、geos
phoneいいえ電話番号のフィルター(形式は任意、先頭の + は付けません)
addressいいえ住所のフィルター
latLongいいえ緯度・経度の組み合わせ。例:59.3127,18.0716
radiusいいえlatLong からの半径(数値)
radiusUnitいいえkm、mi、m のいずれか
languageいいえデフォルトは en。40 以上の言語に対応しています。

レスポンスの形式:

{
  "data": [
    {
      "location_id": "237656",
      "name": "Nofo Hotel",
      "address_obj": {
        "street1": "Tjarhovsgatan 11",
        "city": "Stockholm",
        "country": "Sweden",
        "postalcode": "116 21",
        "address_string": "Tjarhovsgatan 11, Stockholm 116 21 Sweden"
      }
    }
  ]
}
2. 場所の詳細

ID を指定して、場所の詳しい情報を取得します。最も豊富な情報を返すエンドポイントです。

curl -s "https://api.content.tripadvisor.com/api/v1/location/{locationId}/details?key=$TRIPADVISOR_API_KEY&language=en&currency=USD"

パラメーター:

パラメーター必須説明
locationIdはい(パス)検索で取得した TripAdvisor の場所 ID
languageいいえデフォルトは en
currencyいいえISO 4217 コード。デフォルトは USD

レスポンスに含まれる項目:

  • name、web_url、address_obj、latitude、longitude、timezone、phone
  • rating(文字列。例:"4.6")、num_reviews(文字列。例:"845")
  • review_rating_count:星ごとの内訳({"1": "7", "2": "10", ...})
  • ranking_data:ranking(10 位)、ranking_out_of(168)、ranking_string(「ストックホルムのホテル 168 軒中 10 位」)
  • subratings:ロケーション、睡眠の質、客室、サービス、コストパフォーマンス、清潔さ(各 0.0~5.0)
  • price_level:"$"、"$$"、"$$$"、"$$$$"
  • amenities:文字列の配列
  • styles:配列(例:「ファミリー向け」、「中心部」)
  • neighborhood_info:location_id と name を含む配列
  • trip_types:ビジネス、カップル、一人旅、家族、友人と旅行。それぞれ件数を含みます
  • awards:Travellers' Choice、Best of the Best など。受賞年と画像を含みます
  • parent_brand、brand:系列ブランド
  • category、subcategory:ホテル/レストラン/観光スポット
  • photo_count、see_all_photos URL
  • write_review URL
3. 口コミの取得

最新の口コミを最大 5 件取得します。

curl -s "https://api.content.tripadvisor.com/api/v1/location/{locationId}/reviews?key=$TRIPADVISOR_API_KEY&language=en"

パラメータ:

パラメータ必須説明
locationIdはい (パス)TripAdvisor のロケーション ID
languageいいえデフォルトは en
limitいいえ結果の件数 (無料枠では最大 5)
offsetいいえ最初の結果のインデックス

レスポンスの形式:

{
  "data": [
    {
      "id": 123456,
      "lang": "en",
      "location_id": "237656",
      "published_date": "2026-03-15T00:00:00-04:00",
      "rating": 5,
      "text": "Review text...",
      "title": "Review title",
      "trip_type": "Couples",
      "travel_date": "2026-03",
      "user": { "username": "traveler123" },
      "subratings": {}
    }
  ]
}

注意: 英語の口コミが少ないロケーションでは、口コミが空の data: [] で返ることがあります。海外のホテルでは、異なる language の値を試してみてください。

4. ロケーションの写真

複数のサイズオプション付きで、最新の写真を最大 5 件取得します。

curl -s "https://api.content.tripadvisor.com/api/v1/location/{locationId}/photos?key=$TRIPADVISOR_API_KEY&language=en"

パラメータ:

パラメータ必須説明
locationIdはい (パス)TripAdvisor のロケーション ID
languageいいえデフォルトは en
limitいいえ結果の件数 (無料枠では最大 5)
offsetいいえ最初の結果のインデックス
sourceいいえカンマ区切り: Expert、Management、Traveler

レスポンスに含まれる写真サイズ:

  • thumbnail: 50x50 にクロップ
  • small: 150x150 にクロップ
  • medium: 最大 250px の寸法
  • large: 最大 550px の寸法
  • original: フル解像度
5. 近隣ロケーションの検索

座標の近くにあるロケーションを検索します。最大 10 件を返します。

curl -s "https://api.content.tripadvisor.com/api/v1/location/nearby_search?key=$TRIPADVISOR_API_KEY&latLong=59.3127,18.0716&category=hotels&language=en"

パラメータ:

パラメータ必須説明
latLongはい緯度/経度のペア。例: 59.3127,18.0716
categoryいいえhotels、restaurants、attractions、geos
phoneいいえ電話番号のフィルター
addressいいえ住所のフィルター
radiusいいえlatLong からの半径
radiusUnitいいえkm、mi、m
languageいいえデフォルトは en

レスポンスには、各結果の distance (km) と bearing (例: "northwest") が含まれます。

一般的なワークフロー

ホテルの調査 (最も一般的)
# 1. Search for hotel
curl -s "https://api.content.tripadvisor.com/api/v1/location/search?key=$TRIPADVISOR_API_KEY&searchQuery=Amerikalinjen+Oslo&category=hotels" | python3 -m json.tool

# 2. Get details with location_id from step 1
curl -s "https://api.content.tripadvisor.com/api/v1/location/1234567/details?key=$TRIPADVISOR_API_KEY&currency=USD" | python3 -m json.tool

# 3. Get reviews (optional, costs 1 call)
curl -s "https://api.content.tripadvisor.com/api/v1/location/1234567/reviews?key=$TRIPADVISOR_API_KEY" | python3 -m json.tool

# 4. Get photos (optional, costs 1 call)
curl -s "https://api.content.tripadvisor.com/api/v1/location/1234567/photos?key=$TRIPADVISOR_API_KEY" | python3 -m json.tool
同じ都市にある複数のホテルを比較する
# Search all hotels in city
curl -s "https://api.content.tripadvisor.com/api/v1/location/search?key=$TRIPADVISOR_API_KEY&searchQuery=hotels+Copenhagen&category=hotels"

# Then get details for each location_id returned
# Compare: rating, num_reviews, ranking_data.ranking, subratings, price_level, amenities
ホテルの近くのレストランを探す
# Use hotel's lat/long from details response
curl -s "https://api.content.tripadvisor.com/api/v1/location/nearby_search?key=$TRIPADVISOR_API_KEY&latLong=59.31555,18.078924&category=restaurants"
目的地の調査
# Search for attractions
curl -s "https://api.content.tripadvisor.com/api/v1/location/search?key=$TRIPADVISOR_API_KEY&searchQuery=things+to+do+Stockholm&category=attractions"

# Nearby attractions from a point
curl -s "https://api.content.tripadvisor.com/api/v1/location/nearby_search?key=$TRIPADVISOR_API_KEY&latLong=59.3293,18.0686&category=attractions"

使用すべきケース

  • ホテルの評価 (評価、ランキング、サブ評価、口コミのセンチメント)
  • ホテルの近くや地区内のレストランの比較
  • 目的地の近くの観光スポットやアクティビティの検索
  • TripAdvisor のランキングデータの取得 (「ストックホルムの 168 軒のホテル中第 1 位」)
  • アメニティ、旅行タイプの内訳、受賞歴の確認
  • ホテルのチェーン系列や地区情報の確認

使用すべきでないケース

  • 料金や空室状況。 TripAdvisor Content API には料金データがありません。料金については serpapi、liteapi、chase-travel、amex-travel、または rapidapi を使用してください。
  • 予約。 これは読み取り専用のデータです。予約機能はありません。
  • 一括スクレイピング。 月間 5,000 コールです。計画的に使用してください。

ホテル比較のための主要データポイント

ホテルを比較する際は、以下を抽出して提示します:

フィールドパス例
評価rating"4.6"
口コミ数num_reviews"845"
ランキングranking_data.ranking_string"#10 of 168 hotels in Stockholm"
ロケーションのサブ評価subratings.0.value"4.7"
サービスのサブ評価subratings.3.value"4.7"
清潔さのサブ評価subratings.5.value"4.8"
価格帯price_level"$$$$"
旅行タイプの最多項目最も高い trip_types[].value"Couples: 381"
受賞歴awards[].display_name"Travelers Choice 2025"
朝食amenities に "Breakfast included" が含まれるはい/いいえ
チェーンparent_brand"Worldhotels"

対応言語

ar、zh、zh_TW、da、nl、en、en_AU、en_CA、en_HK、en_IN、en_IE、en_MY、en_NZ、en_PH、en_SG、en_ZA、en_UK、fr、fr_BE、fr_CA、fr_CH、de、de_AT、el、iw、it、it_CH、ja、ko、no、pt、pt_PT、ru、es、es_AR、es_CO、es_MX、es_PE、es_VE、es_CL、sv、th、tr、vi

スカンジナビアのホテルを検索して現地語の口コミを取得する場合は、デンマーク語には da、ノルウェー語には no、スウェーデン語には sv を使用してください。

コメント