cli-web-tripadvisor
Search TripAdvisor for locations, hotels, restaurants, and attractions. Installed at: cli-web-tripadvisor.
Quick Start
# Search hotels in a city
cli-web-tripadvisor hotels search "Paris" --json
# Search attractions (things to do)
cli-web-tripadvisor attractions search "London" --json
# Get hotel details from a URL
cli-web-tripadvisor hotels get "https://www.tripadvisor.com/Hotel_Review-g187147-d..." --json
Always use --json when parsing output programmatically.
Commands
locations search QUERY
Search for destinations, hotels, restaurants, or attractions by name.
cli-web-tripadvisor locations search "Paris" --json
cli-web-tripadvisor locations search "New York" --max 10 --json
Key options: --max N (default 6)
Output fields: geo_id, name, url, type, coords, parent_name, geo_name
hotels search LOCATION
Search hotels in a location (resolves location name to geo_id automatically).
cli-web-tripadvisor hotels search "Paris" --json
cli-web-tripadvisor hotels search "Paris" --geo-id 187147 --json
cli-web-tripadvisor hotels search "London" --page 2 --json
Key options: --geo-id ID (skip location lookup, faster), --page N (30 per page)
Output fields per hotel: id, name, url, rating, review_count, price_range, address, city, country, telephone, latitude, longitude, image, amenities[]
hotels get URL
Get full hotel details from a TripAdvisor URL (obtained from hotels search).
cli-web-tripadvisor hotels get "https://www.tripadvisor.com/Hotel_Review-g187147-d229968-Reviews-..." --json
restaurants search LOCATION
Search restaurants in a location.
cli-web-tripadvisor restaurants search "Rome" --json
cli-web-tripadvisor restaurants search "Tokyo" --geo-id 298184 --json
Key options: --geo-id ID, --page N
Output fields per restaurant: id, name, url, rating, review_count, price_range, cuisines[], address, city, telephone, latitude, longitude, image, opening_hours[]
restaurants get URL
Get full restaurant details from a TripAdvisor URL.
cli-web-tripadvisor restaurants get "https://www.tripadvisor.com/Restaurant_Review-g187147-d..." --json
attractions search LOCATION
Search attractions and things to do in a location.
cli-web-tripadvisor attractions search "London" --json
cli-web-tripadvisor attractions search "Paris" --geo-id 187147 --page 2 --json
Key options: --geo-id ID, --page N
Output fields per attraction: id, name, url, rating, review_count, address, city, telephone, latitude, longitude, image, opening_hours[], description
attractions get URL
Get full attraction details from a TripAdvisor URL.
cli-web-tripadvisor attractions get "https://www.tripadvisor.com/Attraction_Review-g186338-d187547-Reviews-Tower_of_London-London_England.html" --json
Agent Patterns
# Find top-rated hotels in a city
cli-web-tripadvisor hotels search "Barcelona" --json | \
python -c "import json,sys; h=json.load(sys.stdin)['hotels']; [print(x['name'], x['rating']) for x in h[:5]]"
# Workflow: search → get details
URL=$(cli-web-tripadvisor hotels search "Amsterdam" --json | python -c "import json,sys; print(json.load(sys.stdin)['hotels'][0]['url'])")
cli-web-tripadvisor hotels get "$URL" --json
# Find things to do
cli-web-tripadvisor attractions search "Rome" --json | \
python -c "import json,sys; a=json.load(sys.stdin)['attractions']; [print(x['name'], x['rating'], x['review_count']) for x in a]"
Notes
- Auth: No authentication required.
- Bot protection: TripAdvisor's DataDome protection bypassed automatically with curl_cffi Safari iOS 17.2 impersonation.
- Location resolution: Searches automatically resolve location names to geo_ids via TypeAheadJson API. Use
--geo-idto skip this step (faster). - Pagination: 30 results per page. Use
--page Nfor subsequent pages. - URLs: Use URLs from search results directly with
hotels get,restaurants get,attractions get. - Read-only: Search and view only. Booking is not implemented.
- Installation:
pip install cli-web-tripadvisor