# Expedia Scraper - Hotels, Flights, Cars & More (`lentic_clockss/expedia-scraper`) Actor

Scrape Expedia hotels, flights, cars, packages, activities & cruises across global domains. Get prices, ratings & listing URLs by destination and dates. Export JSON/CSV. Pay per result — no Expedia login.

- **URL**: https://apify.com/lentic\_clockss/expedia-scraper.md
- **Developed by:** [kane liu](https://apify.com/lentic_clockss) (community)
- **Categories:** Travel, Lead generation
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Expedia Scraper - Hotels, Flights, Cars & More

### What does Expedia Scraper do?

[Expedia Scraper](https://apify.com/lentic_clockss/expedia-scraper) extracts structured travel data from [Expedia](https://www.expedia.com) search results in one Actor. Unlike hotel-only scrapers, it covers **hotels, flights, cars, vacation packages, activities, and cruises** across **20+ regional Expedia domains**.

Use it for travel price comparison, rate monitoring, market research, OTA competitive intelligence, and lead generation — without an Expedia login. Export results as **JSON or CSV** from the Apify dataset.

### What can Expedia Scraper extract?

| Field | Description |
|---|---|
| `service` | Line of business: hotels, flights, cars, packages, activities, cruises |
| `name` | Hotel, offer, or listing title |
| `price` / `priceDisplay` / `currency` | Parsed and display pricing |
| `rating` / `reviewCount` | Guest rating signals when present |
| `url` | Listing or SERP deep link |
| `listingId` | Stable id (propertyId for hotels) |
| `domain` | Regional Expedia host used for the search |
| `destination` / `origin` | Search geography |
| `sponsored` | Sponsored ad flag |
| `scrapedAt` | Collection timestamp |

#### Hotels
Search stays by destination (and optional `regionId`), check-in / check-out, adults, rooms, sort, and currency. Hotel SERP pagination uses Expedia `startingIndex`.

#### Flights
One-way or roundtrip offers with origin, destination, and departure / return dates.

#### Cars
Car rental offers by pickup destination and dates.

#### Packages, activities & cruises
Vacation packages, things-to-do / activities, and cruise search cards from the matching Expedia SERP families.

### Why scrape Expedia travel data?

- **Price comparison** — track hotel and flight offers for OTAs, agencies, and metasearch
- **Rate monitoring** — schedule runs to watch nightly rates for target destinations
- **Market research** — compare availability and pricing across Expedia country sites
- **Lead generation** — collect structured stay and activity inventory for travel products
- **Competitive intelligence** — inspect sponsored placement and LOB coverage patterns

### Supported Expedia domains (multi-country)

`www.expedia.com`, `.co.uk`, `.ca`, `.com.au`, `.de`, `.fr`, `.it`, `.es`, `.nl`, `.ie`, `.co.jp`, `.com.sg`, `.com.hk`, `.com.tw`, `.com.my`, `.co.th`, `.co.id`, `.co.in`, `.com.mx`, `.com.br`, `.com.ar`

Set `domain`, `currency`, and `locale` to match the market you care about. Residential proxy country defaults from the selected domain.

### More Actors like this

Need another OTA or a different vertical? Use a **dedicated Actor** below for structured fields. Stay on **Expedia Scraper** for Expedia hotels, flights, cars, packages, activities, and cruises across regional domains.

#### Similar travel & stays scrapers
- [Booking.com Hotels Scraper](https://apify.com/lentic_clockss/booking-hotels-scraper)
- [Airbnb Listings Scraper](https://apify.com/lentic_clockss/airbnb-listings-scraper)
- [Booking.com & Airbnb Scraper](https://apify.com/lentic_clockss/booking-airbnb-scraper)
- [Agoda Scraper](https://apify.com/lentic_clockss/agoda-scraper)
- [TripAdvisor Scraper](https://apify.com/lentic_clockss/tripadvisor-scraper)
- [Trip.com Scraper](https://apify.com/lentic_clockss/trip-com-scraper)
- [Traveloka Scraper](https://apify.com/lentic_clockss/traveloka-scraper)
- [Despegar Scraper](https://apify.com/lentic_clockss/despegar-scraper)
- [Travelstart Flights Scraper](https://apify.com/lentic_clockss/travelstart-scraper)

#### Prefer another specialized scraper?
If your target has a specialized Actor below, use that first — usually cheaper and more structured than a generic scrape.

**Jobs & Freelance**
- [LinkedIn Jobs Scraper](https://apify.com/lentic_clockss/linkedin-jobs-scraper)
- [Indeed Jobs Scraper](https://apify.com/lentic_clockss/indeed-jobs-scraper)
- [Upwork Jobs Scraper](https://apify.com/lentic_clockss/upwork-jobs-scraper)
- [Glassdoor Scraper](https://apify.com/lentic_clockss/glassdoor-scraper)
- [Fiverr Gigs Scraper](https://apify.com/lentic_clockss/fiverr-programming-tech-gigs-scraper)
- [Bayt Jobs Scraper](https://apify.com/lentic_clockss/bayt-scraper)

**E-commerce**
- [Walmart Product Scraper](https://apify.com/lentic_clockss/walmart-scraper)
- [Amazon Search Scraper](https://apify.com/lentic_clockss/amazon-search-results-collector)
- [Shopee Search Scraper](https://apify.com/lentic_clockss/shopee-search-scraper)
- [Etsy Scraper](https://apify.com/lentic_clockss/etsy-scraper)
- [SHEIN Product Scraper](https://apify.com/lentic_clockss/shein-scraper)
- [Temu Product Scraper](https://apify.com/lentic_clockss/temu-scraper)
- [Target Product Scraper](https://apify.com/lentic_clockss/target-scraper)
- [Allegro Scraper](https://apify.com/lentic_clockss/allegro-scraper)

**Real Estate**
- [Zillow & Zumper Scraper](https://apify.com/lentic_clockss/us-real-estate-scraper)
- [Realtor.com Scraper](https://apify.com/lentic_clockss/realtor-com-scraper)
- [Apartments.com Rental Scraper](https://apify.com/lentic_clockss/apartments-com-rental-scraper)
- [Rightmove Scraper](https://apify.com/lentic_clockss/rightmove-property-scraper)
- [Idealista Scraper](https://apify.com/lentic_clockss/idealista-scraper)
- [realestate.com.au Scraper](https://apify.com/lentic_clockss/realestate-com-au-scraper)

**Social & Content**
- [YouTube Research Scraper](https://apify.com/lentic_clockss/youtube-research-scraper)
- [TikTok Scraper](https://apify.com/lentic_clockss/tiktok-scraper)
- [Reddit Scraper](https://apify.com/lentic_clockss/reddit-scraper)
- [YouTube Shorts Scraper](https://apify.com/lentic_clockss/youtube-shorts-scraper)

**Ads Intelligence**
- [Facebook Ad Library Scraper](https://apify.com/lentic_clockss/facebook-ad-library-scraper)
- [TikTok Ads Scraper](https://apify.com/lentic_clockss/tiktok-ads-top-ads-actor)

**Local & Maps**
- [Google Maps Scraper](https://apify.com/lentic_clockss/google-maps-scraper)

#### General tools
- [Stealth Web Scraper](https://apify.com/lentic_clockss/stealth-web-scraper)
- [Email Risk Validator](https://apify.com/lentic_clockss/email-risk-validator)
- [Phone Number Intelligence](https://apify.com/lentic_clockss/phone-number-intelligence)

→ See the full catalog in [Related Actors](#related-actors) below, or browse [apify.com/lentic_clockss](https://apify.com/lentic_clockss).

---

### How to scrape Expedia (step-by-step)

1. Open [Expedia Scraper](https://apify.com/lentic_clockss/expedia-scraper) on Apify and click **Try for free**.
2. Choose a `service` (start with `hotels`).
3. Set `destination` (and `origin` for flights). For hotels, add `checkin` / `checkout` for priced stay cards.
4. Optionally pick a regional `domain` (for example `www.expedia.co.uk`) and `maxResults`.
5. Click **Start** and download the dataset as JSON or CSV when the run finishes.

You can also run the Actor via the Apify API, Scheduler, or integrations (Make, Zapier, n8n, webhooks).

### How much does it cost to scrape Expedia?

This Actor uses **Pay per event** pricing. You are **not** charged separately for Apify platform usage on this Actor.

| Event | Price |
|---|---|
| Actor Start (`apify-actor-start`) | **$0.005** per start (memory-scaled) |
| result (`apify-default-dataset-item`) | **$3.00 / 1,000** results ($0.003 each) |

**Examples**

- 100 hotel results ≈ $0.005 + $0.30 = **~$0.31**
- 1,000 results ≈ $0.005 + $3.00 = **~$3.01**

Free Apify-plan users are capped at **10 runs** and **200 results** for this Actor.

### Input

| Parameter | Default | Description |
|---|---|---|
| `service` | `hotels` | hotels / flights / cars / packages / activities / cruises |
| `domain` | `www.expedia.com` | Regional Expedia host |
| `destination` | `New York` | City / region / arrival |
| `regionId` | — | Optional Expedia region id (improves hotel precision) |
| `origin` | — | Required for flights |
| `checkin` / `checkout` | — | Stay / car dates (`YYYY-MM-DD`) |
| `departureDate` / `returnDate` | — | Flight dates |
| `tripType` | `oneway` | `oneway` or `roundtrip` |
| `adults` / `children` / `rooms` | `2` / `0` / `1` | Party size |
| `maxResults` | `50` | Cap (free plan ≤ 200) |
| `currency` / `locale` | `USD` / `en_US` | Market prefs |
| `includeSponsored` | `false` | Keep sponsored cards |
| `proxyCountry` | from domain | Apify RESIDENTIAL country |

#### Hotels in Austin

```json
{
  "service": "hotels",
  "domain": "www.expedia.com",
  "destination": "Austin",
  "checkin": "2026-09-12",
  "checkout": "2026-09-14",
  "adults": 2,
  "rooms": 1,
  "maxResults": 5,
  "currency": "USD"
}
````

#### One-way flights NYC → LAX

```json
{
  "service": "flights",
  "origin": "NYC",
  "destination": "LAX",
  "departureDate": "2026-09-20",
  "tripType": "oneway",
  "adults": 1,
  "maxResults": 5
}
```

#### UK domain hotel search

```json
{
  "service": "hotels",
  "domain": "www.expedia.co.uk",
  "destination": "London",
  "checkin": "2026-10-01",
  "checkout": "2026-10-03",
  "currency": "GBP",
  "locale": "en_GB",
  "maxResults": 5
}
```

#### Cars in Los Angeles

```json
{
  "service": "cars",
  "destination": "Los Angeles",
  "checkin": "2026-09-20",
  "checkout": "2026-09-23",
  "maxResults": 5
}
```

### Output / sample dataset

```json
{
  "source": "expedia",
  "service": "hotels",
  "listingId": "12345678",
  "name": "Example Downtown Hotel",
  "domain": "www.expedia.com",
  "destination": "Austin",
  "url": "https://www.expedia.com/Austin-Hotels-Example.h12345678.Hotel-Information",
  "price": 189,
  "priceDisplay": "$189",
  "currency": "USD",
  "rating": 8.8,
  "reviewCount": 1240,
  "sponsored": false,
  "scrapedAt": "2026-07-27T01:00:00+00:00"
}
```

### Tips & advanced options

- Prefer **check-in / check-out** for hotels so Expedia returns priced stay cards instead of generic availability.
- Use `regionId` when you know Expedia’s destination id (example NYC `178293`) for tighter hotel SERPs.
- Start with small `maxResults` (3–10) while validating a market, then scale.
- Flights typically return a single SERP page; hotels paginate when more results are requested.
- Standby Live View exposes `/health`, `/input-example`, and `/openapi.json` for operational checks; scraping still runs via normal Actor runs.

### FAQ

#### Is it legal to scrape Expedia?

This Actor is **unofficial** and not affiliated with Expedia Group. Scraping public search results may be subject to Expedia’s terms, applicable laws, and your compliance policies. You are responsible for how you use the data. Prefer respectful volumes and legitimate research / business use cases.

#### Expedia API vs this scraper

Expedia does not offer a simple public search API for all of these lines of business. This Actor provides a practical Apify-native alternative: input destination and dates, receive structured dataset rows you can schedule and pipe into workflows.

#### Why not plain HTTP?

Expedia blocks bare HTTP with captcha / bot challenges. Acquisition runs through an authenticated Cloud Run worker using **Camoufox** (anti-detect Firefox) plus residential proxy.

#### Does one Actor cover flights and cars too?

Yes. Set `service` to `flights`, `cars`, `packages`, `activities`, or `cruises` — you do not need separate Actors for each Expedia product line.

### Support & related Actors

Questions or feature requests? Open an issue on the Actor page or contact the developer on Apify.

Related travel scrapers from the same publisher may include Booking, Airbnb, and other OTA Actors on the [lentic\_clockss](https://apify.com/lentic_clockss) profile.

***

### Related Actors

All **77** public Actors from \[[lentic\_clockss](https://apify.com/lentic_clockss)]. Click a name to open the Store detail page.

#### Jobs & Freelance

- [LinkedIn Jobs Scraper](https://apify.com/lentic_clockss/linkedin-jobs-scraper)
- [Bayt Jobs Scraper](https://apify.com/lentic_clockss/bayt-scraper)
- [Fiverr Gigs Scraper](https://apify.com/lentic_clockss/fiverr-programming-tech-gigs-scraper)
- [Freelancer.com Scraper](https://apify.com/lentic_clockss/freelancer-scraper)
- [Glassdoor Scraper](https://apify.com/lentic_clockss/glassdoor-scraper)
- [Himalayas Jobs Scraper](https://apify.com/lentic_clockss/himalayas-jobs-scraper)
- [Indeed Jobs Scraper](https://apify.com/lentic_clockss/indeed-jobs-scraper)
- [Jobicy Remote Jobs Scraper](https://apify.com/lentic_clockss/jobicy-remote-jobs-scraper)
- [RemoteOK Jobs Scraper](https://apify.com/lentic_clockss/remoteok-all-jobs-scraper)
- [SEEK Jobs Scraper](https://apify.com/lentic_clockss/seek-scraper)
- [Upwork Jobs Scraper](https://apify.com/lentic_clockss/upwork-jobs-scraper)

#### Real Estate

- [Zillow & Zumper Scraper](https://apify.com/lentic_clockss/us-real-estate-scraper)
- [Realtor.com Scraper](https://apify.com/lentic_clockss/realtor-com-scraper)
- [99.co Scraper](https://apify.com/lentic_clockss/ninetynine-co-sg-scraper)
- [Realtor.com Agents Scraper](https://apify.com/lentic_clockss/realtor-com-agents-scraper)
- [Apartments.com Rental Scraper](https://apify.com/lentic_clockss/apartments-com-rental-scraper)
- [Bayut Scraper](https://apify.com/lentic_clockss/bayut-uae-scraper)
- [Craigslist Housing Scraper](https://apify.com/lentic_clockss/craigslist-housing-scraper)
- [Daft.ie Scraper](https://apify.com/lentic_clockss/daft-property-scraper)
- [Dot Property Scraper](https://apify.com/lentic_clockss/dot-property-th-scraper)
- [FINN.no Scraper](https://apify.com/lentic_clockss/finn-scraper)
- [Funda Scraper](https://apify.com/lentic_clockss/funda-scraper)
- [Hepsiemlak Scraper](https://apify.com/lentic_clockss/hepsiemlak-scraper)
- [Idealista Scraper](https://apify.com/lentic_clockss/idealista-scraper)
- [Immobiliare.it Scraper](https://apify.com/lentic_clockss/immobiliare-property-scraper)
- [ImmoScout24 Scraper](https://apify.com/lentic_clockss/immobilienscout24-scraper)
- [Naver Land Scraper](https://apify.com/lentic_clockss/naver-land-scraper)
- [OpenSooq Scraper](https://apify.com/lentic_clockss/opensooq-real-estate-scraper)
- [Otodom Scraper](https://apify.com/lentic_clockss/otodom-scraper)
- [Property Finder Scraper](https://apify.com/lentic_clockss/property-finder-uae-scraper)
- [PropertyGuru Scraper](https://apify.com/lentic_clockss/propertyguru-sg-scraper)
- [realestate.com.au Scraper](https://apify.com/lentic_clockss/realestate-com-au-scraper)
- [Realtor.ca Scraper](https://apify.com/lentic_clockss/realtor-ca-scraper)
- [Rightmove Scraper](https://apify.com/lentic_clockss/rightmove-property-scraper)
- [SeLoger Scraper](https://apify.com/lentic_clockss/seloger-property-scraper)
- [SUUMO Scraper](https://apify.com/lentic_clockss/suumo-property-scraper)
- [Zillow Group Scraper](https://apify.com/lentic_clockss/zillow-group-scraper)

#### E-commerce

- [Shopee Search Scraper](https://apify.com/lentic_clockss/shopee-search-scraper)
- [E-commerce Scraper](https://apify.com/lentic_clockss/ecommerce-scraper)
- [1688 Global Product Search Scraper](https://apify.com/lentic_clockss/1688-global-scraper)
- [Allegro Scraper](https://apify.com/lentic_clockss/allegro-scraper)
- [Amazon Search Scraper](https://apify.com/lentic_clockss/amazon-search-results-collector)
- [ASOS Product Scraper](https://apify.com/lentic_clockss/asos-scraper)
- [Cdiscount Product Scraper](https://apify.com/lentic_clockss/cdiscount-scraper)
- [Costco Product Scraper](https://apify.com/lentic_clockss/costco-scraper)
- [Coupang Product Scraper](https://apify.com/lentic_clockss/coupang-scraper)
- [Etsy Scraper](https://apify.com/lentic_clockss/etsy-scraper)
- [Lazada Scraper](https://apify.com/lentic_clockss/lazada-ph-search-results-collector)
- [MercadoLibre Scraper](https://apify.com/lentic_clockss/mercadolibre-scraper)
- [Mercari Japan Scraper](https://apify.com/lentic_clockss/mercari-scraper)
- [Rakuten Japan Scraper](https://apify.com/lentic_clockss/rakuten-scraper)
- [SHEIN Product Scraper](https://apify.com/lentic_clockss/shein-scraper)
- [Target Product Scraper](https://apify.com/lentic_clockss/target-scraper)
- [Temu Product Scraper](https://apify.com/lentic_clockss/temu-scraper)
- [Walmart Product Scraper](https://apify.com/lentic_clockss/walmart-scraper)

#### Travel & Stays

- [Booking.com & Airbnb Scraper](https://apify.com/lentic_clockss/booking-airbnb-scraper)
- [Agoda Scraper](https://apify.com/lentic_clockss/agoda-scraper)
- [Airbnb Listings Scraper](https://apify.com/lentic_clockss/airbnb-listings-scraper)
- [Booking.com Hotels Scraper](https://apify.com/lentic_clockss/booking-hotels-scraper)
- [Despegar Scraper](https://apify.com/lentic_clockss/despegar-scraper)
- [Expedia Scraper](https://apify.com/lentic_clockss/expedia-scraper)
- [Traveloka Scraper](https://apify.com/lentic_clockss/traveloka-scraper)
- [Travelstart Flights Scraper](https://apify.com/lentic_clockss/travelstart-scraper)
- [Trip.com Scraper](https://apify.com/lentic_clockss/trip-com-scraper)
- [TripAdvisor Scraper](https://apify.com/lentic_clockss/tripadvisor-scraper)

#### Social & Content

- [TikTok Scraper](https://apify.com/lentic_clockss/tiktok-scraper)
- [Reddit Scraper](https://apify.com/lentic_clockss/reddit-scraper)
- [YouTube Shorts Scraper](https://apify.com/lentic_clockss/youtube-shorts-scraper)
- [YouTube Research Scraper](https://apify.com/lentic_clockss/youtube-research-scraper)
- [Hacker News Scraper](https://apify.com/lentic_clockss/hacker-news-scraper)

#### Ads Intelligence

- [Facebook Ad Library Scraper](https://apify.com/lentic_clockss/facebook-ad-library-scraper)
- [Google Ads Transparency VN](https://apify.com/lentic_clockss/google-ads-transparency-center-vn)
- [TikTok Ads Scraper](https://apify.com/lentic_clockss/tiktok-ads-top-ads-actor)

#### Local & Maps

- [Google Maps Scraper](https://apify.com/lentic_clockss/google-maps-scraper)

#### General Tools

- [Stealth Web Scraper](https://apify.com/lentic_clockss/stealth-web-scraper)
- [Email Risk Validator](https://apify.com/lentic_clockss/email-risk-validator)
- [Phone Number Intelligence](https://apify.com/lentic_clockss/phone-number-intelligence)

→ Browse the full profile: [apify.com/lentic\_clockss](https://apify.com/lentic_clockss)

# Actor input Schema

## `service` (type: `string`):

Expedia product line to scrape. Full coverage: hotels, flights, cars, packages, activities, cruises.

## `domain` (type: `string`):

Regional Expedia host (e.g. www.expedia.com, www.expedia.co.uk, www.expedia.com.au).

## `destination` (type: `string`):

City/region for hotels/cars/packages/activities/cruises, or arrival airport/city for flights.

## `regionId` (type: `string`):

Optional Expedia regionId (e.g. NYC=178293). Improves hotel SERP precision.

## `origin` (type: `string`):

Required for flights (airport code or city). Optional package origin.

## `checkin` (type: `string`):

YYYY-MM-DD for hotels, cars, packages. Recommended for hotels — without dates Expedia may return generic availability cards.

## `checkout` (type: `string`):

YYYY-MM-DD for hotels, cars, packages. Recommended for hotels with checkin.

## `departureDate` (type: `string`):

YYYY-MM-DD for flights (and optional cruises).

## `returnDate` (type: `string`):

YYYY-MM-DD when tripType=roundtrip.

## `tripType` (type: `string`):

oneway or roundtrip for flights

## `adults` (type: `integer`):

Number of adult travelers

## `children` (type: `integer`):

Number of children

## `rooms` (type: `integer`):

Number of hotel rooms

## `maxResults` (type: `integer`):

Maximum listings to return. Free-plan users capped at 200.

## `currency` (type: `string`):

ISO currency code

## `locale` (type: `string`):

Expedia locale tag (e.g. en\_US)

## `sort` (type: `string`):

Hotel SERP sort (e.g. RECOMMENDED)

## `includeSponsored` (type: `boolean`):

Include sponsored ad cards in results

## `proxyCountry` (type: `string`):

Optional ISO country for Apify RESIDENTIAL proxy (defaults from domain).

## `workerBaseUrl` (type: `string`):

Optional HTTPS override for the Cloud Run worker. Only allowlisted hosts are accepted (configured worker host, localhost, or ALLOWED\_WORKER\_HOSTS). Defaults to Actor env WORKER\_BASE\_URL.

## Actor input object example

```json
{
  "service": "hotels",
  "domain": "www.expedia.com",
  "destination": "New York",
  "regionId": "",
  "origin": "",
  "checkin": "2026-08-15",
  "checkout": "2026-08-17",
  "departureDate": "",
  "returnDate": "",
  "tripType": "oneway",
  "adults": 2,
  "children": 0,
  "rooms": 1,
  "maxResults": 50,
  "currency": "USD",
  "locale": "en_US",
  "sort": "RECOMMENDED",
  "includeSponsored": false,
  "proxyCountry": "",
  "workerBaseUrl": ""
}
```

# Actor output Schema

## `listings` (type: `string`):

Default dataset containing scraped Expedia listings and offers across all supported lines of business.

## `runSummary` (type: `string`):

Key-value store record with run counters, selected input, worker endpoint, and completion timestamp.

## `inputEcho` (type: `string`):

Key-value store record containing the sanitized input used by this run.

## `errorSummary` (type: `string`):

Key-value store record containing controlled error details when the Actor cannot complete the requested scrape.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "service": "hotels",
    "domain": "www.expedia.com",
    "destination": "New York"
};

// Run the Actor and wait for it to finish
const run = await client.actor("lentic_clockss/expedia-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "service": "hotels",
    "domain": "www.expedia.com",
    "destination": "New York",
}

# Run the Actor and wait for it to finish
run = client.actor("lentic_clockss/expedia-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "service": "hotels",
  "domain": "www.expedia.com",
  "destination": "New York"
}' |
apify call lentic_clockss/expedia-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=lentic_clockss/expedia-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Expedia Scraper - Hotels, Flights, Cars & More",
        "description": "Scrape Expedia hotels, flights, cars, packages, activities & cruises across global domains. Get prices, ratings & listing URLs by destination and dates. Export JSON/CSV. Pay per result — no Expedia login.",
        "version": "0.2",
        "x-build-id": "kkRnsnYAvf3K1oG07"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/lentic_clockss~expedia-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-lentic_clockss-expedia-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/lentic_clockss~expedia-scraper/runs": {
            "post": {
                "operationId": "runs-sync-lentic_clockss-expedia-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/lentic_clockss~expedia-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-lentic_clockss-expedia-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "service",
                    "destination"
                ],
                "properties": {
                    "service": {
                        "title": "Service / Line of Business",
                        "enum": [
                            "hotels",
                            "flights",
                            "cars",
                            "packages",
                            "activities",
                            "cruises"
                        ],
                        "type": "string",
                        "description": "Expedia product line to scrape. Full coverage: hotels, flights, cars, packages, activities, cruises.",
                        "default": "hotels"
                    },
                    "domain": {
                        "title": "Expedia Domain",
                        "type": "string",
                        "description": "Regional Expedia host (e.g. www.expedia.com, www.expedia.co.uk, www.expedia.com.au).",
                        "default": "www.expedia.com"
                    },
                    "destination": {
                        "title": "Destination",
                        "type": "string",
                        "description": "City/region for hotels/cars/packages/activities/cruises, or arrival airport/city for flights.",
                        "default": "New York"
                    },
                    "regionId": {
                        "title": "Region ID",
                        "type": "string",
                        "description": "Optional Expedia regionId (e.g. NYC=178293). Improves hotel SERP precision.",
                        "default": ""
                    },
                    "origin": {
                        "title": "Origin",
                        "type": "string",
                        "description": "Required for flights (airport code or city). Optional package origin.",
                        "default": ""
                    },
                    "checkin": {
                        "title": "Check-in / Pickup Date",
                        "type": "string",
                        "description": "YYYY-MM-DD for hotels, cars, packages. Recommended for hotels — without dates Expedia may return generic availability cards.",
                        "default": ""
                    },
                    "checkout": {
                        "title": "Check-out / Dropoff Date",
                        "type": "string",
                        "description": "YYYY-MM-DD for hotels, cars, packages. Recommended for hotels with checkin.",
                        "default": ""
                    },
                    "departureDate": {
                        "title": "Flight Departure Date",
                        "type": "string",
                        "description": "YYYY-MM-DD for flights (and optional cruises).",
                        "default": ""
                    },
                    "returnDate": {
                        "title": "Flight Return Date",
                        "type": "string",
                        "description": "YYYY-MM-DD when tripType=roundtrip.",
                        "default": ""
                    },
                    "tripType": {
                        "title": "Flight Trip Type",
                        "enum": [
                            "oneway",
                            "roundtrip"
                        ],
                        "type": "string",
                        "description": "oneway or roundtrip for flights",
                        "default": "oneway"
                    },
                    "adults": {
                        "title": "Adults",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Number of adult travelers",
                        "default": 2
                    },
                    "children": {
                        "title": "Children",
                        "minimum": 0,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Number of children",
                        "default": 0
                    },
                    "rooms": {
                        "title": "Rooms",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Number of hotel rooms",
                        "default": 1
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum listings to return. Free-plan users capped at 200.",
                        "default": 50
                    },
                    "currency": {
                        "title": "Currency",
                        "type": "string",
                        "description": "ISO currency code",
                        "default": "USD"
                    },
                    "locale": {
                        "title": "Locale",
                        "type": "string",
                        "description": "Expedia locale tag (e.g. en_US)",
                        "default": "en_US"
                    },
                    "sort": {
                        "title": "Hotel Sort",
                        "type": "string",
                        "description": "Hotel SERP sort (e.g. RECOMMENDED)",
                        "default": "RECOMMENDED"
                    },
                    "includeSponsored": {
                        "title": "Include Sponsored Ads",
                        "type": "boolean",
                        "description": "Include sponsored ad cards in results",
                        "default": false
                    },
                    "proxyCountry": {
                        "title": "Proxy Country",
                        "type": "string",
                        "description": "Optional ISO country for Apify RESIDENTIAL proxy (defaults from domain).",
                        "default": ""
                    },
                    "workerBaseUrl": {
                        "title": "Worker Base URL Override",
                        "type": "string",
                        "description": "Optional HTTPS override for the Cloud Run worker. Only allowlisted hosts are accepted (configured worker host, localhost, or ALLOWED_WORKER_HOSTS). Defaults to Actor env WORKER_BASE_URL.",
                        "default": ""
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
