Expedia & Hotels.com Scraper — Hotel Reviews & Prices avatar

Expedia & Hotels.com Scraper — Hotel Reviews & Prices

Pricing

from $2.00 / 1,000 reviews

Go to Apify Store
Expedia & Hotels.com Scraper — Hotel Reviews & Prices

Expedia & Hotels.com Scraper — Hotel Reviews & Prices

Scrape Expedia and Hotels.com hotel reviews, hotel details (stars, address, scores, amenities, policies) and search results with nightly and total prices. Monitor new reviews.

Pricing

from $2.00 / 1,000 reviews

Rating

0.0

(0)

Developer

Trevor Ortega

Trevor Ortega

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Scrape Expedia and Hotels.com hotel reviews, hotel details (stars, address, coordinates, guest score and sub-scores, amenities, policies, check-in/out) and search results with prices for your dates (price per night, total with taxes and fees, struck-through price). One actor for both Expedia Group sites, with a monitoring mode that saves only new reviews or changed prices on a schedule.

  • Works with hotel URLs of either site, Expedia property ids, search URLs or plain destination names ("Las Vegas", "Lisbon, Portugal").
  • Expedia and Hotels.com keep separate review sets for the same hotel: pick one site or both.
  • Newest reviews first, up to about 10,000 reviews per hotel and site; or sort by relevance or rating.
  • No login, no browser: the actor reads the same data the sites' own pages load.

What data does it extract?

Reviews (mode: reviews, default)

FieldExampleNotes
siteExpediaExpedia or Hotels.com
reviewId6aaf4d35ef70b65772062f33stable id, used by monitoring
hotelId, hotelName, hotelUrl140596, BellagioExpedia property id
rating, ratingMax, ratingText8, 10, Good
title, texttext is empty for rating-only reviews (about 45 %); Expedia no longer shows titles on new reviews
likedTopics, dislikedTopicsCleanliness, amenitiesthe topics the guest ticked
reviewDate2026-10-10
stayMonth, lengthOfStay2026-09, 6Expedia shows month and nights; Hotels.com nights only
reviewerNameDeslinfirst name as shown
reviewRegionUSHotels.com only: the region shown with the review
language, localeen, en_US
isVerifiedtrue"Verified review" label
helpfulVotes0Expedia only
photos["https://a.travel-assets.com/ugc/..."]guest photos
hotelResponse, hotelResponseDate, hotelResponderNameThank you for..., 2025-10-02, Guest Experience - Bellagiomanagement response
travellerTypefilled only if the site returns it (currently it does not)

Hotel details (mode: hotels)

name, starRating, propertyType, address (full, street, city, region, postalCode, countryCode), latitude, longitude, reviewScore, reviewScoreText, reviewCount, scoreBreakdown (cleanliness, staff & service, amenities, property conditions), checkInFrom, checkInUntil, checkOutUntil, checkInPolicy, checkOutPolicy, policies (fees, deposits, pets, parking, children ...), amenities and amenityGroups.

Search results (mode: search)

position, hotelId, name, url, area, reviewScore, reviewScoreText, reviewCount, checkIn, checkOut, nights, currency, pricePerNight (nightly rate before taxes and fees, as the site shows it), totalPrice (whole stay), taxesAndFeesIncluded, pricePerNightWithTaxes (total / nights), originalTotalPrice (struck-through), isRefundable and starRating (only for the cards the site flags; empty otherwise), available, image.

How to scrape Expedia reviews

  1. Paste one or more hotel URLs into Expedia / Hotels.com URLs, e.g. https://www.expedia.com/Las-Vegas-Hotels-Bellagio.h140596.Hotel-Information.
  2. Set Max reviews per hotel (default 100) and Max items.
  3. Run. Example output:
{
"type": "review",
"site": "Expedia",
"reviewId": "6ac9b4308312a1522073a7a3",
"hotelId": "41308",
"hotelName": "Excalibur Hotel & Casino",
"rating": 6,
"ratingMax": 10,
"ratingText": "Okay",
"text": "We loved the Mac King comedy show. It would be nice if self checkout wasn't expected...",
"likedTopics": "Amenities, property conditions & facilities",
"dislikedTopics": "Staff & service",
"reviewDate": "2026-10-10",
"stayMonth": "2026-10",
"lengthOfStay": 1,
"reviewerName": "Crissy",
"language": "en",
"isVerified": true,
"hotelResponse": null
}

