Skip to content
ScoutingAPI

The Hotels.com API without the partner gating.

Hotels.com is an Expedia Group brand with no self-serve public API. ScoutingAPI returns the Hotels.com / Expedia-group rate today inside one /v1/price-compare call — alongside Booking.com, Vrbo, and Google, in one schema. A dedicated Hotels.com search leg is on the roadmap on the same contract.

Cross-OTA price-compare (incl. the Expedia-group rate) live today · 100 credits free, no card · we email you when a dedicated Hotels.com search leg ships

99.9% uptime SLAFailed calls cost 0 creditsNative MCP for AI agentsOne unified schema
Response · /v1/price-compare
Request
GET /v1/price-compare
  ?name=D-Resort Sibenik
  &location=Sibenik, HR
  &checkIn=2026-07-13&checkOut=2026-07-20
  &adults=2&children=2
Response
{
  "data": {
    "property": "D-Resort Sibenik",
    "checkIn": "2026-07-13", "checkOut": "2026-07-20",
    "currency": "EUR", "min": 2870, "median": 2910,
    "offers": [
      { "ota": "google_hotels", "totalPrice": 2870, "currency": "EUR",
        "url": "https://www.google.com/travel/hotels/.../prices" },
      { "ota": "booking.com",   "totalPrice": 2910, "currency": "EUR",
        "url": "https://www.booking.com/hotel/hr/d-resort-sibenik.html" },
      { "ota": "expedia",       "totalPrice": 3025, "currency": "EUR",
        "url": "https://www.expedia.com/...D-Resort-Sibenik..." }
    ]
  },
  "meta": {
    "platforms": ["google"], "cached": false, "creditsCharged": 5, "currency": "EUR",
    "platformResults": [{ "platform": "google", "status": "ok", "count": 3 }],
    "pagination": null
  }
}

Real Hotels.com / Expedia-group prices — today, inside one cross-OTA call.

This is an actual /v1/price-compare response. One property, every OTA — the Expedia-group rate that powers Hotels.com included — with a computed lowest (min) and median rate, in the same schema you use for Booking, Vrbo, and Google.

Same schema acrossAirbnbBooking.comVrboGoogle Hotels
property + checkIn/checkOut

The compared property and the exact stay window the prices are for.

offers[].ota

The source OTA for each price — the Expedia-group rate (Hotels.com), "booking.com", "google_hotels", and more.

offers[].totalPrice

Total stay price per OTA in one currency, so the comparison is apples-to-apples.

min

The computed lowest total across every OTA — the cheapest bookable rate.

median

The computed median total — a robust “fair price” signal that ignores outliers.

meta.creditsCharged

5 credits per successful price-compare call — and 0 on a failed or empty call.

Hotels.com sits inside the Expedia Group, so its rate arrives via the same Expedia-group cross-OTA path you see in the “expedia” offer above — you can already compare it against Booking.com and Google for the same property and dates. A dedicated Hotels.com search & availability leg (platforms=hotels) is fast-follow on this same unified contract; when it ships, your price-compare code keeps working unchanged.

Instant access. No partner application. No sales call.

Expedia Group’s official developer access (EPS Rapid, which covers Hotels.com inventory) is partner-gated — an application, approval, and contract before you can call it. ScoutingAPI is self-serve: sign up, get a key, and make your first cross-OTA price-compare call (the Expedia-group rate included) in under five minutes.

100 free credits — no credit card

Enough to build and test cross-OTA price-compare against real responses before you decide anything.

scout_test_ sandbox at zero cost

Deterministic fixtures wire up your integration before you ever spend a credit.

Hotels.com waitlist for full search

Get the cross-OTA Expedia-group rate today; sign up and we’ll email you when a dedicated Hotels.com search leg goes live on the same schema.

  1. 1Get your free key
  2. 2curl the /v1/price-compare example
  3. 3Ship

Reliability you can build a product on.

Scrapers and gated partner programs give you raw data and a shrug, or a contract and a queue. We run a product — monitoring, multi-actor failover, retries, and caching behind one contract.

99.9% monthly uptime SLA

Committed on the ScoutingAPI response envelope and published on a public status page. Multi-actor failover, retries, and caching sit behind one contract.

Failed calls cost 0 credits

Failed, empty, or blocked calls are never charged. If an OTA leg is briefly unreachable you get a typed upstream_unavailable (or meta.partial) and we charge nothing — not the pay-per-attempt model of raw scrapers.

Honest coverage, surfaced in meta

We state coverage plainly: the Hotels.com / Expedia-group rate is live in price-compare, a dedicated Hotels.com search leg is roadmap. The SLA covers our envelope; upstream degradation is surfaced as meta.partial / upstream_unavailable with 0 credits.

