본문으로 건너뛰기
cccskills
무료GitHub에 공개

tripadvisor

TripAdvisor Content API for hotel ratings, restaurant search, attraction reviews, rankings, and nearby locations. Use when evaluating hotels or researching destinations. 5K calls/month.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md11.0 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

TripAdvisor Content API

Search and retrieve hotel, restaurant, and attraction data from TripAdvisor. Ratings, rankings, reviews, photos, amenities, subratings, trip types, awards.

Base URL: https://api.content.tripadvisor.com/api/v1

Rate limit: 50 calls per second.

Monthly quota: 5,000 API calls per month. Each curl request = 1 call. A full hotel lookup (search + details + reviews + photos) = 4 calls. Budget accordingly. Prefer search + details (2 calls) and only fetch reviews/photos when specifically needed.

API limits: Up to 10 results per search. Up to 5 reviews and 5 photos per location.

Authentication

First-time setup gotcha: TripAdvisor requires whitelisting your outbound IP at https://www.tripadvisor.com/developers before the key works. Without this, every call returns User is not authorized to access this resource with an explicit deny. This is the #1 first-time failure mode. Whitelist before troubleshooting auth or quotas.

  • How to find your current IP: curl ifconfig.me
  • Propagation: changes take 1-5 minutes (AWS edge cache).
  • Multi-IP: residential CGNAT, VPN exits, and different networks each need their own entry.
  • No Referer alternative: the free tier requires IP whitelisting; HTTP Referer restriction is not available.
  • Verify which key is which: the developer portal shows the last 4 chars only (e.g. "Ends in 11D7"), so you can confirm without exposing the secret.

Set TRIPADVISOR_API_KEY in your .env file:

# In .env (gitignored)
TRIPADVISOR_API_KEY=your_key_here

Then source it before calling:

export $(grep TRIPADVISOR_API_KEY .env | xargs)

Error signatures

ResponseMeaningFix
User is not authorized to access this resource with an explicit denyIP not on allowlistWhitelist current IP at the developer portal, wait 1-5 min
Forbidden / 403 with no bodyBad or expired keyRegenerate key
429 Too Many RequestsHit monthly quota (5,000 calls)Wait until next month or upgrade tier

Endpoints

1. Location Search

Find locations by name. Returns up to 10 results.

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

Parameters:

ParamRequiredDescription
searchQueryYesText search query (name of hotel, restaurant, city)
categoryNoFilter: hotels, restaurants, attractions, geos
phoneNoPhone number filter (any format, no leading +)
addressNoAddress filter
latLongNoLat/long pair, e.g. 59.3127,18.0716
radiusNoRadius from latLong (number)
radiusUnitNokm, mi, or m
languageNoDefault en. Supports 40+ languages.

Response shape:

{
  "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. Location Details

Get comprehensive info for a location by ID. This is the richest endpoint.

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

Parameters:

ParamRequiredDescription
locationIdYes (path)TripAdvisor location ID from search
languageNoDefault en
currencyNoISO 4217 code, default USD

Response includes:

  • name, web_url, address_obj, latitude, longitude, timezone, phone
  • rating (string, e.g. "4.6"), num_reviews (string, e.g. "845")
  • review_rating_count: breakdown by star ({"1": "7", "2": "10", ...})
  • ranking_data: ranking (#10), ranking_out_of (168), ranking_string ("#10 of 168 hotels in Stockholm")
  • subratings: Location, Sleep Quality, Rooms, Service, Value, Cleanliness (each 0.0 to 5.0)
  • price_level: "$", "$$", "$$$", "$$$$"
  • amenities: array of strings
  • styles: array (e.g. "Family", "Centrally Located")
  • neighborhood_info: array with location_id and name
  • trip_types: business, couples, solo, family, friends with count values
  • awards: Travelers Choice, Best of Best, etc. with year and images
  • parent_brand, brand: chain affiliation
  • category, subcategory: hotel/restaurant/attraction
  • photo_count, see_all_photos URL
  • write_review URL

3. Location Reviews

Get up to 5 most recent reviews.

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

Parameters:

ParamRequiredDescription
locationIdYes (path)TripAdvisor location ID
languageNoDefault en
limitNoNumber of results (max 5 on free tier)
offsetNoIndex of first result

Response shape:

{
  "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": {}
    }
  ]
}

Note: Reviews may return empty data: [] for locations with few English reviews. Try different language values for international hotels.

