Tripadvisor Hotels Scraper
Pricing
Pay per usage
Tripadvisor Hotels Scraper
Scrape TripAdvisor hotel listings with ratings, prices, and amenities
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Web Data Labs
Actor stats
0
Bookmarked
1
Total users
0
Monthly active users
9 hours ago
Last modified
Categories
Share
Extract structured hotel data from TripAdvisor at scale — name, rating, review count, price per night, address, coordinates, and direct URL. No login, no API keys, no manual work. Just give it a city.
What it does
Given a city or region, this actor returns a clean JSON dataset of hotels listed on TripAdvisor for that location. Each record includes review-aggregated rating, review count, indicative nightly price, address, country, geo-coordinates, image URL and the canonical TripAdvisor URL — ready to drop into a database, spreadsheet or BI tool.
It handles the messy parts for you: location-name normalization, listing pagination, rating extraction from multiple page layouts, and graceful retries when TripAdvisor throttles. You don't write a single selector.
Who it's for
- Travel agencies & OTAs building destination pages or comparison tools
- Price-comparison & meta-search products that need TripAdvisor's review data alongside other sources
- Market research & consultancies analyzing hospitality supply, pricing distribution, or rating sentiment per city
- Hotel chains & revenue managers benchmarking against competitors in a market
- Data teams that need a reliable hotel feed without owning the scraping infrastructure
Inputs
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
location | string | Yes | New York City | City name. Common cities (50+) resolve instantly. Anything else is auto-resolved. |
maxResults | integer | No | 30 | Maximum number of hotels to return (1–100 recommended). |
Example input
{"location": "Barcelona","maxResults": 25}
Outputs
Each item in the dataset has the following shape:
| Field | Type | Description |
|---|---|---|
name | string | Hotel name |
url | string | Canonical TripAdvisor hotel page URL |
location | string | City passed in the input |
ratingScore | number | Aggregate rating (0–5) |
reviewCount | integer | Number of reviews |
pricePerNight | integer | Indicative nightly price (in TripAdvisor's displayed currency) — may be null if not displayed |
priceRange | string | Price band when available (e.g. "$$$") |
address | string | Street address |
addressLocality | string | City / locality |
addressCountry | string | Country |
latitude | number | Geo latitude |
longitude | number | Geo longitude |
imageUrl | string | Lead image URL |
telephone | string | Phone number when listed |
scrapedAt | string | ISO 8601 timestamp of when the record was captured |
Example output
{"name": "Hotel Casa Fuster","url": "https://www.tripadvisor.com/Hotel_Review-g187497-d228719-Reviews-Hotel_Casa_Fuster.html","location": "Barcelona","ratingScore": 4.5,"reviewCount": 3812,"pricePerNight": 412,"priceRange": "$$$$","address": "Passeig de Gracia 132","addressLocality": "Barcelona","addressCountry": "ES","latitude": 41.398,"longitude": 2.161,"imageUrl": "https://media-cdn.tripadvisor.com/.../casa-fuster.jpg","telephone": "+34 932 55 30 00","scrapedAt": "2026-04-30T09:14:22.117Z"}
Pricing — Pay Per Event
This actor uses Pay Per Event (PPE) billing: $0.01 per hotel scraped. You only pay for results — failed runs and partial pages are free.
A 30-hotel run = $0.30. A 100-hotel run = $1.00. Predictable, transparent, no surprise compute bills.
Free vs Paid Apify plans
To protect new users from accidental over-runs, the actor caps Free Apify plan users at 5 hotels per run. Paid Apify plans (Starter and above) get the full maxResults you request. Run it locally with the Apify CLI and there is no cap.
How to use
- Click Start with a
location(any major city works — try "Tokyo", "Miami", "Barcelona"). - Set
maxResultsto how many hotels you want. - Get a clean JSON / CSV / Excel dataset within minutes. Export from the dataset tab or pull it via the Apify API.
Tips
- Specific cities work best. "Las Vegas" beats "Nevada". "Barcelona" beats "Spain".
- Run multiple cities in parallel by triggering the actor several times — Apify queues them automatically.
- Schedule a daily run to track price and rating changes over time.
- Pipe results into Google Sheets, Airtable, Snowflake, or anywhere else via Apify integrations (Zapier, Make, webhooks).
Reliability
The actor uses Apify's residential proxy network and rotating browser fingerprints to behave like a real user. Rating, review count and address come from structured page metadata where present, with DOM fallbacks for pages that don't expose it. Pagination is handled automatically up to your maxResults cap.
If you hit any issue, contact the maintainer through the actor's Issues tab — replies usually within 24 hours.
Legal & ethics
This actor scrapes only publicly visible information from TripAdvisor's listing pages — the same data any visitor sees in their browser. Use the resulting data responsibly and in line with TripAdvisor's Terms of Service for your jurisdiction. The actor does not bypass logins, paywalls or CAPTCHAs and does not harvest personal user data.