# Expedia — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Search for hotels and flights across Expedia while viewing detailed property information to compare prices and amenities for your travel plans. Get comprehensive travel options all from one integration without manually browsing the website.

**Category:** Travel | **Website:** [expedia.com/](https://expedia.com/) | **Docs:** [parse.bot/marketplace/299df7ff-6e5e-4b07-87d0-f231c40231c4/expedia-com-api](https://parse.bot/marketplace/299df7ff-6e5e-4b07-87d0-f231c40231c4/expedia-com-api)

Pay-per-use API proxy for Locus Pro. Each call burns credits from your workspace balance.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/credits/expedia/`
**Auth:** `Authorization: Bearer <LOCUS_CREDITS_SECRET_KEY>` (an `lcr_` secret key or a scoped `lcac_` agent credential)
**Required header:** `Idempotency-Key: <fresh UUID per call>`. A retry with the same key replays the stored result without a new charge.
**Response:** the provider response after any endpoint-specific normalization. `X-Locus-Credits-Charged` carries the charge and `X-Locus-Credits-Balance` the remaining balance. Insufficient credits return `402` before the provider is called.
**Pricing:** estimated costs below are USD. Locus debits the credit equivalent at your workspace rate.

Full call contract: https://docs.paywithlocus.com/api-reference/introduction

> Using a Pay With Locus wallet key (`claw_` prefix)? Wallet routes are documented separately: https://docs.paywithlocus.com/wrapped-apis/for-agents

## Endpoints

### Get hotel details

Retrieve detailed information for a specific hotel including name, street address, city, and amenities. Amenities may be empty if the page loads them dynamically. The property_id can be obtained from search_hotels results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `end_date` | string | No | Check-out date for pricing context in YYYY-MM-DD format |
| `property_id` | string | Yes | Expedia property ID (e.g. '8753178', '201113'). Obtain from search_hotels results. |
| `start_date` | string | No | Check-in date for pricing context in YYYY-MM-DD format |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/expedia/get-hotel-details \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"end_date":"<string>","property_id":"<string>","start_date":"<string>"}'
```

### Search flights

Generate a flight search URL for Expedia. Actual flight results are client-side rendered and cannot be extracted via server-side scraping. Returns the constructed search URL for use in a browser.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `date` | string | No | Departure date in YYYY-MM-DD format. Omitting defaults to 14 days from today. |
| `destination` | string | Yes | Destination airport code (e.g. 'DFW', 'LAS', 'MIA') |
| `origin` | string | Yes | Origin airport code (e.g. 'JFK', 'LAX', 'ORD') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/expedia/search-flights \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"date":"<string>","destination":"<string>","origin":"<string>"}'
```

### Search hotels

Search for hotels and vacation rentals by destination and dates. Returns properties with name, price, rating, and property ID from server-side rendered results. Typically returns 3-5 results from the initial page load. Pagination is not supported; results are limited to what the first page load returns.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `adults` | integer | No | Number of adults |
| `destination` | string | Yes | Destination city or area (e.g. 'Las Vegas', 'New York', 'Miami') |
| `end_date` | string | Yes | Check-out date in YYYY-MM-DD format |
| `rooms` | integer | No | Number of rooms |
| `start_date` | string | Yes | Check-in date in YYYY-MM-DD format |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/expedia/search-hotels \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"adults":"<integer>","destination":"<string>","end_date":"<string>","rooms":"<integer>","start_date":"<string>"}'
```

## Next steps

- [All wrapped API providers](https://paywithlocus.com/wapi/index.md): pick another provider.
- [Find and call tools](https://paywithlocus.com/agent/tools.md): price ceilings, async results, and errors.
- [Credits and billing](https://paywithlocus.com/agent/billing.md): what a call costs and how to add credits.
- [Agent docs index](https://paywithlocus.com/agent/index.md): every Locus agent page.