Expedia Reviews Scraper
Pricing
from $2.50 / 1,000 results
Expedia Reviews Scraper
Scrape hotel reviews, ratings, and traveler details from Expedia by hotel URL or property ID.
Pricing
from $2.50 / 1,000 results
Rating
0.0
(0)
Developer
One House
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Extract hotel reviews from Expedia using a hotel page URL or property ID.
What does Expedia Reviews Scraper do?
Expedia Reviews Scraper extracts guest reviews, ratings, and hotel management responses from any Expedia hotel page - no coding required. Give it a hotel URL (or numeric property ID), pick a sort order, and it pulls review text, ratings, traveler type, stay dates, and property replies into a clean, structured dataset. Run it on the Apify platform to get scheduled scraping, API access, dataset exports, and automatic proxy rotation for large jobs.
Why use Expedia Reviews Scraper?
- Reputation monitoring - track what guests say about a property (or your competitors') over time.
- Competitor analysis - compare ratings, sentiment, and review volume across hotels in a market.
- Market research - feed structured review data into BI tools, spreadsheets, or NLP pipelines.
- Customer service insight - see which management responses exist and how properties handle negative feedback.
How to use Expedia Reviews Scraper
- Open this Actor and click Start.
- Add Expedia hotel URLs under Hotel URLs, or paste numeric property IDs under Property IDs.
- Pick a Sort by order (Most relevant, Most recent, Highest rating, Lowest rating) - matches the dropdown on Expedia's own reviews dialog.
- Set Max reviews per hotel (
0= all available). - Run the Actor and download results from the Dataset tab.
Finding the property ID
The property ID appears in Expedia hotel URLs, right before .Hotel-Information:
https://www.expedia.com/Antalya-Hotels-Lara-Barut-Collection.h1207007.Hotel-Information→ property ID1207007
Input
See the Input tab for the full list of fields. Minimal example:
{"startUrls": [{ "url": "https://www.expedia.com/Antalya-Hotels-Lara-Barut-Collection.h1207007.Hotel-Information" }],"sortBy": "mostRecent","maxReviews": 100}
Output
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel. Each dataset item is one review:
{"reviewId": "69fcac16c5ab1459fde7042f","propertyId": "1207007","hotelName": "Lara Barut Collection","title": null,"text": "Food, facilities and staff all amazing!","rating": 10,"ratingScale": 10,"ratingLabel": "Excellent","sentimentLabel": "Liked: cleanliness, staff & service, amenities, property conditions & facilities","authorName": "Chloe","publishedAt": "2026-05-08T00:00:00.000Z","travelType": null,"nightsStayed": 5,"stayMonth": "Apr 2026","translated": false,"replyText": "Dear Chloe,\n\nThank you very much for your lovely review...","replyDate": "2026-05-09T00:00:00.000Z","replyResponderName": "Mürşide Engin","replyResponderRole": "Guest Relations Manager","sortedBy": "mostRelevant","source": "expedia","scrapedAt": "2026-07-28T21:00:00.000Z"}
A hotel summary (property ID, derived name, canonical URL, overall rating, and total review count) is also saved in the key-value store as HOTEL_INFO_{propertyId}.
Data table
| Field | Description |
|---|---|
reviewId | Unique review ID |
title | Review title (often empty on Expedia) |
text | Review body text |
rating / ratingScale | Rating on Expedia's 10-point scale |
ratingLabel | Qualitative label (e.g. "Excellent", "Okay") |
sentimentLabel | Auto-generated "Liked: ..." summary shown under the review |
authorName | Reviewer's display name |
publishedAt | Review publish date (ISO 8601) |
travelType | Traveler context (e.g. "Traveled with family") when shown |
nightsStayed / stayMonth | Parsed from Expedia's "Stayed X nights in Month Year" line |
replyText / replyDate / replyResponderName / replyResponderRole | Hotel management's reply, if any |
Pricing / Cost estimation
Runs are light: 256 MB of memory is enough. Reviews are collected 50 at a time, and how long each batch takes varies with how busy Expedia is - typically 10-60 seconds, occasionally a few minutes. In testing, 50 reviews cost about $0.002-$0.011 in total (compute plus proxy traffic), and cost scales roughly linearly with maxReviews.
Tips
- Use
maxReviewsto control cost on hotels with thousands of reviews. - Ratings on Expedia use a 1-10 scale (
ratingScale: 10). - Add multiple hotel URLs in one run to batch scraping across properties.
- Leave the proxy on Apify Residential (the default) and don't pin it to a country - that made results worse in testing.
- The review list matches what the Expedia website shows for the hotel. If the Actor ever cannot get a complete list, the run fails with a clear error instead of returning a partial one - a missing review never looks like a deleted one.
- If a batch of reviews cannot be collected within its time budget (5 minutes), the Actor keeps what it already saved for that hotel and moves on - re-run later for the rest.
FAQ, disclaimers, and support
This Actor only extracts publicly visible review data from Expedia hotel pages. Use it in accordance with Expedia's Terms of Service and applicable data protection laws. Some fields (e.g. travelType) may be empty when Expedia doesn't display that detail for a given review.
Found a bug or need a custom feature? Open an issue in the Actor's Issues tab - custom modifications are available on request.