Expedia logo Expedia API

The Expedia API for discovery, details, reviews and live rates.

Discover hotels and pull hotel details, guest reviews and live room rates from Expedia as clean JSON, keyed off the property ID.

REQUEST GET
USE CASE Undated hotel identity and descriptive metadata by Expedia property ID.
curl "https://api.stayapi.com/v1/expedia/hotel/details" \
  -G \
  -H "x-api-key: $STAYAPI_KEY" \
  -d "property_id=1582716"
RESPONSE 200 OK
2.41s
{
  "property_id": "1582716",
  "name": "Santa's Hotel Rudolf",
  "url": "https://www.expedia.com/h1582716.Hotel-Information",
  "address": {
    "street_address": "Koskikatu 41-43",
    "city": "Rovaniemi",
    "region": null,
    "postal_code": "96200",
    "country": "FIN"
  },
  "telephone": null,
  "image": null,
  "property_type": "Hotel",
  "room_count": null,
  "check_in_time": null,
  "check_out_time": null,
  "structured_data": {
    "@context": "https://schema.org",
    "@type": "Hotel",
    "name": "Santa's Hotel Rudolf",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "Koskikatu 41-43",
      "addressLocality": "Rovaniemi",
      "postalCode": "96200",
      "addressCountry": "FIN"
    },
    "starRating": {
      "@type": "Rating",
      "ratingValue": "3.0"
    },
    "latitude": 66.50548,
    "longitude": 25.7188,
    "identifier": "1582716"
  },
  "latitude": 66.50548,
  "longitude": 25.7188,
  "star_rating": 3.0,
  "guest_rating": 7.2,
  "guest_rating_scale": 10.0,
  "review_count": 478,
  "description": "Hotel with free in-room WiFi in Rovaniemi.",
  "amenities": [
    "Pet friendly",
    "Parking included",
    "Free WiFi",
    "Restaurant"
  ]
}
99.9% uptime Live, not cached

Trusted by hospitality teams at

Overview

What the Expedia API gives you.

Expedia has no public data API for the guest reviews and live rates that revenue and product teams want to read. The usual answer is a scraping stack: headless browsers, rotating proxies, CAPTCHA solvers, and a parser that breaks every time the page changes.

StayAPI is that layer, run for you. You send an Expedia property_id and get structured JSON back: undated hotel metadata, review text, ratings, and dates, plus room types with nightly rates, total prices, strikeout prices, and availability. Expedia also supports destination lookup, regional property-name suggestions, and dated discovery. Discovery cards omit prices and do not confirm availability.

01

Discovery and property data.

x-api-key in, JSON out. Hotel details, reviews and live rates behind one base URL, keyed off the Expedia property_id. No SDK to install.

02

We run the hard part.

Fetching, parsing, proxy rotation, and source uptime are ours. You consume normalized JSON and never touch a headless browser.

03

Real-time, not cached.

Every call hits Expedia live, so rates, availability, and review counts are current to the request, not a stale nightly snapshot.

Use cases

What teams build on the Expedia API.

The same endpoints, pointed at different jobs. These are the ones we see most.

01

Rate shopping and parity.

Pull Expedia room rates per date and occupancy, then compare against your own rate to catch parity slips and undercutting.

02

Review monitoring.

Stream new Expedia reviews into your dashboard, sort newest-first, dedupe across sources, and run sentiment or topic clustering on the text.

03

Metasearch and price comparison.

Show Expedia nightly and total prices next to other channels so a traveler sees the real cost, including taxes and fees, before booking.

04

Market and compset analysis.

Benchmark a property against its comp set on Expedia price, room type, and rating using the same fields for every hotel you track.

Also over MCP

Expedia data, inside your AI agent.

The same endpoints are exposed as MCP tools. Connect Claude, Cursor, or Claude Code, ask in plain English, and the agent calls the tool and answers from live Expedia data.

Pricing

50 free requests on signup.
Pick a plan when you need more.

Flat monthly plans, every endpoint included on every plan. 1 request = 1 credit. No per-endpoint multipliers, no surprise overages.

01 Free

Wire it up. See the schema.

$0 to start
50 credits on signup
  • 50 free requests
  • Every endpoint included
  • No credit card required
  • Same schema as paid
Start free
02 Basic

Kick the tires in production.

$49 per month
1,500 requests / mo
  • 1,500 requests / month
  • Every endpoint included
  • Per-endpoint usage dashboard
  • Email support
Start Basic
50% off
04 Scale

Daily pulls in production.

$900 $450 per month
100,000 requests / mo
  • 100,000 requests / month
  • Every endpoint included
  • Per-endpoint usage dashboard
  • Priority email support
Start scaling
05 Custom

Above 100k / month, annual terms, white-glove onboarding.

Let's talk
1M+ requests / mo
  • 1M+ requests / month
  • Volume rate on the call
  • Per-endpoint usage dashboard
  • Priority email + Slack support
Book a scoping call

Every plan ships every endpoint. Same uptime, same schema, same response time.

Questions

What people ask about the Expedia API.

Don't see your question? Email us at info@stayapi.com.

Does Expedia have a public API?

Expedia runs partner programs (EPS Rapid, the affiliate API) that are gated, contract-bound, and built for booking flows, not for reading guest reviews or shopping competitor rates. StayAPI gives you Expedia reviews and live rates over plain REST with a key you get in 30 seconds.

How do I get Expedia hotel reviews?

Call /v1/expedia/hotel/reviews with a property_id (the number after the h in an Expedia hotel URL). You get review text, rating, reviewer name, and date as JSON, with pagination and a sort=recent_desc option for newest-first. See the reviews endpoint docs.

Can I get Expedia rates via API?

Yes. /v1/expedia/hotel/rates returns room types and rate plans for your check_in and check_out dates: nightly rate, total price, strikeout price, total with taxes and fees, and availability. Available results contain a priced offer; explicit sold-out stays are successful results. Malformed availability returns a non-2xx error. Pass up to six comma-separated ages from 0 to 17 in children_ages for family occupancy. See the rates endpoint docs.

Is the Expedia API free?

You get 50 free requests on signup, every endpoint included, no credit card. After that it is flat monthly plans starting at $49. One request equals one credit, with no per-endpoint multipliers.

What response format does the API return?

JSON over HTTPS, the same shape on every call. REST works in any language with no SDK to install. Community examples in Python, Node, PHP, and Ruby live in the docs.

Two ways to start.

Both end with live Expedia data in your stack. The fast path is on the left.

01 · the fast path

Try it free

50 free requests after sign up. Fastest way to see if the schema fits.

Start free
  • Live API key in 30 seconds
  • No credit card required
  • Same schema as paid
02 · the scoped path

Book a scoping call

15 minutes. Volume + endpoint mix. Walk out with a quote.

Book a demo
  • Quote on the call, not after
  • Engineering, not sales
  • No deck, no slides