Expedia.com $2.5đź’°Extract Reviews & Ratings &Sentiment Analysis
Pricing
from $2.50 / 1,000 results
Expedia.com $2.5đź’°Extract Reviews & Ratings &Sentiment Analysis
[Only $2.5đź’°] Extract comprehensive hotel reviews from Expedia.com. Get review text, ratings (0-10), guest names, review dates, trip details, travel companion info, sentiment analysis (liked/disliked features), and photos. Supports date filtering, pagination, and exports to JSON/CSV.
Pricing
from $2.50 / 1,000 results
Rating
5.0
(6)
Developer
Muhamed Didovic
Actor stats
4
Bookmarked
90
Total users
44
Monthly active users
5.3 hours
Issues response
2 days ago
Last modified
Categories
Share
Expedia.com Hotel & Activity Reviews Scraper
Unlock the Full Power of Expedia.com Review Data - The only scraper you need to track, analyze, and understand hotel and Things-To-Do (activity) reviews on Expedia.com and Hotels.com with enterprise-grade reliability and precision. Whether you're monitoring hotel reputation, analyzing customer feedback on tours and attractions, or conducting hospitality research, our scraper delivers comprehensive, real-time insights while saving you time and resources.
"From guest reviews to travel insights, we turn Expedia.com's data into your competitive advantage."
Overview
The Expedia.com Reviews Scraper is your go-to tool for extracting review data from Expedia.com and Hotels.com — across hotels AND Things-To-Do activities (tours, attractions, day trips). Ideal for hotel managers, market analysts, travel agencies, tour operators, and researchers, it tracks review details, ratings, guest feedback, management responses, and aggregate scores across properties and experiences worldwide. With easy setup and multiple export formats (JSON, CSV), it's perfect for anyone looking to gather comprehensive review data from Expedia.com.
Mixed runs supported. You can pass Expedia hotel URLs, Expedia activity URLs, bare Expedia property ids, and Hotels.com URLs all in the same
startUrlslist — the scraper partitions and processes each correctly.
What does Expedia.com Hotel Reviews Scraper do?
The Expedia.com Hotel Reviews Scraper is a powerful tool that enables you to:
Comprehensive Data Collection
- Review Data
- Extract complete review text and titles
- Scrape ratings and review scores (e.g., "8/10 Good")
- Capture review rating labels, verification status, and stay month
- Gather guest names and reviewer information
- Analyze review dates and temporal trends
- Track sentiment analysis (liked/disliked features)
- Extract hotel management responses when available
- Guest Insights
- Extract trip type information (e.g., "Stayed 1 night in Feb 2025")
- Capture normalized travel companion details (e.g., "Traveled with family", "Traveled with partner")
- Identify traveler types (business traveler, leisure traveler)
- Download review photos when available
- Access guest feedback on specific amenities
- Hotel-Level Aggregate Data
- Extract hotel overall rating (e.g.,
8.2) - Extract hotel rating label (e.g.,
"Very good") - Extract hotel total review count
- Extract hotel category ratings such as cleanliness, location, and staff & service
- Extract hotel overall rating (e.g.,
Advanced Scraping Capabilities
- Pagination Handling: Automatically navigates through all review pages
- Date Filtering: Filter reviews by date range (get only recent reviews)
- Efficient Processing: Processes reviews with duplicate detection
- Smart Pagination: Stops automatically when reaching older reviews (date filter optimization)
- Incremental Data Collection: Build comprehensive review datasets over time
Flexible Scraping Options
- Hotel Review Pages: Extract all reviews for specific hotels
- Expedia UK:
https://www.expedia.co.uk/Kastoria-Hotels-Hotel-Anastassiou.h6136437.Hotel-Information - Expedia US:
https://www.expedia.com/New-York-Hotels-Hotel-Name.h123456.Hotel-Information - Expedia short hotel path (no slug):
https://www.expedia.com/h17369936.Hotel-Information - Expedia Brazil:
https://www.expedia.com.br/Rio-De-Janeiro-Hotels-Premier-Copacabana-Hotel.h53296.Hotel-Information - Expedia Germany:
https://www.expedia.de/Berlin-Hotels-Hotel-Name.h123456.Hotel-Information - Hotels.com:
https://el.hotels.com/ho434012/hotel-anastassiou-kastoria-ellada/ - Expedia Deeplinks:
https://expe.app.link/KjB1EuacRSb(automatically resolved to hotel page)
- Expedia UK:
- Activity / Things-To-Do Review Pages: Extract all reviews for tours, attractions, day trips, and other bookable activities
- Pattern:
https://www.expedia.com/things-to-do/{slug}.a{id}.activity-details - Example:
https://www.expedia.com.sg/things-to-do/singapore-hop-on-hop-off-bus-tour-by-open-top-bus.a203344.activity-details - All regional Expedia TLDs supported (
.com,.co.uk,.com.sg,.de,.fr, …) - Output rows are tagged
provider: "expedia-activity"so you can filter them apart from hotel rows
- Pattern:
- Mixed input: Pass any combination of hotel URLs, activity URLs, Hotels.com URLs, and bare Expedia ids in the same
startUrlsarray — the scraper partitions and dispatches each correctly
This tool is ideal for:
- Hotel reputation management and monitoring
- Guest satisfaction analysis and sentiment tracking
- Competitive intelligence for hospitality businesses
- Building comprehensive review databases for market research
- Tracking rating trends and customer feedback over time
Features
- Comprehensive Data Extraction: Detailed review information, ratings, guest feedback, and sentiment analysis
- Hotel Aggregate Review Metrics: Overall hotel score, rating label, total review count, and category ratings
- Management Responses: Capture hotel replies to guest reviews when available
- Multiple Platform Support:
- Expedia.com Hotels: All major Expedia domains (US, UK, Brazil, Germany, France, Spain, Italy, Netherlands, Japan, Australia, Singapore, and more)
- Expedia.com Activities (Things-To-Do): Tours, attractions, day trips — any
.a{id}.activity-detailsURL - Hotels.com: Full support for Hotels.com hotel reviews
- Mixed runs: Combine all three URL types in a single
startUrlsarray
- Flexible Input: Supports multiple input formats:
- Direct hotel URLs (long slug or short
.../h{propertyId}.Hotel-Information) - Activity / Things-To-Do URLs (
.../things-to-do/{slug}.a{id}.activity-details) - Hotels.com URLs (
https://{locale}.hotels.com/ho{id}/{slug}/) - Bare Expedia property ids (digits or
h600217) - Expedia deeplinks (expe.app.link) — automatically resolved
- Multiple URLs (and any mix of the above) in a single run
- Direct hotel URLs (long slug or short
- Date Filtering: Filter reviews by date (from specific date until now)
- Optional Category Ratings Toggle: Control whether hotel-level aggregate fields are requested
- Automatic Pagination: Handles multi-page reviews automatically
- Efficient Processing: Concurrent scraping with configurable concurrency settings
- Reliable Performance: Built-in retry mechanisms and proxy support
- Structured Data Export: Download review data in JSON or CSV format for analysis
Supported Platforms
The Expedia.com Reviews Scraper can extract data from:
-
Expedia.com — Hotels (provider
expedia)- Example:
https://www.expedia.co.uk/Kastoria-Hotels-Hotel-Anastassiou.h6136437.Hotel-Information - Example:
https://www.expedia.com/New-York-Hotels-Hotel-Name.h123456.Hotel-Information - Example (short URL):
https://www.expedia.com/h17369936.Hotel-Information - Example:
https://www.expedia.com.br/Rio-De-Janeiro-Hotels-Premier-Copacabana-Hotel.h53296.Hotel-Information - Example:
https://www.expedia.de/Berlin-Hotels-Hotel-Name.h123456.Hotel-Information - Fields:
reviewText,reviewRating,reviewRatingLabel,verified,hotelOverallRating,hotelTotalReviews,hotelCategoryRatings,hotelResponse,tripType,traveledWith,sentiments, etc.
- Example:
-
Expedia.com — Activities / Things-To-Do (provider
expedia-activity)- URL pattern:
https://www.expedia.com/things-to-do/{slug}.a{id}.activity-details - Example:
https://www.expedia.com.sg/things-to-do/singapore-hop-on-hop-off-bus-tour-by-open-top-bus.a203344.activity-details - All regional Expedia domains supported
- Fields:
reviewText,reviewRating,reviewRatingLabel,reviewDate,activityDate,userLocation,reviewedOn,activityOverallRating,activityTotalReviews,authorName, etc.
- URL pattern:
-
Hotels.com (provider
hotels)- Example:
https://el.hotels.com/ho434012/hotel-anastassiou-kastoria-ellada/ - Fields: Same comprehensive review data as Expedia.com hotels
- Example:
Hotel-flavoured rows (Expedia hotels + Hotels.com) share the same field set. Activity rows have a slightly different shape (no traveledWith/stayDuration/hotelResponse, but include userLocation and activityDate). Filter on provider to keep them separate, or work with whichever subset matters to you.
Not reviewable: Expedia destination/region landing pages (
.../Place.d{id}.Place-To-Visit) have no reviews of their own — they only list nearby hotels and tours. If you supply one, the scraper produces a single explanatory row (with a hint about the URL types it does support) and skips the network fetch entirely. You don't get charged for fetching dead URLs.
Quick Start
- Sign up for Apify: Create your free account at apify.com.
- Find the Scraper: Search for "Expedia.com Hotel Reviews Scraper" in the Apify Store.
- Configure Input: Set up your scraping parameters using the input schema.
- Run the Scraper: Execute the scraper on the Apify platform.
- Data Collection: The scraper will output all available review data.
Input Configuration
Here's an example of how to set up the input for the Expedia.com Hotel Reviews Scraper:
{"startUrls": ["https://www.expedia.co.uk/Kastoria-Hotels-Hotel-Anastassiou.h6136437.Hotel-Information","https://www.expedia.com/New-York-Hotels-Hotel-Name.h123456.Hotel-Information","https://www.expedia.com/h17369936.Hotel-Information","https://www.expedia.com.br/Rio-De-Janeiro-Hotels-Premier-Copacabana-Hotel.h53296.Hotel-Information","https://www.expedia.com.sg/things-to-do/singapore-hop-on-hop-off-bus-tour-by-open-top-bus.a203344.activity-details","https://el.hotels.com/ho434012/hotel-anastassiou-kastoria-ellada/","https://expe.app.link/KjB1EuacRSb"],"reviewsFrom": "2025-01-01","includeCategoryRatings": true,"maxItems": 1000,"maxConcurrency": 10,"minConcurrency": 1,"maxRequestRetries": 100,"proxy": {"useApifyProxy": true}}
Input Fields Explanation
startUrls: Array of URLs to scrape reviews from. Mix freely:- Expedia hotel URL:
"https://www.expedia.co.uk/Kastoria-Hotels-Hotel-Anastassiou.h6136437.Hotel-Information" - Expedia activity URL:
"https://www.expedia.com/things-to-do/{slug}.a{id}.activity-details" - Hotels.com URL:
"https://el.hotels.com/ho434012/hotel-anastassiou-kastoria-ellada/" - Bare Expedia property id:
"600217"or"h600217"(auto-expanded) - Expedia Deeplink:
"https://expe.app.link/KjB1EuacRSb"(automatically resolved)
- Expedia hotel URL:
reviewsFrom: Filter reviews from this date until now (optional). Format:YYYY-MM-DD(e.g.,"2025-01-01")- Only scrapes reviews posted on or after this date
- Uses smart pagination stopping to optimize performance
- Leave empty to get all reviews
includeCategoryRatings: Fetch hotel-level aggregate fields such ashotelOverallRating,hotelRatingLabel,hotelTotalReviews, andhotelCategoryRatings(default:true)- When enabled, the actor emits one additional Apify charge event:
additional-cost - Set to
falseif you only need review-level output
- When enabled, the actor emits one additional Apify charge event:
maxItems: Maximum number of reviews to scrape (default: 1000).maxConcurrency: Maximum number of pages processed simultaneously (default: 10).minConcurrency: Minimum number of pages processed simultaneously (default: 1).maxRequestRetries: Number of retries for failed requests (default: 100).proxy: Proxy settings for enhanced scraping reliability.useApifyProxy: Use Apify's proxy service (recommended:true)
Pricing Note
includeCategoryRatingsis enabled by default because most users want hotel-level benchmark fields- When
includeCategoryRatingsis enabled, the actor sends one additional Apify charging event per run:additional-cost - If you do not need hotel-level aggregate data, set
includeCategoryRatingstofalse
Date Filtering Feature
The reviewsFrom parameter allows you to filter reviews by date, making it perfect for:
- Recent reviews: Get only the latest feedback
- After renovation: Track reviews since hotel improvements
- Monitoring: Get new reviews since last check
- Seasonal analysis: Analyze reviews for specific time periods
Deeplink URL Support
The scraper automatically handles Expedia deeplink URLs (expe.app.link), which are commonly used in:
- Mobile sharing: Hotel links shared from Expedia mobile app
- Marketing campaigns: Promotional deeplinks
- Social media: Shortened URLs from social platforms
- Email campaigns: Tracking links in email marketing
How It Works
- Scraper detects deeplink URL format (
https://expe.app.link/...) - Automatically follows redirects to resolve the final hotel page
- Extracts hotel ID from the resolved URL
- Scrapes reviews normally
Example:
{"startUrls": ["https://expe.app.link/KjB1EuacRSb"]}
The deeplink resolves to:
https://www.expedia.com/Winter-Park-Hotels-Winter-Park-Mountain-Lodge.h5507.Hotel-Information
And the scraper extracts reviews for hotel ID 5507.
Activity (Things-To-Do) Review Support
Beyond hotels, the scraper extracts reviews for Expedia activities — tours, day trips, attractions, classes, transfers, anything bookable in the "Things to do" section.
URL pattern
https://www.expedia.com/things-to-do/{slug}.a{activityId}.activity-details
All regional Expedia domains work (.com, .com.sg, .co.uk, .de, .fr, …). The activity id sits between .a and .activity-details — for example .a203344. is activity id 203344.
Example
{"startUrls": ["https://www.expedia.com.sg/things-to-do/singapore-hop-on-hop-off-bus-tour-by-open-top-bus.a203344.activity-details"],"maxItems": 500}
What you get
Activity rows are tagged provider: "expedia-activity" and ship a rich activity-level metadata block (fetched in parallel with reviews via Expedia's OverviewQuery) plus the per-review fields. Output schema:
{"placeName": "Singapore Hop-On Hop-Off Bus Tour by Open-Top Bus","provider": "expedia-activity","activityId": "203344","activityUrl": "https://www.expedia.com.sg/things-to-do/...a203344.activity-details","locale": "en_SG","siteid": "1","currency": "SGD","activityName": "Singapore Hop-On Hop-Off Bus Tour by Open-Top Bus","activitySubHeading": "By Big Bus Tours","activityPrice": "S$65","activityPriceAccessibility": "S$65 includes taxes & fees","activityOverallRating": "8.4/10","activityOverallRatingAccessibility": "8.4 out of 10","activityRatingLabel": "Very good","activityRatingBadge": "8.4","activityTotalReviews": 216,"activityTotalReviewsLabel": "See all 216 reviews","activityHighlights": ["Explore Singapore by open-top double-decker bus","Frequent service with buses every 25 - 40 minutes","Discover Chinatown, Little India and Kampong Glam","Enjoy informative audio commentary in 7 languages","Upgrade to see the city lit up at night on a Night Tour"],"activityFeatures": ["Free cancellation available","1d+","Printed voucher","Instant confirmation","Multiple languages","Features animals"],"activityReviewsDisclaimer": "All reviews come from verified guests of these tours.","reviewId": "203344|14 Mar, 2026|A verified traveller|No plug in to keep phone...|3","reviewText": "No plug in to keep phone charged. I was afraid I'd lose my access...","reviewDate": "14 Mar, 2026","activityDate": "9 Mar, 2026","reviewRating": 8.0,"reviewRatingLabel": "8.0 out of 10","rating": "8.0/10","authorName": "A verified traveller","reviewerName": "A verified traveller","userLocation": "","reviewedOn": "Reviewed on Expedia","page": 11,"scrapedAt": "2026-05-07T14:37:50.859Z"}
The activity metadata fields (activityName, activityHighlights, activityFeatures, activityTotalReviews, activityPrice, activityRatingLabel, etc.) come from a parallel EXPEDIA_ACTIVITY_DETAILS request that fires once per activity and gets merged into every review row. This mirrors how hotel scraping fires EXPEDIA_PROPERTY_DETAILS alongside EXPEDIA_REVIEWS.
Reviewable vs. non-reviewable Expedia URLs
Expedia has three URL kinds the scraper recognises:
| URL ends in | What it is | Result |
|---|---|---|
.h{id}.Hotel-Information | Hotel detail page | âś… Hotel reviews scraped (provider: expedia) |
/things-to-do/{slug}.a{id}.activity-details | Activity detail page | âś… Activity reviews scraped (provider: expedia-activity) |
.d{id}.Place-To-Visit | Destination/region landing page | ⚠️ No reviews of its own — produces one explanatory row, no fetch |
Pasting a .d{id}.Place-To-Visit URL by mistake (e.g. for the Singapore Flyer attraction itself, rather than a specific Singapore Flyer-area tour) won't break or stall the run — you'll get a single row explaining the problem and a hint pointing at the right URL types. Useful if you're not sure whether a URL has its own reviews.
Output Structure
The scraper provides comprehensive information about hotel reviews from Expedia.com and Hotels.com. The output includes detailed review text, ratings, guest information, trip details, sentiment analysis, and review metadata. Here's a breakdown of the main components:
Sample JSON Output
{"placeName": "Kastoria Hotels Hotel Anastassiou","placeAddress": "","provider": "expedia","hotelId": "6136437","hotelUrl": "https://www.expedia.co.uk/Kastoria-Hotels-Hotel-Anastassiou.h6136437.Hotel-Information","locale": "en_GB","verified": true,"hotelOverallRating": 8,"hotelRatingLabel": "Very good","hotelTotalReviews": 69,"hotelCategoryRatings": [{ "label": "Cleanliness", "percent": 84 },{ "label": "Location", "percent": 82 },{ "label": "Staff & service", "percent": 86 }],"reviewId": "67bf52814570c67eb5d18a8b","reviewText": "Nice simple stay.","reviewTitle": "","reviewDate": "2025-03-13T00:00:00.000Z","stayDate": "2025-02-01T00:00:00.000Z","reviewRating": 8,"reviewRatingLabel": "Good","rating": "8/10 Good","authorName": "Jeffrey","reviewerName": "Jeffrey","tripType": "Stayed 1 night in Feb 2025","stayDuration": 1,"traveledWith": "Traveled with family","liked": ["cleanliness","staff & service"],"disliked": [],"sentiments": ["Liked: cleanliness, staff & service"],"photos": [],"hotelResponse": "Thank you very much for your rating.We hope to see you again soon.Have a great time.","hotelResponseAuthor": "Anastassiou hotel","hotelResponseDate": "2025-04-08T00:00:00.000Z","page": 0,"scrapedAt": "2026-02-05T13:11:47.005Z"}
Output Fields Detailed Explanation
Hotel Information
-
placeName(string): Hotel name extracted from URL. Example:"Kastoria Hotels Hotel Anastassiou" -
placeAddress(string): Hotel address (currently empty in API responses) -
provider(string): Platform source - either"expedia"or"hotels" -
hotelId(string): Unique hotel identifier. Example:"6136437" -
hotelUrl(string): Direct link to the hotel page on Expedia/Hotels.com -
locale(string): Locale derived from the source domain or input URL. Examples:"en_US","pt_BR","de_DE" -
verified(boolean): Whether the review is marked as verified by the source site -
hotelOverallRating(number | null): Hotel overall score on a 0-10 scale. Example:8.2 -
hotelRatingLabel(string | null): Hotel rating label. Examples:"Very good","Muito boa" -
hotelTotalReviews(number | null): Total number of hotel reviews shown by Expedia/Hotels.com -
hotelCategoryRatings(array | null): Hotel category breakdown with normalized labels and integer percentages. Example:[{ "label": "Cleanliness", "percent": 84 }]
Review Content
-
reviewId(string): Unique review identifier for duplicate detection. Example:"67bf52814570c67eb5d18a8b" -
reviewText(string): Guest's detailed feedback. Example:"Nice simple stay." -
reviewTitle(string): Review headline (often empty)
Rating Information
-
reviewDate(string): Review post date in ISO 8601 format. Example:"2025-03-12T23:00:00.000Z" -
stayDate(string | null): Stay month in ISO 8601 format derived from the trip summary. Example:"2025-02-01T00:00:00.000Z" -
reviewRating(number): Numeric score (0-10 scale). Example:8 -
reviewRatingLabel(string | null): Human-readable review label. Examples:"Good","Excellent","Excelente" -
rating(string): Full rating with descriptor. Example:"8/10 Good"
Guest Information
-
authorName(string): Guest's name or display name. Example:"Jeffrey" -
reviewerName(string): Same as authorName (for compatibility)
Trip Details
-
tripType(string): Stay duration and timing. Example:"Stayed 1 night in Feb 2025" -
stayDuration(number | null): Number of nights in the stay. Example:1 -
traveledWith(string | null): Normalized travel companion info. Examples:"Traveled with family","Traveled with partner","Solo traveler","Business traveler"(null if not specified)
Sentiment Analysis
-
liked(array of strings): Parsed liked topics from the sentiment labels -
disliked(array of strings): Parsed disliked topics from the sentiment labels -
sentiments(array of strings): Guest-liked/disliked features. Example:["Liked: cleanliness, staff & service"]or["Disliked: noise, outdated facilities"]
Media
photos(array of strings): Guest-uploaded photo URLs (often empty)
Management Response
-
hotelResponse(string | null): Hotel management response text when the property replied to the review -
hotelResponseAuthor(string | null): Response author extracted from the Expedia/Hotels.com response heading -
hotelResponseDate(string | null): Response date in ISO 8601 format
Metadata
-
page(number): Pagination page number (zero-indexed). Example:0 -
scrapedAt(string): Scrape timestamp in ISO 8601 format. Example:"2026-02-05T13:11:47.005Z"
Use Cases
1. Hotel Reputation Management
Monitor and analyze guest reviews to understand hotel performance and identify areas for improvement.
{"startUrls": ["https://www.expedia.com/MyHotel.h123456.Hotel-Information"],"reviewsFrom": "2025-01-01","maxItems": 1000}
2. Competitive Analysis
Compare reviews across multiple hotels to benchmark performance against competitors.
{"startUrls": ["https://www.expedia.com/Hotel-A.h111111.Hotel-Information","https://www.expedia.com/Hotel-B.h222222.Hotel-Information","https://www.expedia.com/Hotel-C.h333333.Hotel-Information"],"includeCategoryRatings": true,"maxItems": 5000}
3. Market Research
Analyze review trends across locations or time periods for hospitality market insights.
{"startUrls": ["https://www.expedia.com/New-York-Hotel.h123456.Hotel-Information","https://www.expedia.com/London-Hotel.h234567.Hotel-Information"],"reviewsFrom": "2024-01-01","maxItems": 10000}
4. Sentiment Analysis
Extract and analyze guest sentiments to understand what guests like and dislike.
{"startUrls": ["https://www.expedia.co.uk/Kastoria-Hotels-Hotel-Anastassiou.h6136437.Hotel-Information"],"maxItems": 2000}
5. Activity / Tour Operator Reputation
Track reviews of bookable tours, day trips, and attractions to benchmark traveller satisfaction across experiences.
{"startUrls": ["https://www.expedia.com.sg/things-to-do/singapore-hop-on-hop-off-bus-tour-by-open-top-bus.a203344.activity-details","https://www.expedia.com/things-to-do/another-tour.a999999.activity-details"],"reviewsFrom": "2025-01-01","maxItems": 1000}
Performance & Limits
- Rate Limiting: The scraper includes built-in delays and retry mechanisms
- Concurrency: Adjust
maxConcurrencybased on your needs (1-20 recommended) - Memory: Each review is approximately 1-2 KB in JSON format
- Speed: Typically processes 100-200 reviews per minute (depends on hotel and settings)
- Date Filter Optimization: Using
reviewsFromcan reduce scraping time by 50-80% for recent reviews
Error Handling
The scraper includes comprehensive error handling:
- Automatic Retries: Failed requests are retried up to
maxRequestRetriestimes - Duplicate Detection: Reviews are deduplicated by
reviewId - Proxy Support: Use Apify proxy to avoid blocks
- Smart Pagination: Stops automatically when reaching end of reviews
- Graceful Failures: Continues scraping even if individual pages fail
Troubleshooting
No Reviews Found
- Check if the hotel URL is correct
- Verify the hotel has reviews on Expedia/Hotels.com
- Try running without
reviewsFromfilter first - If you disabled
includeCategoryRatings, hotel-level fields such ashotelOverallRatingandhotelCategoryRatingswill benull
Scraper Stops Early
- Check
reviewsFromdate - scraper stops when all reviews are older - Verify
maxItemsisn't too low - Check logs for error messages
Duplicate Reviews
- The scraper automatically handles duplicates using
reviewId - Duplicates are logged but not added to output
- Normal behavior when re-scraping the same hotel
Support & Contact
For custom solutions, bulk scraping, or support:
- đź“§ Email: muhameddidovic@gmail.com
- 🏪 Apify Store: Search for "Expedia.com Hotel Reviews Scraper"
- đź’¬ Apify Support: Contact through Apify platform
Explore More Scrapers
If you found this Apify Scraper useful, be sure to check out our other powerful scrapers and actors at memo23's Apify profile. We offer a wide range of tools to enhance your web scraping and automation needs across various platforms and use cases.
Legal & Ethical Use
- This scraper is intended for legitimate business purposes only
- Respect Expedia.com and Hotels.com Terms of Service
- Use responsibly and ethically
- Do not overload servers with excessive requests
- Consider using data for analysis and research within legal boundaries
Built with ❤️ by Muhammad Didovic
Last Updated: May 2026