99.9%Monthly uptime SLAOn the ScoutingAPI envelope, backed by a public status page.
0 creditsFor failed or bad dataEmpty, blocked, or upstream-degraded calls are never charged.
RoadmapDedicated Hotels.com search & availabilityLive in /v1/price-compare today; a dedicated search leg is fast-follow on the same schema.
1 schemaEvery platform, every endpointWrite your code once, point it anywhere.

curl it, import the SDK, or hand it to your agent.

Every sample calls /v1/price-compare — the endpoint that returns the Expedia-group (Hotels.com) rate today — and is copy-paste runnable against your free key, generated from @scoutingapi/sdk so it never drifts from the live API.

curl -s -G "https://api.scoutingapi.com/v1/price-compare" \
  -H "Authorization: Bearer scout_test_YOUR_KEY" \
  --data-urlencode "name=D-Resort Sibenik" \
  --data-urlencode "location=Sibenik, HR" \
  --data-urlencode "checkIn=2026-07-13" \
  --data-urlencode "checkOut=2026-07-20" \
  --data-urlencode "adults=2" \
  --data-urlencode "children=2"
# The Expedia-group rate (which powers Hotels.com) is returned as an OTA offer; scout_test_ is $0.

The MCP tab adds ScoutingAPI’s native server (Streamable HTTP, OAuth 2.1 / PKCE) to Claude, Cursor, or n8n — then the agent calls compare_prices({ name: "D-Resort Sibenik", checkIn: "2026-07-13", checkOut: "2026-07-20" }) and reads the Expedia-group (Hotels.com) offer straight from the result.

Hotels.com data: scraper, Expedia-group partner API, analytics tool, or ScoutingAPI?

CapabilityScoutingAPIRaw scraper / RapidAPIExpedia Group / EPS RapidSTR analytics (AirROI / AirDNA)
AccessSelf-serve, free key in minutesSelf-serve, but per-actorPartner-gated (application + contract)$10 min (AirROI) / ~$50k, sales-gated (AirDNA)
Platform coverageHotels.com rate (price-compare) + Booking + Vrbo + GoogleOne platform per actorExpedia-group inventory onlyAirbnb / Vrbo only (STR)
Output schemaOne unified schema, every platformDifferent shape per actorPlatform-specificAnalytics-specific
Cross-OTA price-compareYes — Hotels.com vs every OTA, computed min / medianNoNo (own inventory only)No
Live availability & priceCross-OTA price live today; Hotels.com search on the roadmapYes (raw)Yes, once approvedNo — historical analytics (occupancy, ADR, RevPAR)
Reliability99.9% SLA, status page, failoverNone (~86% success, no SLA)Platform-dependentVendor-dependent
Failed-call billingFree — 0 creditsYou pay per attemptn/an/a
Agent-native (MCP)First-class MCP + OAuth + ConnectorsBolt-on per actorNoNo
PricingPredictable credits + free tierPay-per-resultContracts / revenue sharePAYG / enterprise contract

The honest read: scrapers are powerful but you assemble and babysit the pipeline; EPS Rapid makes you apply and contract for Expedia-group inventory; analytics tools answer “how did this market perform.” ScoutingAPI delivers the cross-OTA answer today — the Hotels.com / Expedia-group rate alongside every platform, in one schema, with an SLA — and a dedicated Hotels.com search leg is fast-follow on the same contract.

What developers and agents build on the Hotels.com price data.

Not “extract Hotels.com data” — the outcomes a specific reader recognizes, with the Hotels.com / Expedia-group rate alongside every OTA in one feed.

Cross-OTA rate shopping

Show the cheapest rate for a property across the Expedia-group (Hotels.com), Booking.com, and Google in one /v1/price-compare call — with computed min / median — instead of stitching together gated partner APIs.

Meta-search & price-comparison apps

Power a meta-search experience that lists every OTA’s price (Hotels.com included) for a hotel and links straight to the best deal — one schema, one call, no per-OTA integration.

Market-rate intelligence

Track how the Hotels.com / Expedia-group rate moves relative to Booking.com and Google across a destination and date range to build a real-time competitive-pricing view.

Hotelier rate-parity monitoring

Watch a hotel’s rate across Hotels.com and the other OTAs for the same dates; flag parity gaps where one channel is undercutting the others.

Price-drop alerts & automation

Schedule a /v1/price-compare poll for a property and fire a Slack, email, or Telegram alert when the Hotels.com (or any OTA) rate drops below a threshold — shippable from /workflows in minutes.

Travel-planning & sourcing agents

Give your AI agent a dependable price-compare tool: “cheapest rate for D-Resort Šibenik, July 13–20” → real cross-OTA prices, Hotels.com included, via the native MCP server.

Hotels.com API — frequently asked questions

The questions developers actually search — answered in full and honestly, with FAQ structured data for rich results.

Get the Hotels.com cross-OTA price today — and the rest on the roadmap.

100 credits, no credit card. Compare Hotels.com vs every OTA in your first call, in under five minutes.

Cross-OTA price-compare (incl. Hotels.com) live today · failed calls cost 0 credits · native MCP included