Dataspryva

Expedia Hotel Rate & Guest Rating Finder

Searches Expedia for a destination and travel dates and returns hotel names, nightly and total pricing, guest ratings, neighborhoods, and promotional badges.

Input schema

Input fields, types, required flags, descriptions, defaults, and prefills come from the published definition. Prefill examples are distinct from defaults.

FieldTypeRequiredDescription
modestringrequiredSearch by destination, or scrape Expedia hotel and search URLs/IDs.
destinationstringoptionalCity, area, landmark, airport, or hotel name to search (mode=search). Examples: New York, London, Tokyo, Times Square.
destinationIdstringoptionalOptional Expedia region ID to skip destination lookup (mode=search). Use only if you already know the region ID.
Show all input fields
FieldTypeRequiredDescription
modestringrequiredSearch by destination, or scrape Expedia hotel and search URLs/IDs.
destinationstringoptionalCity, area, landmark, airport, or hotel name to search (mode=search). Examples: New York, London, Tokyo, Times Square.
destinationIdstringoptionalOptional Expedia region ID to skip destination lookup (mode=search). Use only if you already know the region ID.
startUrlsarrayoptionalExpedia hotel pages, Hotel-Search links, share links, or bare hotel IDs such as h17117062 or 17117062 (mode=urls).
checkInstringoptionalYYYY-MM-DD. Leave empty to use 30 days from today.
checkOutstringoptionalYYYY-MM-DD. Leave empty to use 2 nights after check-in.
adultsintegeroptionalAdult guests per room (1-14).
childrenAgesarrayoptionalOne age (0-17) per child. Leave empty for no children.
roomsintegeroptionalNumber of rooms (1-8).
maxItemsintegeroptionalHard cap on hotel records (1-1000). Expedia returns up to 500 per request; larger caps use nextSubSet pagination.
sortBystringoptionalOrder of the hotel search results.
starRatingsarrayoptionalOnly these star classes (1-5). Leave empty for all stars.
minGuestRatingstringoptionalMinimum guest review score on Expedia's 10-point scale.
minPricenumberoptionalMinimum nightly price in USD. Hotels without a nightly price are skipped when a price limit is set.
maxPricenumberoptionalMaximum nightly price in USD. Hotels without a nightly price are skipped when a price limit is set.
propertyTypestringoptionalRestrict results to a type of place.
amenitiesarrayoptionalOnly hotels with all selected amenities. Leave empty for no amenity filter.
freeCancellationOnlybooleanoptionalOnly return properties with a fully refundable rate.
availableOnlybooleanoptionalOnly return properties with rooms available for the selected dates.
propertyNamestringoptionalFilter by property name, for example Marriott or Hilton.
includePropertyDetailsbooleanoptionalAdd exact star class, address, coordinates, full amenities, policies, and gallery images. This fetches one property page per hotel (mode=search).
includeRoomRatesbooleanoptionalAdd room types, live nightly rates, payment policy, and cancellation policy for each hotel. This makes one extra request per hotel.

Download the published input schema

