Expedia & Hotels.com Scraper — Hotel Reviews & Prices
Pricing
from $2.00 / 1,000 reviews
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
Maintained by CommunityActor 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)
| Field | Example | Notes |
|---|---|---|
site | Expedia | Expedia or Hotels.com |
reviewId | 6aaf4d35ef70b65772062f33 | stable id, used by monitoring |
hotelId, hotelName, hotelUrl | 140596, Bellagio | Expedia property id |
rating, ratingMax, ratingText | 8, 10, Good | |
title, text | text is empty for rating-only reviews (about 45 %); Expedia no longer shows titles on new reviews | |
likedTopics, dislikedTopics | Cleanliness, amenities | the topics the guest ticked |
reviewDate | 2026-10-10 | |
stayMonth, lengthOfStay | 2026-09, 6 | Expedia shows month and nights; Hotels.com nights only |
reviewerName | Deslin | first name as shown |
reviewRegion | US | Hotels.com only: the region shown with the review |
language, locale | en, en_US | |
isVerified | true | "Verified review" label |
helpfulVotes | 0 | Expedia only |
photos | ["https://a.travel-assets.com/ugc/..."] | guest photos |
hotelResponse, hotelResponseDate, hotelResponderName | Thank you for..., 2025-10-02, Guest Experience - Bellagio | management response |
travellerType | filled 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
- Paste one or more hotel URLs into Expedia / Hotels.com URLs, e.g.
https://www.expedia.com/Las-Vegas-Hotels-Bellagio.h140596.Hotel-Information. - Set Max reviews per hotel (default 100) and Max items.
- 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.
Is it legal to scrape Expedia?
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.