Expedia Scraper avatar

Expedia Scraper

Pricing

$2.00 / 1,000 results

Go to Apify Store
Expedia Scraper

Expedia Scraper

Scrape Expedia hotels, property details, guest reviews, and car rentals. Get prices, ratings, filters, and availability — structured and ready to use Expedia API . For Flights RESTapi visit here https://rapidapi.com/matepapava123/api/expedia-data1

Pricing

$2.00 / 1,000 results

Rating

0.0

(0)

Developer

Mate Papava

Mate Papava

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Expedia Hotels & Cars Scraper

Scrape live data from Expedia — hotel listings, full property details, guest reviews, car rental offers, and detailed car offer breakdowns.

Each actor run executes one scrape type with its own set of parameters. Results are pushed to the Apify dataset, with one item per hotel/review/car offer.


Scrape Types

scrapeTypeWhat it does
HOTEL_SEARCHFind hotels at a destination with filters
HOTEL_DETAILSFull property info, photos, amenities, rooms & rates
HOTEL_REVIEWSGuest reviews with keyword search and pagination
CAR_SEARCHFind rental cars between pickup and dropoff locations
CAR_DETAILSFull offer details: price breakdown, pickup address, cancellation policy

Flights not included. For flight search data, use the full Expedia API on RapidAPI: Expedia Travel API on RapidAPI


Usage

1. HOTEL_SEARCH

Find hotels at a destination.

How to find regionId: Run the actor once with any regionId to see results, or use the /suggest endpoint on the RapidAPI to look up a region by name.

Recommended workflow:

  1. Run without hotelFilters to see the available_filters item in the output.
  2. Copy values from available_filters into hotelFilters and rerun.

Input:

{
"scrapeType": "HOTEL_SEARCH",
"regionId": "2114",
"checkIn": "2026-08-15",
"checkOut": "2026-08-20",
"adults": 2,
"currency": "USD",
"maxResults": 50
}

With filters:

{
"scrapeType": "HOTEL_SEARCH",
"regionId": "2114",
"checkIn": "2026-08-15",
"checkOut": "2026-08-20",
"currency": "EUR",
"maxResults": 25,
"hotelFilters": {
"sort": "PRICE_LOW_TO_HIGH",
"star_ratings": [4, 5],
"price_max": 300,
"amenities": ["WIFI", "POOL"],
"property_types": ["HOTEL"],
"payment_type": "FREE_CANCELLATION"
}
}

Output (per hotel):

{
"scrape_type": "HOTEL_SEARCH",
"property_id": "16786",
"name": "Paris Marriott Champs Elysees Hotel",
"star_rating": 5,
"guest_rating": "8.6",
"price_per_night": "€662",
"neighborhood": "8th Arrondissement",
"image_url": "https://...",
"...full LodgingCard fields..."
}

Final metadata item:

{
"scrape_type": "HOTEL_SEARCH",
"is_metadata": true,
"total_results": 423,
"pushed": 50,
"available_filters": {
"star_ratings": [3, 4, 5],
"price_range": { "min": 45, "max": 850 },
"amenities": ["POOL", "WIFI", "PARKING", "GYM", "SPA"],
"neighborhoods": [{ "id": "8th", "name": "8th Arrondissement" }],
"sort_options": ["RECOMMENDED", "PRICE_LOW_TO_HIGH", "PRICE_HIGH_TO_LOW", "DISTANCE", "GUEST_RATING"]
}
}

2. HOTEL_DETAILS

Get full property details for a specific hotel. Use a property_id from a HOTEL_SEARCH result.

Input:

{
"scrapeType": "HOTEL_DETAILS",
"propertyId": "16786",
"checkIn": "2026-08-15",
"checkOut": "2026-08-20",
"currency": "USD"
}

Output (single item):

{
"scrape_type": "HOTEL_DETAILS",
"property_id": "16786",
"check_in": "2026-08-15",
"check_out": "2026-08-20",
"property_info": {
"name": "...",
"starRating": 5,
"address": "...",
"amenities": [...],
"photos": [...],
"location": { "nearby": [...] },
"policies": { "checkInTime": "15:00", "checkOutTime": "12:00" }
},
"rooms_and_rates": [
{
"roomName": "Deluxe King Room",
"price": "€662",
"cancellationPolicy": "Free cancellation until Aug 14",
"inclusions": ["WiFi", "Breakfast"]
}
]
}

3. HOTEL_REVIEWS

Get guest reviews for a hotel property.

Input:

{
"scrapeType": "HOTEL_REVIEWS",
"propertyId": "16786",
"page": 0,
"pageSize": 20
}

With filters:

{
"scrapeType": "HOTEL_REVIEWS",
"propertyId": "16786",
"page": 0,
"pageSize": 10,
"travelerType": "COUPLE",
"searchTerm": "breakfast",
"sortBy": ""
}

Output (per review):

{
"scrape_type": "HOTEL_REVIEWS",
"property_id": "16786",
"reviewer": "John D.",
"rating": 8.0,
"title": "Great location",
"text": "The hotel was perfectly situated...",
"traveler_type": "COUPLE",
"date": "June 2026",
"positive": "Location, staff, room size",
"negative": "Breakfast was overpriced"
}

