tripadvisor について
TripAdvisor Content APIからホテル、レストラン、観光スポットの情報を取得するスキルです。ランキング、口コミ、写真、設備などを参照できますが、料金確認や予約には対応しません。
主な機能
- 01名称やカテゴリで場所を検索
- 02評価とランキング情報を取得
- 03最近の口コミと写真を取得
- 04座標から近隣の場所を検索
- 05設備、受賞歴、詳細評価を確認
活用シーン
- 01評価や設備によるホテル比較
- 02ホテル周辺のレストラン検索
- 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 deny | IP アドレスが許可リストに登録されていない | 開発者ポータルで現在の 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¤cy=USD"
パラメーター:
| パラメーター | 必須 | 説明 |
|---|---|---|
locationId | はい(パス) | 検索で取得した TripAdvisor の場所 ID |
language | いいえ | デフォルトは en |
currency | いいえ | ISO 4217 コード。デフォルトは USD |
レスポンスに含まれる項目:
name、web_url、address_obj、latitude、longitude、timezone、phonerating(文字列。例:"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_photosURLwrite_reviewURL
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¤cy=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 を使用してください。