Expedia  Hotels + Reviews avatar

Expedia Hotels + Reviews

Deprecated

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Expedia  Hotels + Reviews

Expedia Hotels + Reviews

Deprecated

From $1/1K. Extract hotel listings and reviews from Expedia.com. Get comprehensive data, including prices, ratings, review text, photos, and location details for any destination.

Pricing

from $1.00 / 1,000 results

Rating

5.0

(2)

Developer

AbotAPI

AbotAPI

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

2

Monthly active users

a day ago

Last modified

Share

Expedia Hotel Scraper

Extract hotel listings and reviews from Expedia.com, the world's largest online travel marketplace with millions of properties across 200+ countries. Get comprehensive data including prices, ratings, review text, photos, and location details for any destination.

What does Expedia Hotel Scraper do?

This Actor collects hotel data from Expedia in two ways:

  1. Search by destination. Paste a city name, get back a paginated list of hotels with prices, ratings, and photos for your selected dates.
  2. Fetch by URL. Paste Expedia hotel or search URLs, get the matching hotel cards. Search URLs auto paginate through all pages.

A single toggle switches the output between aggregate hotel cards and individual review records (one row per review).

Key Features

FeatureDescription
Destination searchType any city; the Actor resolves it to the correct Expedia region
URL modeAccepts hotel URLs and search URLs; search URLs auto paginate
Deeplink supportExpedia share links (expe.onelink.me and similar) are auto-resolved to the canonical hotel URL
Reviews only toggleOutput individual review records instead of hotel cards
Date and guest filtersCheck in/out dates, adults, rooms, children with ages
Price and rating filtersMin/max price, star ratings, sort order
29 locales, 36 currenciesLocalized content and prices
Photos and pricingUp to 4 images per hotel, nightly price, strikeout discounts
Per hotel review capCap reviews per hotel to control cost on high volume properties

What data can you extract?

Hotel card (Search mode or URL mode)

Identity and location

  • Property ID and URL
  • Name and description
  • Star rating
  • Destination context

Pricing

  • Nightly price (numeric and formatted)
  • Strikeout price when discounted
  • Currency

Reviews (aggregate)

  • Overall rating (0 to 10)
  • Rating label (Good, Excellent, etc.)
  • Total review count

Media and dates

  • Gallery image URLs
  • Check in and check out dates
  • Adult count used for search

Review record (Reviews Only mode)

  • Review ID, title, text
  • Rating value (0 to 10) and label
  • Author name
  • Review and stay date
  • Sentiment: liked and disliked lists
  • Guest photo URLs
  • Linked hotel ID and URL

How to use the Expedia Hotel Scraper

Search by destination

{
"mode": "search",
"destination": "Paris",
"adults": 2,
"currency": "USD",
"locale": "en_US",
"maxItems": 50
}

Filter by price and star rating

{
"mode": "search",
"destination": "Tokyo",
"checkIn": "2026-09-10",
"checkOut": "2026-09-13",
"adults": 2,
"starRatings": ["4", "5"],
"minPrice": 150,
"maxPrice": 400,
"sortBy": "REVIEW"
}

Fetch specific hotels by URL

{
"mode": "url",
"startUrls": [
{ "url": "https://www.expedia.com/Example-City-Hotels-Sample-Hotel.h11111.Hotel-Information" },
{ "url": "https://www.expedia.com/Example-City-Hotels-Another-Sample.h22222.Hotel-Information" }
]
}

Share links generated by the Expedia mobile app's "Share" button, as well as marketing and social deeplinks, are accepted as is. The Actor follows the redirect, identifies the hotel, and scrapes it like any other URL.

{
"mode": "url",
"startUrls": [
{ "url": "https://expe.onelink.me/hnLd/9o2lnq8o" }
]
}

Supported deeplink hosts: expe.onelink.me (primary), expe.app.link, trip.expedia.com. Only Expedia hotel deeplinks are handled. Hotels.com and Vrbo short links are out of scope for this release.

Auto paginate a search URL

Paste an Expedia search URL with your filters already applied. The Actor walks every page until maxItems is reached.

{
"mode": "url",
"startUrls": [
{ "url": "https://www.expedia.com/Hotel-Search?destination=Barcelona&d1=2026-07-01&d2=2026-07-05&adults=2" }
],
"maxItems": 200
}

Scrape reviews only

{
"mode": "search",
"destination": "New York",
"reviewsOnly": true,
"maxReviewsPerHotel": 50,
"maxItems": 500
}