View complete JSON
{
  "description": "Search Expedia hotels by destination or by hotel/search URL and return live rates, exact star class, guest ratings, review counts, address, amenities, and optional room rates with cancellation policies.",
  "properties": {
    "adults": {
      "default": 2,
      "description": "Adult guests per room (1-14).",
      "maximum": 14,
      "minimum": 1,
      "prefill": 2,
      "title": "Adults per room",
      "type": "integer"
    },
    "amenities": {
      "default": [],
      "description": "Only hotels with all selected amenities. Leave empty for no amenity filter.",
      "editor": "select",
      "items": {
        "enum": [
          "wifi",
          "pool",
          "gym",
          "parking",
          "breakfast",
          "petFriendly",
          "spa",
          "restaurant",
          "airConditioning",
          "kitchen",
          "hotTub",
          "airportShuttle",
          "washerDryer",
          "balcony",
          "evCharging"
        ],
        "enumTitles": [
          "WiFi",
          "Pool",
          "Gym",
          "Parking",
          "Breakfast",
          "Pet friendly",
          "Spa",
          "Restaurant",
          "Air conditioning",
          "Kitchen",
          "Hot tub",
          "Airport shuttle",
          "Washer and dryer",
          "Balcony",
          "EV charging"
        ],
        "type": "string"
      },
      "prefill": [],
      "title": "Amenities",
      "type": "array"
    },
    "availableOnly": {
      "default": false,
      "description": "Only return properties with rooms available for the selected dates.",
      "prefill": false,
      "title": "Available only",
      "type": "boolean"
    },
    "checkIn": {
      "default": "",
      "description": "YYYY-MM-DD. Leave empty to use 30 days from today.",
      "editor": "textfield",
      "prefill": "",
      "title": "Check-in date",
      "type": "string"
    },
    "checkOut": {
      "default": "",
      "description": "YYYY-MM-DD. Leave empty to use 2 nights after check-in.",
      "editor": "textfield",
      "prefill": "",
      "title": "Check-out date",
      "type": "string"
    },
    "childrenAges": {
      "default": [],
      "description": "One age (0-17) per child. Leave empty for no children.",
      "editor": "stringList",
      "prefill": [],
      "title": "Children ages",
      "type": "array"
    },
    "destination": {
      "description": "City, area, landmark, airport, or hotel name to search (mode=search). Examples: New York, London, Tokyo, Times Square.",
      "editor": "textfield",
      "prefill": "New York",
      "title": "Destination",
      "type": "string"
    },
    "destinationId": {
      "description": "Optional Expedia region ID to skip destination lookup (mode=search). Use only if you already know the region ID.",
      "editor": "textfield",
      "title": "Destination ID",
      "type": "string"
    },
    "freeCancellationOnly": {
      "default": false,
      "description": "Only return properties with a fully refundable rate.",
      "prefill": false,
      "title": "Free cancellation only",
      "type": "boolean"
    },
    "includePropertyDetails": {
      "default": true,
      "description": "Add exact star class, address, coordinates, full amenities, policies, and gallery images. This fetches one property page per hotel (mode=search).",
      "prefill": false,
      "sectionCaption": "Enrichment",
      "title": "Include property details",
      "type": "boolean"
    },
    "includeRoomRates": {
      "default": false,
      "description": "Add room types, live nightly rates, payment policy, and cancellation policy for each hotel. This makes one extra request per hotel.",
      "prefill": false,
      "title": "Include room rates",
      "type": "boolean"
    },
    "maxItems": {
      "default": 20,
      "description": "Hard cap on hotel records (1-1000). Expedia returns up to 500 per request; larger caps use nextSubSet pagination.",
      "maximum": 1000,
      "minimum": 1,
      "prefill": 1,
      "sectionCaption": "Limits",
      "title": "Maximum hotels",
      "type": "integer"
    },
    "maxPrice": {
      "description": "Maximum nightly price in USD. Hotels without a nightly price are skipped when a price limit is set.",
      "maximum": 100000,
      "minimum": 0,
      "title": "Maximum nightly price",
      "type": "number"
    },
    "minGuestRating": {
      "default": "any",
      "description": "Minimum guest review score on Expedia's 10-point scale.",
      "editor": "select",
      "enum": [
        "any",
        "7+",
        "8+",
        "9+"
      ],
      "enumTitles": [
        "Any rating",
        "7+ (Good)",
        "8+ (Very good)",
        "9+ (Wonderful)"
      ],
      "prefill": "any",
      "title": "Minimum guest rating",
      "type": "string"
    },
    "minPrice": {
      "description": "Minimum nightly price in USD. Hotels without a nightly price are skipped when a price limit is set.",
      "maximum": 100000,
      "minimum": 0,
      "title": "Minimum nightly price",
      "type": "number"
    },
    "mode": {
      "default": "search",
      "description": "Search by destination, or scrape Expedia hotel and search URLs/IDs.",
      "editor": "select",
      "enum": [
        "search",
        "urls"
      ],
      "enumTitles": [
        "Search by destination",
        "Scrape URLs or hotel IDs"
      ],
      "prefill": "search",
      "sectionCaption": "Search",
      "title": "Mode",
      "type": "string"
    },
    "propertyName": {
      "description": "Filter by property name, for example Marriott or Hilton.",
      "editor": "textfield",
      "title": "Property name",
      "type": "string"
    },
    "propertyType": {
      "default": "any",
      "description": "Restrict results to a type of place.",
      "editor": "select",
      "enum": [
        "any",
        "hotels",
        "vacationRentals",
        "hotel",
        "motel",
        "resort",
        "apartment",
        "hostel",
        "bedAndBreakfast",
        "guesthouse",
        "villa",
        "vacationHome",
        "lodge",
        "cottage",
        "cabin"
      ],
      "enumTitles": [
        "Any type",
        "Hotels",
        "Vacation rentals",
        "Hotel",
        "Motel",
        "Resort",
        "Apartment or condo",
        "Hostel",
        "Bed & breakfast",
        "Guesthouse",
        "Villa",
        "Vacation home",
        "Lodge",
        "Cottage",
        "Cabin"
      ],
      "prefill": "any",
      "title": "Property type",
      "type": "string"
    },
    "rooms": {
      "default": 1,
      "description": "Number of rooms (1-8).",
      "maximum": 8,
      "minimum": 1,
      "prefill": 1,
      "title": "Rooms",
      "type": "integer"
    },
    "sortBy": {
      "default": "recommended",
      "description": "Order of the hotel search results.",
      "editor": "select",
      "enum": [
        "recommended",
        "priceLowToHigh",
        "priceHighToLow",
        "distance",
        "guestRating",
        "starRating"
      ],
      "enumTitles": [
        "Recommended",
        "Price: low to high",
        "Price: high to low",
        "Distance from downtown",
        "Guest rating",
        "Star rating"
      ],
      "prefill": "recommended",
      "sectionCaption": "Filters",
      "title": "Sort by",
      "type": "string"
    },
    "starRatings": {
      "default": [],
      "description": "Only these star classes (1-5). Leave empty for all stars.",
      "editor": "select",
      "items": {
        "enum": [
          "1",
          "2",
          "3",
          "4",
          "5"
        ],
        "enumTitles": [
          "1 star",
          "2 stars",
          "3 stars",
          "4 stars",
          "5 stars"
        ],
        "type": "string"
      },
      "prefill": [],
      "title": "Star ratings",
      "type": "array"
    },
    "startUrls": {
      "default": [],
      "description": "Expedia hotel pages, Hotel-Search links, share links, or bare hotel IDs such as h17117062 or 17117062 (mode=urls).",
      "editor": "stringList",
      "items": {
        "type": "string"
      },
      "prefill": [],
      "title": "Hotel or search URLs",
      "type": "array"
    }
  },
  "required": [
    "mode"
  ],
  "schemaVersion": 1,
  "title": "Expedia Hotel Rate & Guest Rating Finder Input",
  "type": "object"
}

