Expedia Scraper API — Hotels, Prices, Rooms & Reviews | $1.8/1k
Pricing
from $1.40 / 1,000 hotels
Expedia Scraper API — Hotels, Prices, Rooms & Reviews | $1.8/1k
Scrape Expedia.com hotels by city, landmark, search URL or hotel URL: live prices & deals for your dates, every room & rate plan, address & GPS, all photos, amenities, policies, rating distribution, AI review summary and guest reviews. No login, no API key.
Pricing
from $1.40 / 1,000 hotels
Rating
0.0
(0)
Developer
Raven
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Expedia Scraper API — Hotels, Prices, Rooms, Reviews & Photos
Scrape Expedia.com hotels by city, landmark, Expedia search URL or hotel URL, from $1.80 per 1,000 hotels. Every row is a complete hotel: live prices and deals for your dates, every room type with every rate plan, full address and GPS coordinates, all photos, amenities, policies, FAQ, rating distribution, category scores, Expedia's AI review summary and — optionally — full guest reviews nested inside. No login, no API key, no code, no proxies to set up.

| Raven · TRAVEL & HOSPITALITY • Expedia, Booking, TripAdvisor, Google Maps | |||
|
➤ You are here |
Hotels, prices, hosts, reviews |
Hotels, restaurants, emails |
Places, emails, reviews |
🏨 What does this Expedia Scraper do?
It works as an unofficial Expedia API: Expedia's own partner APIs are only open to approved affiliates and travel businesses, while this actor turns the public Expedia.com website into clean JSON, CSV or Excel for anyone.
| You give it | You get |
|---|---|
Destinations — Paris, Times Square, New York, JFK Airport, a hotel name | Up to 5,000 hotels per destination, found the way Expedia's search box finds them |
Expedia search URLs — …/Hotel-Search?… | The same results you see on the site, with every filter you applied kept (stars, price, amenities, property type, guest rating, neighborhood, sort) |
Hotel URLs — …h891081.Hotel-Information | That hotel with full details, rooms & rates and reviews |
Hotel IDs — 891081 | Same as a hotel URL, no link needed |
One row per hotel. Rooms, rates, photos and reviews are nested inside the hotel, so 100 hotels = 100 rows.
✅ Why use this scraper?
- ✅ Up to 61 top-level fields per hotel, plus 9 fields per room, 11 per rate plan and 17 per review.
- ✅ Rooms & rates for your dates — every room type, and every rate plan with price, crossed-out price, deal, cancellation terms, payment options (pay now / pay later / deposit), extras like breakfast and "rooms left".
- ✅ Ratings breakdown — rating distribution (count and % for each score), category scores (cleanliness, staff & service, amenities, condition) and Expedia's AI review summary with mention counts.
- ✅ All photos with categories (Rooms, Bathroom, Exterior, Dining…) and property videos.
- ✅ Reviews nested in each hotel — up to 10,000 per hotel, sorted by newest / most relevant / highest / lowest, filtered by traveler type and date.
- ✅ Up to 200 hotels per search request and up to 5,000 hotels per destination.
- ✅ Search URL filters kept as-is — set up the search on Expedia, paste the URL.
- ✅ Pay per result — hotels and reviews are billed separately; no monthly fee.
| Expedia partner API | Typical Expedia scrapers | This actor | |
|---|---|---|---|
| Access | Approved partners only | Open | Open |
| Hotels from search | ✅ | ✅ | ✅ |
| Every room & rate plan with cancellation / payment / extras | Partner-dependent | Rarely | ✅ |
| Rating distribution + category scores + AI summary | ❌ | Rarely all three | ✅ |
| Reviews in the same run | ❌ | Usually a separate actor | ✅ nested per hotel |
| Search URL with site filters | ❌ | Sometimes | ✅ |
| Setup | Contract, keys | Often a proxy to configure | None |
📦 What data can you extract?
Listing & price (from search)
| Field | Example |
|---|---|
hotelId, name, url | 75198855, Hotel Monte Hermana Tokyo |
starRating, guestRating, guestRatingText, reviewCount | 3, 9.2, Wonderful, 1002 |
priceTotal, pricePerNight, priceStrikethrough, priceLabel | 320, 247, 445, Total with taxes and fees |
dealBadge, badges, availabilityMessage, freeCancellation | Sale $125 off, VIP Access, We have 2 left at this price, true |
searchPosition, isSponsored, neighborhood, thumbnail, cardAmenities | 2, false, Tokyo |
searchQuery, destination, regionId, checkIn, checkOut, adults, currency | Tokyo, 2026-10-11, USD |
Location: address, street, city, region, postalCode, countryCode, latitude, longitude, mapImage, neighborhoodDescription, nearbyPlaces (name, distance, walking time, image).
Property: tagline, description, starRatingInfo, highlights, popularAmenities, familyAmenities, amenities (by category), checkInPolicy, checkOutPolicy, policies, importantInfo (fees, optional extras), faq.
Media: images (url, caption, category), videos (url, caption, duration, thumbnail).
Ratings: ratingDistribution (rating, label, count, percent), categoryRatings (category, score), reviewSummaryAI (section, text, mentions).
Rooms & rates (rooms[]): roomTypeId, name, features (size, beds, occupancy), highlights, refundPolicy, amenities, images, available, and rates[] with ratePlanId, priceTotal, pricePerNight, priceStrikethrough, deal, extras, cancellation, payment, paymentModel, roomsLeft. Plus lowestPriceBreakdown (base rate and taxes of the cheapest offer).
Reviews (reviews[]): reviewId, rating, ratingLabel, title, text, author, date, travelerType, stay, nightsStayed, liked, disliked, photos, verified, hotelResponse, hotelResponseAuthor, hotelResponseDate.
🚀 How to scrape Expedia step by step
- Create a free Apify account — it comes with $5 of free credits every month.
- Open Expedia Scraper and type a destination (e.g.
Paris), or paste Expedia search / hotel URLs. - Set Max hotels per destination, your check-in / check-out dates and guests.
- Optionally add filters (stars, price, guest rating, free cancellation, sort) and choose what to collect: Hotel details, Rooms & rates, Guest reviews.
- Click Start. Hotels appear in the Output tab while the run is going.
- Download as JSON, CSV, Excel, XML or HTML, or pull the data through the API.
🔗 How to scrape an Expedia search with all its filters
Build the search on Expedia.com — destination, dates, guests, star rating, price range, amenities, property type, guest rating, sort — and copy the address bar. Paste it into Expedia URLs. The actor reads the destination, dates, rooms, children and every filter from the URL and returns the same hotels, up to your Max hotels per destination. The dates and filters from the input form apply to destinations; a search URL keeps its own.
💬 How to get Expedia reviews for many hotels at once
Turn on Guest reviews and set Max reviews per hotel. Reviews are fetched 50 at a time and attached to their hotel, so a destination search can bring back hundreds of hotels with their reviews in one run. Use Reviews order = Most recent together with Reviews newer than to collect only fresh reviews — the actor stops paging a hotel once it reaches older ones. To get reviews only, pass hotel URLs or IDs and switch off Hotel details and Rooms & rates.
🛏️ How to compare room rates and cancellation terms
With Rooms & rates on (default), each hotel carries every room type and every rate plan Expedia offers for your dates: non-refundable vs. fully refundable, with or without breakfast, pay now vs. pay later, and how many rooms are left at that price. Change checkIn, checkOut, adults, childrenAges and rooms to price a specific trip.
⚙️ Input parameters
| Parameter | Type | Description |
|---|---|---|
destinations | array | Places or hotel names as typed into Expedia's search box |
startUrls | array | Expedia hotel pages and/or Hotel-Search result pages |
hotelIds | array | Expedia property IDs |
maxItems | integer | Max hotels per destination or search URL (1–5,000, default 50) |
checkIn / checkOut | string | YYYY-MM-DD or relative (7 days). Default: 14 days from today, 1 night |
adults | integer | Adults per room (default 2) |
childrenAges | array | Age of each child |
rooms | integer | Number of rooms (default 1) |
sortBy | enum | RECOMMENDED, PRICE_LOW_TO_HIGH, PRICE_HIGH_TO_LOW, REVIEW, DISTANCE, PROPERTY_CLASS |
minPrice / maxPrice | integer | Price range in USD |
starRatings | array | 10–50 (1–5 stars) |
minGuestRating | enum | 30 (7+), 35 (8+), 40 (9+), 45 (9.5+) |
freeCancellationOnly | boolean | Only fully refundable properties |
includeDetails | boolean | Address, coordinates, photos, amenities, policies, FAQ, ratings breakdown (default on) |
includeRooms | boolean | Rooms & rates for your dates (default on) |
includeReviews | boolean | Attach guest reviews (default off) |
maxReviewsPerHotel | integer | Default 20 |
reviewsSort | enum | newest, relevant, highest, lowest |
reviewsTravelerType | enum | all, business, couples, families, families_young_children, groups, solo, pets |
reviewsFrom | string | Skip reviews older than this date |
maxConcurrency | integer | Hotels processed in parallel (default 10) |
🧪 Ready-to-paste input recipes
Cheapest 4–5 star hotels in Paris for a weekend
{"destinations": ["Paris"],"maxItems": 100,"checkIn": "2026-11-13","checkOut": "2026-11-15","starRatings": ["40", "50"],"sortBy": "PRICE_LOW_TO_HIGH"}
Family trip with children, free cancellation only
{"destinations": ["Orlando"],"maxItems": 50,"adults": 2,"childrenAges": ["6", "9"],"freeCancellationOnly": true,"minGuestRating": "40"}
Hotel reputation monitoring — fresh reviews only
{"startUrls": [{ "url": "https://www.expedia.com/Paris-Hotels-Hotel-Trianon-Rive-Gauche.h891081.Hotel-Information" }],"includeDetails": false,"includeRooms": false,"includeReviews": true,"maxReviewsPerHotel": 1000,"reviewsSort": "newest","reviewsFrom": "2026-06-01"}
Market research: several cities with reviews
{"destinations": ["London", "New York", "Tokyo"],"maxItems": 300,"includeReviews": true,"maxReviewsPerHotel": 20}
Expedia search URL with filters from the site
{"startUrls": [{ "url": "https://www.expedia.com/Hotel-Search?destination=Paris%2C%20France®ionId=2734&startDate=2026-11-10&endDate=2026-11-12&adults=2&sort=PRICE_LOW_TO_HIGH&star=40&star=50&price=100&price=400" }],"maxItems": 200}
Lightweight price scan (no details, no rooms)
{"destinations": ["Barcelona", "Rome", "Lisbon"],"maxItems": 500,"includeDetails": false,"includeRooms": false}
📤 Output example
A real record from a run (lists shortened):
{"hotelId": "75198855","name": "Hotel Monte Hermana Tokyo","url": "https://www.expedia.com/Tokyo-Hotels-Hotel-Monte-Hermana-Tokyo.h75198855.Hotel-Information","starRating": 3,"guestRating": 9.2,"guestRatingText": "Wonderful","reviewCount": 1002,"address": "3-3-15 Nihonbashi, Tokyo, Tokyo, 103-0027","city": "Tokyo","postalCode": "103-0027","countryCode": "JPN","latitude": 35.680202,"longitude": 139.770923,"priceTotal": 320,"pricePerNight": 247,"priceStrikethrough": 445,"dealBadge": "Sale $125 off","availabilityMessage": "We have 2 left at this price","freeCancellation": true,"searchPosition": 2,"searchQuery": "Tokyo","checkIn": "2026-10-11","checkOut": "2026-10-12","adults": 2,"currency": "USD","tagline": "Hotel near Tokyo International Forum","ratingDistribution": [{ "rating": 10, "label": "Excellent", "count": 693, "percent": 69 },{ "rating": 8, "label": "Good", "count": 236, "percent": 24 }],"categoryRatings": [{ "category": "Cleanliness", "score": 9.6 },{ "category": "Staff & service", "score": 9.6 }],"reviewSummaryAI": [{ "section": "What guests liked", "text": "The hotel is surrounded by numerous local restaurants and eateries within walking distance, offering a variety of dining options.", "mentions": 28 }],"popularAmenities": ["Free WiFi", "Air conditioning", "Breakfast available", "Laundry"],"images": [{ "url": "https://images.trvl-media.com/lodging/76000000/75200000/75198900/75198855/a2956964.jpg?impolicy=resizecrop&rw=1200&ra=fit", "caption": "A modern hotel entrance with a patterned facade…", "category": "Exterior" }],"rooms": [{"roomTypeId": "316139087","name": "Twin Room, Non Smoking","features": ["183 sq ft", "1 bedroom", "Sleeps 4", "2 Twin Beds", "Free WiFi"],"highlights": ["Air conditioning", "Heating", "Blackout drapes/curtains"],"rates": [{"ratePlanId": "394022681","extras": "No extras","priceTotal": 320,"pricePerNight": 247,"priceStrikethrough": 445,"deal": "Sale $125 off","cancellation": "Fully refundable before Thu, Oct 8","payment": ["Pay the total now", "Pay when you stay", "Reserve with deposit"],"roomsLeft": "We have 2 left"}]}],"reviews": [{"reviewId": "6ab0d51ad78e387900203f2f","rating": 10,"ratingLabel": "Excellent","text": "Staff Friendly and helpful. Comfortable rooms. Great location to train stations. We would stay again here","author": "JEFF","date": "2026-09-21","travelerType": "Traveled with partner","stay": "Stayed 4 nights in Sep 2026","nightsStayed": 4,"liked": ["cleanliness", "staff & service", "amenities", "property conditions & facilities"],"verified": true,"hotelResponse": "Thank you so much for your kind review…","hotelResponseDate": "2026-09-22"}],"scrapedAt": "2026-09-27T17:16:38+00:00"}
The Output tab also offers ready-made table views: Overview, Location & contacts, Details, Rooms & rates and Reviews.
💰 How much does it cost to scrape Expedia?
Pay-per-event pricing — you pay only for hotels and reviews you receive.
| Event | Free plan | Bronze | Silver | Gold | Platinum | Diamond |
|---|---|---|---|---|---|---|
| Hotel — full record (listing, price, details, photos, rooms & rates) | $1.80 / 1,000 | $1.60 | $1.50 | $1.40 | $1.30 | $1.20 |
| Review — one guest review attached to a hotel | $0.50 / 1,000 | $0.40 | $0.35 | $0.30 | $0.25 | $0.18 |
| Job | Free plan | Gold plan |
|---|---|---|
| 100 hotels in one city | $0.18 | $0.14 |
| 1,000 hotels with details and rooms | $1.80 | $1.40 |
| 1,000 hotels + 20 reviews each | $11.80 | $7.40 |
| 10,000 reviews (reviews only) | $5.00 + hotels | $3.00 + hotels |
The free $5 monthly credit covers roughly 2,700 hotels, or about 400 hotels with 20 reviews each. There is also a platform start fee of $0.00005 per run. Prices are all-inclusive. Set Maximum cost per run in the run options and the actor stops cleanly when it is reached.
🔌 Integrations
Send results anywhere with Apify integrations: Make, Zapier, n8n, Google Sheets, Slack, Airtable, webhooks, or the Apify API and Python / JavaScript clients. Use Schedules to re-run a search every day and track Expedia prices over time.
🤖 Use with AI agents (MCP)
The actor is available through the Apify MCP server, so Claude, ChatGPT, Cursor and other MCP clients can call it as a tool. Example prompt:
"Find the 20 cheapest 4-star hotels in Lisbon on Expedia for 12–14 November with free cancellation, and list their guest rating, price per night and address."
🎯 Popular use cases
- Hotels & revenue managers — monitor competitors' prices, deals, rooms left and cancellation terms for your dates.
- Travel agencies & OTAs — build hotel catalogs with photos, amenities, policies and coordinates.
- Market researchers & investors — compare destinations by price level, star mix and guest ratings.
- Reputation & CX teams — collect reviews, liked/disliked topics and hotel responses; track the AI review summary.
- Data & AI teams — feed hotel data and reviews into dashboards, RAG pipelines and travel assistants.
⚖️ Is it legal to scrape Expedia?
The actor collects publicly visible hotel information — the same prices, descriptions and reviews anyone can see on Expedia.com without logging in. Reviews contain reviewer first names, which may be personal data under GDPR and similar laws; only process them if you have a legitimate reason. You are responsible for complying with Expedia's terms and applicable laws. Read more: Is web scraping legal? This actor is not affiliated with Expedia Group.
❓ FAQ
Does Expedia have a public API?
Expedia's official APIs are available to approved partners only. This actor gives you the same public hotel data as structured JSON without a partner agreement.
Do I need an Expedia account, API key or proxies?
No. Everything needed is included — just enter a destination or URL.
Which Expedia sites are supported?
Expedia.com (US). Prices are in USD and texts are in English.
How many hotels can I get per destination?
Up to 5,000 per destination or search URL. Expedia typically lists a few hundred to a few thousand properties per city; for more, split a city into neighborhoods or use filters.
Why are there fewer hotels than I asked for?
Expedia returned fewer matches for that destination, dates and filters. Loosen filters, widen the price range or change dates.
Which dates are prices for?
The checkIn / checkOut in each row. Without dates, check-in is 14 days from today for one night.
Why is priceTotal empty for some hotels?
priceTotal comes from search results. Hotels requested by URL or ID get priceFrom (the cheapest rate) and the full list of room rates instead. Sold-out hotels have no price.
Why are some fields missing in a record?
Empty values are dropped rather than returned as null. Some properties simply have no star rating, videos, FAQ or AI summary on Expedia.
Can I get only reviews?
Yes — pass hotel URLs or IDs, turn off Hotel details and Rooms & rates, and turn on Guest reviews.
How many reviews per hotel can I get?
Up to 10,000 per hotel, which covers all reviews Expedia shows for almost any property.
Does it return hotel emails or phone numbers?
No. Expedia does not publish hotels' own emails, phones or websites. You get the full address and exact coordinates.
Can I export to CSV or Excel?
Yes — JSON, CSV, Excel, XML and HTML from the Output tab or the API.
Will I be charged for hotels that return nothing?
No. Hotels that can't be read are skipped, logged and not charged.
Can I run it on a schedule to track prices?
Yes. Save your input as a task and add a Schedule (e.g. daily); each run records the prices for the dates you set.
Can AI agents use it?
Yes, through the Apify MCP server — see the section above.
🛟 Feedback & support
Found a bug or need a field? Open an issue in the Issues tab of the actor and include the run link.
More scrapers by Raven
Travel & hospitality
Booking Scraper — Hotels, prices, hosts, emails and reviews
TripAdvisor Scraper — Hotels, restaurants, emails and reviews
Google Maps Scraper — Places, emails, reviews and photos
Yelp Scraper — Businesses, emails and reviews
Real estate
Zillow Scraper — Listings, Zestimate, agents
Realtor Scraper — Listings, property data, agents
Apartments.com Scraper — Rentals, prices, reviews
Idealista Scraper — Spain, Italy & Portugal listings
Reviews & business data
Trustpilot Scraper — Companies, reviews, emails
G2 Scraper — Software reviews and ratings
Website Contact Scraper — Emails, phones and socials from any site
E-commerce
Amazon Scraper — Products, reviews, sellers
AliExpress Scraper — Products, variants, reviews
Alibaba Scraper — Products and suppliers
TikTok Shop Scraper — Products, reviews, GMV
Social media & SEO
Instagram Scraper — Profiles, posts, reels, comments
YouTube Scraper — Videos, comments, channel emails
Reddit Scraper — Posts, comments, media
Ahrefs SEO Scraper — DR, backlinks, keywords
SimilarWeb Scraper — Website traffic and rankings
Tags: expedia scraper, expedia api, expedia hotels scraper, expedia hotel prices, expedia reviews scraper, expedia room rates, hotel price monitoring, hotel data api, travel data scraper, hotel reviews api, expedia data extraction, hotel rate shopping, expedia search scraper, hotel photos scraper, hotel amenities data, unofficial expedia api