Tripadvisor Hotels Scraper avatar

Tripadvisor Hotels Scraper

Pricing

Pay per usage

Go to Apify Store
Tripadvisor Hotels Scraper

Tripadvisor Hotels Scraper

Extract hotel data from TripAdvisor instantly. Scrape reviews, ratings, prices, amenities & location details at scale. Perfect for travel startups, market research & competitive analysis. Get real-time hospitality insights with zero blocks. Supports batch runs & custom filters.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

3

Monthly active users

18 hours ago

Last modified

Share

Extract TripAdvisor hotel listing data from city and listing pages into a clean, analytics-ready dataset. Collect ratings, ranking details, pricing signals, address fields, coordinates, and offer highlights at scale. Ideal for travel research, market analysis, and hotel intelligence workflows.

Features

  • Hotels listing extraction — Collect hotel cards from TripAdvisor Hotels pages.
  • City and listing URL support — Use one or multiple source URLs in a single run.
  • Rich hotel fields — Capture ranking, rating, address, geo coordinates, and pricing/offer details.
  • Pagination controls — Set page limit and record limit to control run size.
  • Null-free output — Empty values are automatically removed from each dataset item.
  • Duplicate-safe dataset — Repeated listings are filtered before save.

Use Cases

Competitor Benchmarking

Track how hotels rank in a city and compare review volume, rating, and pricing signals across competing properties.

Destination Intelligence

Build destination-level hotel datasets to understand supply, quality tiers, and neighborhood-level concentration.

Travel Product Research

Feed listing data into pricing models, recommendation systems, or internal market dashboards.

Sales and Lead Enrichment

Create hotel lead lists with location, contact, and ranking context for outreach and partnership workflows.


Input Parameters

ParameterTypeRequiredDefaultDescription
startUrlsString ArrayNoIstanbul Hotels sampleOne or more TripAdvisor Hotels URLs as plain strings.
results_wantedIntegerNo20Maximum listings to collect across all URLs.
max_pagesIntegerNo5Maximum pages to fetch per URL.
proxyConfigurationObjectNoApify Proxy presetProxy settings for better run stability.

Output Data

Each dataset item contains only non-empty fields.

FieldTypeDescription
item_typeStringRecord type (hotel_listing).
source_urlStringSource Hotels page URL.
geo_idIntegerTripAdvisor geo identifier used for extraction.
hotel_result_keyStringUnique listing key in result set.
location_idIntegerTripAdvisor hotel location ID.
hotel_nameStringHotel name.
hotel_urlStringAbsolute hotel detail URL.
ratingNumberAverage rating score.
reviews_countIntegerTotal number of reviews.
ranking_type_textStringLocalized ranking text.
provider_star_ratingNumberStar rating from listing metadata.
accommodation_typeStringAccommodation type label.
lowest_priceStringLowest visible price text.
offer_countIntegerNumber of offers available.
available_offer_countIntegerNumber of currently available offers.
primary_offer_priceStringPrimary offer display price.
provider_nameStringOffer provider name.
thumbnail_urlStringListing image URL.
full_addressStringFull address text.
cityStringCity from address.
countryStringCountry from address.
latitudeNumberLatitude coordinate.
longitudeNumberLongitude coordinate.

Usage Examples

Single City URL

{
"startUrls": [
"https://www.tripadvisor.com/Hotels-g293974-Istanbul-Hotels.html"
],
"results_wanted": 20
}

Multiple Cities

{
"startUrls": [
"https://www.tripadvisor.com/Hotels-g293974-Istanbul-Hotels.html",
"https://www.tripadvisor.com/Hotels-g294226-Dubai_Emirate_of_Dubai-Hotels.html"
],
"results_wanted": 120,
"max_pages": 10
}

Basic Extended Collection

{
"startUrls": [
"https://www.tripadvisor.com/Hotels-g293974-Istanbul-Hotels.html"
],
"results_wanted": 50,
"max_pages": 8
}

Sample Output

{
"item_type": "hotel_listing",
"source_url": "https://www.tripadvisor.com/Hotels-g293974-Istanbul-Hotels.html",
"geo_id": 293974,
"hotel_result_key": "12395785:s:MzM0ODMyMTU:1b0deade-0273-42a8-bdba-521b02fba032",
"location_id": 12395785,
"hotel_name": "ibis Istanbul Tuzla Hotel",
"hotel_url": "https://www.tripadvisor.com/Hotel_Review-g293974-d12395785-Reviews-Ibis_Istanbul_Tuzla_Hotel-Istanbul.html",
"rating": 4.2,
"reviews_count": 151,
"ranking_type_text": "#594 of 2,504 hotels in Istanbul",
"provider_star_rating": 3,
"accommodation_type": "Hotel",
"lowest_price": "$65",
"offer_count": 1,
"available_offer_count": 1,
"primary_offer_price": "$65",
"provider_name": "all.accor.com",
"thumbnail_url": "https://dynamic-media-cdn.tripadvisor.com/media/photo-o/27/be/43/7b/ibis-istanbul-tuzla-hotel.jpg?w=1200&h=800&s=1",
"full_address": "Aydintepe Mah.selin Sok.no.7 Tuzla, Istanbul 34947 Türkiye",
"city": "Istanbul",
"country": "Türkiye",
"latitude": 40.848927,
"longitude": 29.296696
}

Tips for Best Results

Use Stable Hotels URLs

  • Prefer URLs that include -g<geoId>- for direct city resolution.
  • Keep URLs canonical to reduce routing issues.

Keep QA-Friendly Limits

  • Use results_wanted: 20 for quick validation.
  • Increase gradually for production collections.

Improve Reliability

  • Enable residential proxies for protected traffic.
  • Retry with smaller run sizes when testing new URLs.

Integrations

Connect your dataset with:

  • Google Sheets — Share listing snapshots with business teams.
  • Airtable — Build searchable hotel intelligence bases.
  • Make — Automate recurring enrichment workflows.
  • Zapier — Trigger actions from fresh listing runs.
  • Webhooks — Push records into custom pipelines.

Export Formats

  • JSON — Best for automation and downstream processing.
  • CSV — Best for spreadsheet analysis.
  • Excel — Best for business reporting.
  • XML — Best for legacy systems.

Frequently Asked Questions

Does the actor support multiple source URLs?

Yes. Add multiple values in startUrls and collect listings across them in one run.

Are null values saved in the dataset?

No. Empty and null fields are removed before records are stored.

How is duplicate data handled?

Listings are deduplicated by listing identifiers before saving.

What URL format should I use?

Use a TripAdvisor Hotels URL that includes -g<geoId>-, such as city listing pages.

How can I reduce blocked runs?

Use Apify residential proxies and start with smaller collection sizes.


Support

For issues or feature requests, contact support through the Apify Console.

Resources


This actor is designed for legitimate data collection. You are responsible for complying with website terms and applicable laws in your jurisdiction.