Output schema

Published result links and storage locations. This schema is not an exhaustive contract for every field in a dataset record.

FieldTypeRequiredDescription
hotelsstringoptionalDataset containing all scraped Expedia hotels.

Download the published output schema

View complete JSON
{
  "actorOutputSchemaVersion": 1,
  "description": "Expedia hotel records with live nightly and total rates, exact star class, guest rating and review count, address and coordinates, amenities, images, and optional room rates and cancellation policies.",
  "properties": {
    "hotels": {
      "description": "Dataset containing all scraped Expedia hotels.",
      "template": "{{links.apiDefaultDatasetUrl}}/items",
      "title": "Expedia hotels",
      "type": "string"
    }
  },
  "title": "Expedia Hotel Rate & Guest Rating Finder Output"
}

Dataset schema

Published dataset views and any declared field definitions. A view can select only a subset of the returned record fields.

Download the published dataset schema

View complete JSON
{
  "actorSpecification": 1,
  "fields": {
    "properties": {
      "address": {
        "description": "Property address",
        "properties": {
          "city": {
            "description": "City",
            "type": "string"
          },
          "country": {
            "description": "Country",
            "type": "string"
          },
          "full": {
            "description": "Full address as shown by Expedia",
            "type": "string"
          },
          "postalCode": {
            "description": "Postal code",
            "type": "string"
          },
          "region": {
            "description": "State, province, or region",
            "type": "string"
          },
          "street": {
            "description": "Street address",
            "type": "string"
          }
        },
        "type": "object"
      },
      "adults": {
        "description": "Adults per room used",
        "type": "integer"
      },
      "amenities": {
        "description": "Amenity highlights from the property page",
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "badges": {
        "description": "Badges such as VIP Access or member pricing",
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "cancellationPolicy": {
        "description": "Cancellation policy text for the cheapest or first rate",
        "type": "string"
      },
      "checkIn": {
        "description": "Check-in date used",
        "type": "string"
      },
      "checkInTime": {
        "description": "Check-in time from the property policies",
        "type": "string"
      },
      "checkOut": {
        "description": "Check-out date used",
        "type": "string"
      },
      "checkOutTime": {
        "description": "Check-out time from the property policies",
        "type": "string"
      },
      "childrenAges": {
        "description": "Children ages used",
        "items": {
          "type": "integer"
        },
        "type": "array"
      },
      "description": {
        "description": "Short card tagline when Expedia shows one",
        "type": "string"
      },
      "destination": {
        "description": "Destination text used for the search, or the property destination",
        "type": "string"
      },
      "faqs": {
        "description": "Frequently asked questions about the property",
        "items": {
          "properties": {
            "answer": {
              "description": "Answer",
              "type": "string"
            },
            "question": {
              "description": "Question",
              "type": "string"
            }
          },
          "type": "object"
        },
        "type": "array"
      },
      "freeCancellation": {
        "description": "Whether a free-cancellation rate is available",
        "type": "boolean"
      },
      "guestRating": {
        "description": "Guest rating on Expedia's 10-point scale",
        "type": "number"
      },
      "guestReviewCount": {
        "description": "Number of guest reviews behind the rating",
        "type": "integer"
      },
      "hotelId": {
        "description": "Expedia property identifier",
        "type": "string"
      },
      "imageUrl": {
        "description": "Main hotel photo URL",
        "type": "string"
      },
      "images": {
        "description": "Hotel photo URLs",
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "importantInfo": {
        "description": "Fees, deposits, and important guest information",
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "isSponsored": {
        "description": "Whether the card is a sponsored result",
        "type": "boolean"
      },
      "latitude": {
        "description": "Property latitude",
        "type": "number"
      },
      "longitude": {
        "description": "Property longitude",
        "type": "number"
      },
      "name": {
        "description": "Hotel name",
        "type": "string"
      },
      "neighborhood": {
        "description": "Neighborhood or area shown on the hotel card",
        "type": "string"
      },
      "policies": {
        "description": "Property policy text",
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "price": {
        "description": "Legacy nightly price display string (e.g. $751 nightly)",
        "type": "string"
      },
      "priceCurrency": {
        "description": "Currency code for all numeric prices",
        "type": "string"
      },
      "pricePerNight": {
        "description": "Nightly price in priceCurrency",
        "type": "number"
      },
      "priceStrikethrough": {
        "description": "Original or crossed-out price when Expedia shows one",
        "type": "number"
      },
      "priceTotal": {
        "description": "Total stay price including taxes and fees in priceCurrency",
        "type": "number"
      },
      "propertyDescription": {
        "description": "Property overview or editorial description",
        "type": "string"
      },
      "propertyType": {
        "description": "Property type when available",
        "type": "string"
      },
      "rating": {
        "description": "Legacy guest rating display string (0-10)",
        "type": "string"
      },
      "ratingText": {
        "description": "Guest rating label such as Excellent or Wonderful",
        "type": "string"
      },
      "regionId": {
        "description": "Expedia region identifier",
        "type": "string"
      },
      "resolvedDestination": {
        "description": "Destination name resolved by Expedia (mode=search)",
        "type": "string"
      },
      "reviewCount": {
        "description": "Legacy review count display string",
        "type": "string"
      },
      "roomRates": {
        "description": "Room types and rate plans with prices and policies",
        "items": {
          "properties": {
            "available": {
              "description": "Whether the rate is available",
              "type": "boolean"
            },
            "cancellationPolicy": {
              "description": "Cancellation policy for the rate",
              "type": "string"
            },
            "paymentPolicy": {
              "description": "Payment timing such as Pay now or Reserve now, pay later",
              "type": "string"
            },
            "priceCurrency": {
              "description": "Currency code",
              "type": "string"
            },
            "pricePerNight": {
              "description": "Nightly price",
              "type": "number"
            },
            "priceTotal": {
              "description": "Total stay price",
              "type": "number"
            },
            "ratePlanId": {
              "description": "Expedia rate plan identifier",
              "type": "string"
            },
            "refundable": {
              "description": "Whether the rate is refundable",
              "type": "boolean"
            },
            "roomName": {
              "description": "Room or unit name",
              "type": "string"
            },
            "roomsLeft": {
              "description": "Scarcity count when Expedia shows one",
              "type": "integer"
            }
          },
          "type": "object"
        },
        "type": "array"
      },
      "rooms": {
        "description": "Number of rooms used",
        "type": "integer"
      },
      "scrapedAt": {
        "description": "ISO timestamp when the record was collected",
        "type": "string"
      },
      "searchPosition": {
        "description": "Position in Expedia's result list",
        "type": "integer"
      },
      "searchUrl": {
        "description": "Search or property URL used",
        "type": "string"
      },
      "starRating": {
        "description": "Exact star class (1-5, half-stars possible)",
        "type": "number"
      },
      "topAmenities": {
        "description": "Amenities highlighted on the search card",
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "totalPrice": {
        "description": "Legacy total stay price display string (e.g. $1,833 total)",
        "type": "string"
      },
      "type": {
        "description": "Record type, always hotel_expedia",
        "type": "string"
      },
      "url": {
        "description": "Expedia hotel page URL",
        "type": "string"
      }
    },
    "type": "object"
  },
  "title": "Expedia Hotels",
  "views": {
    "detailed": {
      "display": {
        "component": "table",
        "properties": {}
      },
      "title": "Detailed",
      "transformation": {
        "fields": [
          "type",
          "hotelId",
          "name",
          "url",
          "starRating",
          "guestRating",
          "ratingText",
          "guestReviewCount",
          "price",
          "totalPrice",
          "pricePerNight",
          "priceTotal",
          "priceCurrency",
          "priceStrikethrough",
          "freeCancellation",
          "cancellationPolicy",
          "roomRates",
          "neighborhood",
          "address",
          "latitude",
          "longitude",
          "amenities",
          "topAmenities",
          "imageUrl",
          "images",
          "badges",
          "checkInTime",
          "checkOutTime",
          "propertyDescription",
          "propertyType",
          "policies",
          "importantInfo",
          "faqs",
          "description",
          "destination",
          "resolvedDestination",
          "regionId",
          "checkIn",
          "checkOut",
          "adults",
          "rooms",
          "childrenAges",
          "searchUrl",
          "searchPosition",
          "isSponsored",
          "scrapedAt"
        ]
      }
    },
    "overview": {
      "display": {
        "component": "table",
        "properties": {
          "guestRating": {
            "format": "number",
            "label": "Guest rating"
          },
          "guestReviewCount": {
            "format": "number",
            "label": "Reviews"
          },
          "name": {
            "format": "text",
            "label": "Hotel"
          },
          "neighborhood": {
            "format": "text",
            "label": "Area"
          },
          "priceCurrency": {
            "format": "text",
            "label": "Currency"
          },
          "pricePerNight": {
            "format": "number",
            "label": "Per night"
          },
          "priceTotal": {
            "format": "number",
            "label": "Total"
          },
          "starRating": {
            "format": "number",
            "label": "Stars"
          },
          "url": {
            "format": "link",
            "label": "URL"
          }
        }
      },
      "title": "Overview",
      "transformation": {
        "fields": [
          "name",
          "starRating",
          "guestRating",
          "guestReviewCount",
          "pricePerNight",
          "priceTotal",
          "priceCurrency",
          "neighborhood",
          "url"
        ]
      }
    }
  }
}

Key-value schema

Published key-value store definitions, when provided by this build.

This definition is not present in the default published build. See the published README for available documentation.

Published README

Read the full published documentation

Expedia Hotel Rate & Guest Rating Finder

Search Expedia hotels by destination or paste hotel and search links, and get live nightly and total rates, exact star class, guest ratings, review counts, address and coordinates, amenities, photos, and optional room-by-room rates with cancellation policies. Results come back as clean JSON or CSV — no API key, login, or proxy setup required.

What this actor does

  • Two modes: search for a destination, or urls for Expedia hotel pages, Hotel-Search links, share links, and bare hotel IDs.
  • Live rates: nightly price, total stay price with taxes and fees, original strike-through price, and currency.
  • Quality signals: guest rating and review count from the search card, plus exact star class (including half-stars) from the property page.
  • Property detail: address, latitude/longitude, amenity highlights, policies, check-in/check-out times, description, photo gallery, and FAQs.
  • Optional room data: room types, individual rate plans, payment timing, refundability, and cancellation policy text.
  • Filters: sort order, star class, guest rating, nightly price, property type, amenities, free cancellation, availability, and property name.
  • Every field is omitted when Expedia does not provide it — the dataset never contains null, empty strings, or sentinel rows.

Output per hotel

  • type — always hotel_expedia
  • hotelId — Expedia property identifier
  • name — hotel name
  • url — Expedia hotel page
  • price — legacy nightly price text (e.g. $751 nightly)
  • totalPrice — legacy total price text (e.g. $1,833 total)
  • pricePerNight, priceTotal, priceStrikethrough — numeric prices
  • priceCurrency — currency code (USD on expedia.com)
  • rating — legacy guest rating text (0–10)
  • guestRating — numeric guest rating
  • ratingText — label such as Excellent or Wonderful
  • reviewCount — legacy review count text
  • guestReviewCount — numeric review count
  • starRating — exact star class, half-stars possible
  • neighborhood — area shown on the hotel card
  • address — full, street, city, region, postalCode, country
  • latitude, longitude — property coordinates
  • amenities — amenity highlights from the property page
  • topAmenities — amenities highlighted on the search card
  • imageUrl, images — main photo and gallery
  • badges — labels such as VIP Access
  • freeCancellation — whether a refundable rate exists
  • cancellationPolicy — policy text for the cheapest or first rate
  • roomRates — room types and rate plans, each with roomName, ratePlanId, pricePerNight, priceTotal, priceCurrency, paymentPolicy, cancellationPolicy, refundable, available, roomsLeft
  • checkInTime, checkOutTime — property policy times
  • propertyDescription — overview or editorial description
  • propertyType — property type when shown
  • policies, importantInfo — policy and fee text
  • faqs — property questions and answers
  • description — short card tagline when Expedia shows one
  • destination, resolvedDestination, regionId — search destination and Expedia resolution
  • checkIn, checkOut, adults, rooms, childrenAges — search parameters used
  • searchUrl, searchPosition, isSponsored, scrapedAt

Input

Field Type Default Description
mode string search search for a destination, or urls for links and IDs.
destination string – City, area, landmark, airport, or hotel name (mode=search). Prefilled with New York for the daily example.
destinationId string – Optional Expedia region ID to skip destination lookup (mode=search).
startUrls array [] Hotel pages, Hotel-Search links, share links, or bare IDs such as h17117062 (mode=urls).
checkIn string – YYYY-MM-DD; empty uses 30 days from today.
checkOut string – YYYY-MM-DD; empty uses 2 nights after check-in.
adults integer 2 Adults per room, 1–14.
childrenAges array [] One age (0–17) per child; numbers or quoted strings are accepted.
rooms integer 1 Number of rooms, 1–8.
maxItems integer 20 Hotel record cap, 1–1000. Expedia returns up to 500 per request; larger caps use pagination.
sortBy string recommended recommended, priceLowToHigh, priceHighToLow, distance, guestRating, or starRating.
starRatings array [] Star classes 1–5; empty includes all.
minGuestRating string any any, 7+, 8+, or 9+.
minPrice number – Minimum nightly price in USD.
maxPrice number – Maximum nightly price in USD.
propertyType string any any, hotels, vacationRentals, hotel, motel, resort, apartment, hostel, bedAndBreakfast, guesthouse, villa, vacationHome, lodge, cottage, or cabin.
amenities array [] Only hotels with all selected amenities.
freeCancellationOnly boolean false Only fully refundable properties.
availableOnly boolean false Only properties with availability for the dates.
propertyName string – Filter by hotel name, for example Marriott.
includePropertyDetails boolean true Add exact stars, address, coordinates, amenity highlights, policies, and gallery.
includeRoomRates boolean false Add room types, rate plans, payment, and cancellation policies.

Example: weekend rates in New York

{
  "mode": "search",
  "destination": "New York",
  "checkIn": "2026-11-10",
  "checkOut": "2026-11-12",
  "adults": 2,
  "maxItems": 20,
  "starRatings": ["4", "5"],
  "sortBy": "priceLowToHigh",
  "includePropertyDetails": true
}

Example: family stay with two rooms

{
  "mode": "search",
  "destination": "Orlando, Florida",
  "checkIn": "2026-12-20",
  "checkOut": "2026-12-27",
  "adults": 2,
  "childrenAges": ["5", "9"],
  "rooms": 2,
  "maxItems": 30,
  "freeCancellationOnly": true,
  "includeRoomRates": true
}

Example: exact hotel with room rates

{
  "mode": "urls",
  "startUrls": [
    "https://www.expedia.com/New-York-Hotels-PUBLIC.h17117062.Hotel-Information",
    "h19681371"
  ],
  "checkIn": "2026-11-10",
  "checkOut": "2026-11-12",
  "includeRoomRates": true
}
{
  "mode": "urls",
  "startUrls": [
    "https://www.expedia.com/Hotel-Search?destination=London&startDate=2026-11-20&endDate=2026-11-22&adults=2&rooms=1&star=40"
  ],
  "maxItems": 50,
  "includePropertyDetails": true
}

Use cases

  • Rate shopping — compare nightly and total prices for the same dates and occupancy.
  • Revenue and pricing analysis — track star class, guest ratings, and rate spreads across a market.
  • Travel planning — shortlist hotels by refundability, amenities, and location.
  • Market research — snapshot a city's hotel inventory, ratings, and price distribution.
  • Property monitoring — rerun the same hotel or search link to watch rates and policies over time.
  • Data enrichment — join hotel IDs, coordinates, ratings, and addresses to an existing travel dataset.

FAQ

Does this actor need an API key, login, or proxy? No. It reads public Expedia hotel pages and selects a working connection automatically. Just fill in the input and run it.

How many hotels can one run return? Expedia returns up to 500 hotels per search request. The actor follows the result cursor to fetch deeper pages, up to the 1,000-hotel maxItems cap. A destination that genuinely has fewer properties returns fewer rows.

Why do some records have no star rating or address? Those fields come from the individual property page. They are present when includePropertyDetails is on and Expedia returns the page. If a property page is temporarily unavailable, the record still carries the search-card fields and the missing values are omitted rather than fabricated.

Why do I need to enable room rates separately? Room types and rate plans require one extra Expedia read per hotel. Leave includeRoomRates off for a fast, cheap search; turn it on when you need payment timing and cancellation policy text.

Are prices per night or for the whole stay? Both are returned. pricePerNight is the nightly amount; priceTotal is the stay total including taxes and fees. The legacy price and totalPrice strings mirror what Expedia displayed.

What does the guest rating scale mean? guestRating is Expedia's own score out of 10. ratingText is the label Expedia shows, such as Wonderful or Excellent.

Can I get review text with this actor? No. This actor returns the guest rating and review count shown on the property, not individual review text. That keeps runs fast and focused on rates and ratings.

Are all Expedia regional sites supported? No. This actor reads expedia.com and returns USD prices. Regional Expedia domains and other currencies are not part of this version.

What happens if Expedia blocks the run? The actor retries with fresh sessions and fails with a clear status instead of returning an empty dataset or placeholder rows.

Is this affiliated with Expedia? No. This is an independent third-party actor that reads publicly visible Expedia hotel data.

Limitations

  • Review text, regional Expedia sites/currencies, and hotel brand colors are not part of this actor.
  • App share links are accepted when they resolve to a hotel, but public app links often expire; hotel pages, search links, and IDs are the reliable inputs.
  • maxItems is capped at 1,000. Expedia returns 500 per request and may show fewer real hotels than its matched count because of ads and placeholders.

Python quickstart

Use a schema-derived input and the Python standard library to start a run. An Apify account and token are required for execution.

Open the step-by-step Python guide →

Source build omOFbmXA6vxSUIWfn. Documentation is regenerated from the default published build; private drafts are not included.