Input for reviews of the top 5 hotels of a destination on both sites:

{
"mode": "reviews",
"destinations": ["Lisbon"],
"site": "both",
"maxHotelsPerSearch": 5,
"maxReviewsPerHotel": 200,
"maxItems": 2000
}

How to scrape Hotels.com reviews

Use Hotels.com hotel URLs (https://www.hotels.com/ho118295/bellagio-las-vegas-united-states-of-america/; links from Hotels.com search results also carry expediaPropertyId=), or property ids with Site = Hotels.com. Hotels.com URLs with only the ho number are matched to the property by name. Hotels.com shows different reviews than Expedia for the same hotel, so both gives you two review sets.

How to get Expedia hotel prices for my dates

Set What to scrape = Search results with prices, add a destination (or an Expedia / Hotels.com search URL with startDate / endDate) and set Check-in date, Nights, Adults and Rooms:

{
"mode": "search",
"destinations": ["Paris"],
"checkIn": "2026-12-04",
"nights": 2,
"maxItems": 100
}
{
"type": "search-result",
"site": "Expedia",
"position": 2,
"hotelId": "105969684",
"name": "Ginette à la Folie",
"reviewScore": 9.6,
"reviewScoreText": "Exceptional",
"reviewCount": 500,
"checkIn": "2026-12-04",
"checkOut": "2026-12-06",
"nights": 2,
"currency": "USD",
"pricePerNight": 205,
"totalPrice": 489,
"taxesAndFeesIncluded": true,
"pricePerNightWithTaxes": 244.5,
"originalTotalPrice": 562,
"isRefundable": true
}

Prices come from expedia.com / hotels.com (US sites) and are in US dollars.

Monitor changes on a schedule

Turn on Only new or changed items, save the input as a task and add a Schedule in Apify (for example daily). In reviews mode each run reads the newest Max reviews per hotel reviews of every hotel and saves only reviews it has not saved before; Only reviews newer than (1 day, 7 days or a date) narrows the window and stops paging early. In hotels mode a hotel is saved again only when its guest score or stars change; in search mode when the price per night, total price, availability or refundability changes (small rounding jitter is ignored; use a fixed Check-in date so runs compare the same stay). Unchanged items are not output and not charged. New items carry changeType: "new", changed ones changeType: "changed" plus previousValues with the old values. Use Monitoring key to keep several schedules on the same input apart.

Does it work without login?

Yes. Everything comes from public pages of expedia.com and hotels.com; no account or cookies are needed.

How many reviews can I get per hotel?

Up to about 10,000 per hotel and site in one sort order (the sites stop paging there). Most hotels have fewer. Choose Sort reviews by = rating to reach other reviews of very large hotels.

How much does it cost?

You pay per item saved (see the Pricing tab) plus platform usage. Usage measured on the platform: about $0.01 per 1,000 reviews (compute, dataset writes and residential proxy traffic together); a search page holds 50 hotels.

Proxy note

Expedia's bot protection rejects nearly all datacenter traffic, so the actor uses Apify residential proxy by default. Each request goes out from a new residential IP; about half of the attempts are turned away with a short 429 answer and retried automatically. Residential traffic measured: about 0.6 MB per 1,000 reviews.

The actor collects publicly visible data: hotel information, prices and guest reviews with the reviewer's first name as the sites display it. It does not log in or access anything private. Reviews contain personal data (first names); make sure your use complies with GDPR and similar laws and with the sites' terms, and do not use the data to contact or profile individuals.