4. Location Photos

Get up to 5 recent photos with multiple size options.

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

Parameters:

ParamRequiredDescription
locationIdYes (path)TripAdvisor location ID
languageNoDefault en
limitNoNumber of results (max 5 on free tier)
offsetNoIndex of first result
sourceNoComma-separated: Expert, Management, Traveler

Photo sizes in response:

  • thumbnail: 50x50 cropped
  • small: 150x150 cropped
  • medium: max 250px dimension
  • large: max 550px dimension
  • original: full resolution

5. Nearby Location Search

Find locations near coordinates. Returns up to 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"

Parameters:

ParamRequiredDescription
latLongYesLat/long pair, e.g. 59.3127,18.0716
categoryNohotels, restaurants, attractions, geos
phoneNoPhone number filter
addressNoAddress filter
radiusNoRadius from latLong
radiusUnitNokm, mi, m
languageNoDefault en

Response includes distance (km) and bearing (e.g. "northwest") for each result.

Common Workflows

Hotel Research (most common)

# 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

Compare Multiple Hotels in a City

# 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

Find Restaurants Near Hotel

# 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"

Destination Research

# 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"

When to Use

  • Evaluating hotels (ratings, rankings, subratings, review sentiment)
  • Comparing restaurants near a hotel or in a neighborhood
  • Finding attractions and things to do near a destination
  • Getting TripAdvisor ranking data ("#1 of 168 hotels in Stockholm")
  • Checking amenities, trip type breakdown, award status
  • Verifying hotel chain affiliation and neighborhood info

When NOT to Use

  • Pricing or availability. TripAdvisor Content API has no pricing data. Use serpapi, liteapi, chase-travel, amex-travel, or rapidapi for prices.
  • Booking. This is read-only data. No booking capability.
  • Bulk scraping. 5,000 calls/month. Be deliberate.

Key Data Points for Hotel Comparison

When comparing hotels, extract and present:

FieldPathExample
Ratingrating"4.6"
Review countnum_reviews"845"
Rankingranking_data.ranking_string"#10 of 168 hotels in Stockholm"
Location subratingsubratings.0.value"4.7"
Service subratingsubratings.3.value"4.7"
Cleanliness subratingsubratings.5.value"4.8"
Price levelprice_level"$$$$"
Trip type leaderhighest trip_types[].value"Couples: 381"
Awardsawards[].display_name"Travelers Choice 2025"
Breakfastamenities contains "Breakfast included"Yes/No
Chainparent_brand"Worldhotels"

Supported Languages

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

Use da for Danish, no for Norwegian, sv for Swedish when searching Scandinavian hotels for local-language reviews.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

alliances

무료

Airline alliance membership (Star Alliance, oneworld, SkyTeam) and cross-alliance booking relationships. Maps which loyalty programs book which airlines, including bilateral partnerships outside alliances.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

borski/travel-hacking-toolkit7062026년 10월 19일 업데이트

Check American Airlines AAdvantage balance, elite status, and loyalty points via Patchright. Handles email 2FA with 6-box code entry. Uses persistent browser profiles to skip 2FA on subsequent runs.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

borski/travel-hacking-toolkit7062026년 10월 19일 업데이트

Search Amex travel portal for cash prices, MR points pricing, IAP discounts, and FHR/THC hotel benefits via Patchright. Use when comparing pay-with-points portal pricing to award alternatives.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

borski/travel-hacking-toolkit7062026년 10월 19일 업데이트

Search Atlas Obscura for weird, wonderful, and hidden gem places near any destination. Find the interesting stuff, not boring plaques. Search by coordinates, get full details with descriptions and images.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

borski/travel-hacking-toolkit7062026년 10월 19일 업데이트

Find the cheapest award dates for a route over a date range. Searches seats.aero across all programs, groups by date, and shows a calendar grid of the best deals. Use when dates are flexible and you want to find the sweet spot.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

borski/travel-hacking-toolkit7062026년 10월 19일 업데이트

Per-program rules for placing award flights on hold before transferring points. Covers programs with holds (AA, Lufthansa, Flying Blue, Cathay, Turkish, Virgin Atlantic, ANA, Emirates, EVA Air) and those without. Includes transfer-speed reference.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

borski/travel-hacking-toolkit7062026년 10월 19일 업데이트

borski의 스킬 모두 보기

이 스킬의 문제 신고