Expedia Reviews Scraper avatar

Expedia Reviews Scraper

Pricing

from $2.50 / 1,000 results

Go to Apify Store
Expedia Reviews Scraper

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

One House

Maintained by Community

Actor 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

  1. Open this Actor and click Start.
  2. Add Expedia hotel URLs under Hotel URLs, or paste numeric property IDs under Property IDs.
  3. Pick a Sort by order (Most relevant, Most recent, Highest rating, Lowest rating) - matches the dropdown on Expedia's own reviews dialog.
  4. Set Max reviews per hotel (0 = all available).
  5. 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 ID 1207007

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

FieldDescription
reviewIdUnique review ID
titleReview title (often empty on Expedia)
textReview body text
rating / ratingScaleRating on Expedia's 10-point scale
ratingLabelQualitative label (e.g. "Excellent", "Okay")
sentimentLabelAuto-generated "Liked: ..." summary shown under the review
authorNameReviewer's display name
publishedAtReview publish date (ISO 8601)
travelTypeTraveler context (e.g. "Traveled with family") when shown
nightsStayed / stayMonthParsed from Expedia's "Stayed X nights in Month Year" line
replyText / replyDate / replyResponderName / replyResponderRoleHotel 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 maxReviews to 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.