Or supply hotel URLs directly:

{
"mode": "url",
"startUrls": [
{ "url": "https://www.expedia.com/Example-City-Hotels-Sample-Hotel.h11111.Hotel-Information" }
],
"reviewsOnly": true,
"maxReviewsPerHotel": 100
}

Family travel with children

{
"mode": "search",
"destination": "Orlando",
"adults": 2,
"children": ["5", "10"],
"rooms": 1
}

Input Parameters

ParameterTypeDefaultDescription
modestringsearchsearch or url
destinationstringCity name (Search mode)
startUrlsobject[]Expedia URLs (URL mode)
destinationIdstringOptional numeric region ID. Skips auto resolution
reviewsOnlybooleanfalseOutput reviews instead of hotel cards
checkInstringtomorrowYYYY-MM-DD or a relative offset like 1 day
checkOutstringday after tomorrowYYYY-MM-DD or a relative offset like 2 days
adultsinteger2Adult guests, 1 to 14
childrenstring[][]Ages of children, 0 to 17 (one entry per child)
roomsinteger1Rooms to book, 1 to 8
minPriceintegerMinimum nightly price
maxPriceintegerMaximum nightly price
starRatingsstring[][]One or more of 1, 2, 3, 4, 5
sortBystringRECOMMENDEDRECOMMENDED, PRICE_LOW_TO_HIGH, PRICE_HIGH_TO_LOW, DISTANCE, PROPERTY_CLASS, REVIEW
currencystringUSD3 letter ISO code from the dropdown
localestringen_USLanguage and region locale from the dropdown
maxItemsinteger50Hard cap on total records
maxReviewsPerHotelinteger25Cap reviews per hotel
maxConcurrencyinteger5Parallel requests
proxyobjectApify ResidentialProxy configuration

Output Example

Hotel card

{
"mode": "search",
"placeName": "Example Hotel Paris",
"hotelId": "11111",
"hotelUrl": "https://www.expedia.com/Example-City-Hotels-Sample-Hotel.h11111.Hotel-Information",
"hotelOverallRating": 9.2,
"hotelRatingLabel": "Wonderful",
"hotelTotalReviews": 1843,
"provider": "expedia",
"scrapedAt": "2026-04-18T07:30:00.000Z",
"extra": {
"searchDestination": "Paris",
"starRating": 5,
"description": "Recently renovated boutique hotel steps from the city center",
"priceFrom": 420,
"priceFormatted": "$420 nightly",
"priceStrikeout": "$600",
"currency": "USD",
"images": [
"https://images.example.com/lodging/sample-1.jpg",
"https://images.example.com/lodging/sample-2.jpg"
],
"checkIn": "2026-07-01",
"checkOut": "2026-07-03",
"adults": 2
}
}

Review record

{
"mode": "reviews",
"placeName": "Example Hotel Paris",
"hotelId": "11111",
"hotelUrl": "https://www.expedia.com/Example-City-Hotels-Sample-Hotel.h11111.Hotel-Information",
"hotelOverallRating": 9.2,
"hotelRatingLabel": "Wonderful",
"hotelTotalReviews": 1843,
"hotelCategoryRatings": {
"Cleanliness": 9.4,
"Staff": 9.3
},
"locale": "en_US",
"provider": "expedia",
"reviewId": "abc123def456",
"reviewTitle": "Memorable stay",
"reviewText": "Beautiful hotel with great service and a convenient location.",
"reviewRating": 10,
"reviewRatingLabel": "Excellent",
"reviewDate": "Oct 14, 2025",
"stayDuration": "Stayed 3 nights in Oct 2025",
"authorName": "Sarah",
"sentiment": {
"liked": ["Cleanliness", "staff and service", "location"],
"disliked": []
},
"photos": [
"https://images.example.com/ugc/review-photo-1.jpg"
],
"scrapedAt": "2026-04-18T07:30:00.000Z",
"extra": {}
}

Tips

  • Pagination is automatic. The Actor walks pages until maxItems is reached or the site reports no more results.
  • destinationId speeds up search. Pass the numeric ID from any Expedia URL (the segment after .d) to skip the name resolution round trip.
  • Reviews mode respects maxItems. If you cap at 500, the Actor stops at 500 total reviews across all hotels.
  • Run in residential proxy for best results. Expedia rate limits aggressively on datacenter IPs.