4. CAR_SEARCH

Find rental cars between two locations.

Recommended workflow:

  1. Run without carFilters to get available_filters in the output.
  2. Add filter values from the output and rerun.

Input:

{
"scrapeType": "CAR_SEARCH",
"pickupSearchTerm": "New York, New York, United States of America",
"pickupDatetime": { "day": 15, "month": 8, "year": 2026, "hour": 10, "minute": 0 },
"dropoffSearchTerm": "New York, New York, United States of America",
"dropoffDatetime": { "day": 20, "month": 8, "year": 2026, "hour": 10, "minute": 0 },
"currency": "USD",
"maxResults": 30
}

With filters:

{
"scrapeType": "CAR_SEARCH",
"pickupSearchTerm": "JFK Airport, New York",
"pickupDatetime": { "day": 15, "month": 8, "year": 2026, "hour": 10, "minute": 0 },
"dropoffSearchTerm": "JFK Airport, New York",
"dropoffDatetime": { "day": 20, "month": 8, "year": 2026, "hour": 10, "minute": 0 },
"currency": "USD",
"carFilters": {
"sort": "TOTAL_PRICE_LOW_TO_HIGH",
"car_types": ["midsize", "compact"],
"price_range": "75-100",
"specs": ["AUTO_TRANSMISSION"]
}
}

Output (per car offer):

{
"scrape_type": "CAR_SEARCH",
"vehicle_category": "SUV",
"vehicle_description": "Jeep Grand Cherokee or similar",
"vendor": "Hertz",
"price_daily": "$275.99",
"price_total": "$333.60",
"car_offer_token": "AQh3XDzUb4Y...",
"features": ["Automatic", "5 seats", "Air conditioning", "Unlimited mileage"],
"pickup_location": "JFK Airport Terminal 4",
"dropoff_location": "JFK Airport Terminal 4",
"...full CarOfferCard fields..."
}

Final metadata item:

{
"scrape_type": "CAR_SEARCH",
"is_metadata": true,
"pushed": 30,
"available_filters": {
"car_types": ["economy", "compact", "midsize", "fullsize", "suv"],
"vendors": [{ "code": "ZE", "name": "Hertz" }, { "code": "ZI", "name": "Avis" }],
"price_brackets": ["0-75", "75-100", "100-200", "200-300"],
"capacity_options": ["TWO_TO_FIVE", "SIX_OR_MORE"],
"sort_options": ["RECOMMENDED", "TOTAL_PRICE_LOW_TO_HIGH", "DISTANCE"]
}
}

5. CAR_DETAILS

Get full details for a specific car offer. Use the car_offer_token from a CAR_SEARCH result (found at detailsContext.carOfferToken in each car item).

Input:

{
"scrapeType": "CAR_DETAILS",
"carOfferToken": "AQh3XDzUb4Yaw4cMGaeYnjj7avjCnI7in9MF41jMKsvokMLK...",
"currency": "USD"
}

Output (single item):

{
"scrape_type": "CAR_DETAILS",
"car_offer_token": "AQh3...",
"vehicle": {
"category": "SUV",
"description": "Jeep Grand Cherokee or similar",
"features": ["Automatic transmission", "Air conditioning", "GPS"],
"image_url": "https://..."
},
"price_breakdown": {
"daily_rate": "$275.99",
"total": "$333.60",
"components": [
{ "title": "Base Rate", "items": [{ "text": "5 days x $55.00", "value": "$275.00" }] },
{ "title": "Taxes & Fees", "items": [{ "text": "Airport surcharge", "value": "$58.60" }] }
]
},
"pickup": {
"name": "Hertz — JFK Airport",
"address": "Terminal 4, JFK International Airport",
"hours": "Mon-Sun 06:00-23:00"
},
"dropoff": {
"name": "Hertz — JFK Airport",
"address": "Terminal 4, JFK International Airport",
"hours": "Mon-Sun 06:00-23:00"
},
"cancellation_policy": "Free cancellation before pickup",
"inclusions": ["Unlimited mileage", "CDW insurance"],
"vendor_review": { "rating": "8.2", "superlative": "Very Good", "count": 3847 }
}

Currency

CurrencyExpedia Domain
USD (default)www.expedia.com
EUReuro.expedia.net
GBPwww.expedia.co.uk

Output Views in Apify Console

The dataset schema defines 5 views — one per scrape type. Switch between views in the Output tab:

  • Hotel Search Results — property_id, name, stars, price, rating, neighborhood, image
  • Hotel Details — property_id, name, stars, address, amenities, rooms_and_rates
  • Hotel Reviews — reviewer, rating, title, text, traveler_type, date
  • Car Search Results — category, description, vendor, daily rate, total, token
  • Car Offer Details — token, vehicle, price_breakdown, pickup, dropoff, cancellation

Notes

  • Car search results include car_offer_token in detailsContext.carOfferToken. Use this with CAR_DETAILS for full details.
  • For hotel search, the final dataset item always has is_metadata: true and contains available_filters.
  • Car availability is geo-restricted; the actor automatically retries with euro.expedia.net if the primary domain returns no results.
  • Increase maxResults for larger datasets (each additional result costs compute time).