Expedia Rapid API
Expedia Rapid provides access to Expedia Group's hotel inventory, rates, and availability for booking integration.
Expedia Rapid provides access to Expedia Group's hotel inventory, rates, and availability for booking integration.
openapi: 3.0.1
info:
title: Expedia Group Rapid API
description: EPS Rapid V3
version: v3
servers:
- url: https://test.ean.com/v3
tags:
- name: Bookings
description: "The primary itinerary method of the Booking API creates a reservation for the selected hotel, room, rate and occupancy."
- name: Content
description: This section outlines the API calls available to you to access property content.
- name: Geography
description: The EPS Geography API provides geography content for regions around the world.
- name: Manage Booking
description: Retrieve existing itineraries or cancel existing rooms.
- name: Notifications
description: Requests test notifications and undelivered notifications.
- name: Shopping
description: The EPS shopping APIs provide you with access to live rates & availability.
paths:
/properties/content:
get:
tags:
- Content
summary: Expedia Group Property Content
description: |
Search property content for active properties in the requested language.<br><br>
When searching with query parameter, `property_id`, you may request 1 to 250 properties at a time.<br><br>
When searching with query parameters other than `property_id`, the response will be paginated. See the `Link`
header in the 200 response section.<br><br>
The response is a JSON map where the key is the property ID and the value is the property object itself, which
can include property-level, room-level and rate-level information.
operationId: getPropertyContent
parameters:
- name: Accept
in: header
description: |
Specifies the response format that the client would like to receive back. This must be `application/json`.
required: true
schema:
type: string
example: application/json
- name: Accept-Encoding
in: header
description: |
Specifies the response encoding that the client would like to receive back. This must be `gzip`.
required: true
schema:
type: string
example: gzip
- name: User-Agent
in: header
description: |
The `User-Agent` header string from the customer's request, as captured by your integration. If you are
building an application then the `User-Agent` value should be `{app name}/{app version}`.
required: true
schema:
type: string
example: TravelNow/3.30.112
- name: Customer-Session-Id
in: header
description: |
Insert your own unique value for each user session, beginning with the first API call. Continue to pass the
same value for each subsequent API call during the user's session, using a new value for every new customer
session.<br>
Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it
explicitly links together request paths for individual user's session.
schema:
type: string
- name: language
in: query
description: |
Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit
language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
See [https://www.w3.org/International/articles/language-tags/](https://www.w3.org/International/articles/language-tags/)
<br>
Language Options: [https://developers.expediagroup.com/docs/rapid/resources/reference/language-options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
required: true
schema:
type: string
examples:
English:
value: en-US
Cantonese:
value: zh-HK
- name: supply_source
in: query
description: |
Options for which supply source you would like returned in the content response. This parameter may only be
supplied once and will return all properties that match the requested supply source. An error is thrown if
the parameter is provided multiple times.
* `expedia` - Standard Expedia supply.
* `vrbo` - VRBO supply - This option is restricted to partners who have VRBO supply enabled for their
profile. See [Vacation Rentals](https://developers.expediagroup.com/docs/rapid/lodging/vacation-rentals) for
more information.
required: true
schema:
type: string
examples:
Standard:
value: expedia
VRBO:
value: vrbo
- name: all_inclusive
in: query
description: |
Search to include properties that have the requested `all_inclusive` values equal to true. If this parameter
is not supplied, all `all_inclusive` scenarios are included. This parameter can be supplied multiple times
with different values, which will include properties that match any of the requested scenarios.
* `all_rate_plans` - Return properties where `all_inclusive.all_rate_plans` is true.
* `some_rate_plans` = Return properties where `all_inclusive.some_rate_plans` is true.
schema:
type: array
items:
type: string
examples:
Optional:
value:
All:
value: all_rate_plans
- name: amenity_id
in: query
description: |
The ID of the amenity you want to search for. This parameter can be supplied multiple times with different
values, which will include properties that match any of the requested amenity IDs. This is currently only
capable of searching for property level amenities. Room and rate level amenities cannot be searched on.
schema:
type: array
items:
type: string
examples:
Optional:
value:
Elevator:
value: 8
Multiple:
value:
- 115
- 43
- name: attribute_id
in: query
description: |
The ID of the attribute you want to search for. This parameter can be supplied multiple times with different
values, which will include properties that match any of the requested attribute IDs.
schema:
type: array
items:
type: string
examples:
Optional:
value:
Pets:
value: 51
Multiple:
value:
- 5058
- 5059
- name: brand_id
in: query
description: |
The ID of the brand you want to search for. This parameter can be supplied multiple times with different
values, which will include properties that match any of the requested brand IDs.
schema:
type: array
items:
type: string
examples:
Optional:
value:
Hyatt:
value: 11210
Multiple:
value:
- 1
- 11210
- name: business_model
in: query
description: |
Search for properties with the requested business model enabled. This parameter can be supplied multiple
times with different values, which will return all properties that match any of the requested business
models. The value must be lower case.
* `expedia_collect` - Return only properties where the payment is collected by Expedia.
* `property_collect` - Return only properties where the payment is collected at the property.
schema:
type: array
items:
type: string
enum:
- expedia_collect
- property_collect
examples:
Optional:
value:
Single:
value: expedia_collect
- name: category_id
in: query
description: |
Search to include properties that have the requested
[category ID](https://developers.expediagroup.com/docs/rapid/lodging/content/content-reference-lists). If
this parameter is not supplied, all category IDs are included. This parameter can be supplied multiple times
with different values, which will include properties that match any of the requested category IDs.
schema:
type: array
items:
type: string
examples:
Optional:
value:
Single:
value: 1
Multiple:
value:
- 1
- 2
- name: category_id_exclude
in: query
description: |
Search to exclude properties that do not have the requested
[category ID](https://developers.expediagroup.com/docs/rapid/lodging/content/content-reference-lists). If
this parameter is not supplied, all category IDs are included. This parameter can be supplied multiple times
with different values, which will exclude properties that match any of the requested category IDs.
schema:
type: array
items:
type: string
examples:
Optional:
value:
Single:
value: 1
Multiple:
value:
- 1
- 2
- name: chain_id
in: query
description: |
The ID of the chain you want to search for. These chain IDs can be positive and negative numbers. This
parameter can be supplied multiple times with different values, which will include properties that match any
of the requested chain IDs.
schema:
type: array
items:
type: string
examples:
Optional:
value:
Single:
value: -6
Multiple:
value:
- 1
- 2
- name: country_code
in: query
description: |
Search for properties with the requested country code, in ISO 3166-1 alpha-2 format. This parameter can be
supplied multiple times with different values, which will include properties that match any of the requested
country codes.
schema:
type: array
items:
type: string
examples:
Optional:
value:
Single:
value: US
Multiple:
value:
- US
- CA
- name: date_added_end
in: query
description: |
Search for properties added on or before the requested UTC date, in ISO 8601 format (YYYY-MM-DD)
schema:
type: string
examples:
Optional:
value:
Recent:
value: '2023-09-21'
- name: date_added_start
in: query
description: |
Search for properties added on or after the requested UTC date, in ISO 8601 format (YYYY-MM-DD)
schema:
type: string
examples:
Optional:
value:
Recent:
value: '2023-09-20'
- name: date_updated_end
in: query
description: |
Search for properties updated on or before the requested UTC date, in ISO 8601 format (YYYY-MM-DD)
schema:
type: string
examples:
Optional:
value:
Recent:
value: '2023-09-21'
- name: date_updated_start
in: query
description: |
Search for properties updated on or after the requested UTC date, in ISO 8601 format (YYYY-MM-DD)
schema:
type: string
examples:
Optional:
value:
Recent:
value: '2023-09-20'
- name: include
in: query
description: |
Each time this parameter is specified will add to the list of fields and associated objects returned in the
response. All values and field names are lower case. The values `property_ids` and `catalog` will continue
to behave as specified below for backwards compatibility. All other top level field names will add the
specified field to the list of fields returned in the response. See the response schema for a full list of
top level field names. Additionally, the field `property_id` will always be returned regardless of what
include values are passed.<br><br>
Possible values:
* `property_ids` - ***DEPRECATED*** - Please use `property_id` which matches the response field name.
* `catalog` - Include all property catalog fields. See
[Property Catalog File endpoint](https://developers.expediagroup.com/docs/rapid/resources/rapid-api#get-/files/properties/catalog)
for a list of fields.
* `property_id` - Passing in the value `property_id` and no other values will limit the response to only
`property_id`. Not necessary to include in combination with other field name values, as it will always
be returned.
* All field names found at the top level of the property content response are now valid values for
inclusion.
schema:
type: array
items:
type: string
examples:
IncludeAll:
value:
Single:
value: images
Multiple:
value:
- images
- address
- name: multi_unit
in: query
description: |
Search for multi-unit properties. If this parameter is not supplied, both single-unit and multi-unit
properties will be included.
* `true` - Include only properties that are multi-unit.
* `false` - Do not include properties that are multi-unit.
schema:
type: boolean
examples:
Optional:
value:
Single:
value: false
- name: property_id
in: query
description: |
The ID of the property you want to search for. You can provide 1 to 250 property_id parameters.
schema:
type: array
items:
type: string
examples:
Single:
value: 1337
Multiple:
value:
- 1337
- 1
- name: property_rating_max
in: query
description: |
Search for properties with a property rating less than or equal to the requested rating. The highest
property rating value is 5.0.
schema:
type: string
examples:
Optional:
value:
Single:
value: 5.0
- name: property_rating_min
in: query
description: |
Search for properties with a property rating greater than or equal to the requested rating. The lowest
property rating value is 0.0.
schema:
type: string
examples:
Optional:
value:
Single:
value: 3.5
- name: spoken_language_id
in: query
description: |
The id of the spoken language you want to search for. This parameter can be supplied multiple times with
different values, which will include properties that match any of the requested spoken languages. The
language code as a subset of BCP47 format.
schema:
type: array
items:
type: string
examples:
Optional:
value:
Single:
value: en
Multiple:
value:
- zh-yue
- vi
- name: billing_terms
in: query
description: |
This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed,
the value for this will be provided to you separately.
schema:
type: string
- name: partner_point_of_sale
in: query
description: |
This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the
value for this will be provided to you separately.
schema:
type: string
- name: payment_terms
in: query
description: |
This parameter is to specify what terms should be used when being paid for a resulting booking. If this
field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: platform_name
in: query
description: |
This parameter is to specify what platform is being used to shop and book. If this field is needed, the
value for this will be provided to you separately.
schema:
type: string
responses:
"200":
description: OK
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
Link:
description: |
Contains a single link to get the immediate next page of results, and follows the
[IETF standard](https://tools.ietf.org/html/rfc5988). To get the next page of results, simply follow
the `next` URL in this header without modifying it. This header will be missing when there are no
further pages. If the link expires, there will be an `expires` link-extension that is the UTC date the
link will expire, in ISO 8601 format.
schema:
type: string
example: <https://test.ean.com/v3/properties/content?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m>; rel="next"; expires=2023-06-29T20:15:05.324083439Z
Pagination-Total-Results:
description: Contains the total number of property objects found.
schema:
type: number
example: 743
content:
application/json:
schema:
type: object
additionalProperties:
$ref: '#/components/schemas/PropertyContent'
examples:
Single Property Example:
value:
"12345":
property_id: "12345"
name: Test Property Name
address:
line_1: 123 Main St
line_2: Apt A
city: Springfield
state_province_code: MO
state_province_name: Missouri
postal_code: "65804"
country_code: US
obfuscation_required: false
localized:
links:
es-ES:
method: GET
href: https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=12345
fr-FR:
method: GET
href: https://api.ean.com/v3/properties/content?language=fr-FR&include=address&property_id=12345
ratings:
property:
rating: "3.5"
type: Star
guest:
count: 48382
overall: "3.1"
cleanliness: "4.2"
service: "1.1"
comfort: "4.3"
condition: "1.6"
location: "4.0"
neighborhood: "3.4"
quality: "3.4"
value: "2.2"
amenities: "1.4"
recommendation_percent: 73%
location:
coordinates:
latitude: 37.158451
longitude: -93.268382
obfuscated_coordinates:
latitude: 37.159532
longitude: -93.271681
obfuscation_required: false
phone: 1-417-862-0153
fax: 1-417-863-7249
category:
id: "1"
name: Hotel
rank: 42
business_model:
expedia_collect: true
property_collect: false
checkin:
"24_hour": 24-hour check-in
begin_time: 3:00 PM
end_time: 11:00 PM
instructions: Extra-person charges may apply and vary depending on hotel policy. <br />Government-issued photo identification and a credit card or cash deposit are required at check-in for incidental charges. <br />Special requests are subject to availability upon check-in and may incur additional charges. Special requests cannot be guaranteed. <br />
special_instructions: There is no front desk at this property. To make arrangements for check-in please contact the property ahead of time using the information on the booking confirmation.
min_age: 18
checkout:
time: 11:00 AM
fees:
mandatory: "<p>You'll be asked to pay the following charges at the hotel:</p> <ul><li>Deposit: USD 50 per day</li><li>Resort fee: USD 29.12 per accommodation, per night</li></ul> The hotel resort fee includes:<ul><li>Fitness center access</li><li>Internet access</li><li>Phone calls</li><li>Additional inclusions</li></ul> <p>We have included all charges provided to us by the property. However, charges can vary, for example, based on length of stay or the room you book. </p>"
optional: "Fee for in-room wireless Internet: USD 15 per hour (rates may vary)</li> <li>Airport shuttle fee: USD 350 per vehicle (one way)</li> <li>Rollaway bed fee: USD 175 per night</li>"
policies:
know_before_you_go: "Reservations are required for massage services and spa treatments. Reservations can be made by contacting the hotel prior to arrival, using the contact information on the booking confirmation. </li><li>Children 11 years old and younger stay free when occupying the parent or guardian's room, using existing bedding. </li><li>Only registered guests are allowed in the guestrooms. </li> <li>Some facilities may have restricted access. Guests can contact the property for details using the contact information on the booking confirmation. </li> </ul>"
attributes:
general:
"3357":
id: "3357"
name: Caters to adults only
"2549":
id: "2549"
name: No elevators
pets:
"51":
id: "51"
name: Pets allowed
"2809":
id: "2809"
name: Dogs only
"3321":
id: "3321"
name: Pet maximum weight in kg is - 24
value: 24
amenities:
"9":
id: "9"
name: Fitness facilities
"2820":
id: "2820"
name: Number of indoor pools - 10
value: 10
images:
- caption: Featured Image
hero_image: true
category: 3
links:
"70px":
method: GET
href: https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg
onsite_payments:
currency: USD
types:
"171":
id: "171"
name: American Express
rooms:
"224829":
id: "224829"
name: Single Room
descriptions:
overview: "<strong>2 Twin Beds</strong><br />269-sq-foot (25-sq-meter) room with mountain views<br /><br /><b>Internet</b> - Free WiFi <br /> <b>Entertainment</b> - Flat-screen TV with cable channels<br /><b>Food & Drink</b> - Refrigerator, coffee/tea maker, room service, and free bottled water<br /><b>Sleep</b> - Premium bedding <br /><b>Bathroom</b> - Private bathroom, shower, bathrobes, and free toiletries<br /><b>Practical</b> - Safe and desk; cribs/infant beds available on request<br /><b>Comfort</b> - Climate-controlled air conditioning and daily housekeeping<br />Non-Smoking<br />"
amenities:
"130":
id: "130"
name: Refrigerator
"1234":
id: "1234"
name: Test Amenity - 200
value: "200"
images:
- hero_image: true
category: 21001
links:
"70px":
method: GET
href: https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg
caption: Guestroom
bed_groups:
"37321":
id: "37321"
description: 1 King Bed
configuration:
- type: KingBed
size: King
quantity: 1
area:
square_meters: 20
square_feet: 215
views:
"4146":
id: "4146"
name: Courtyard view
occupancy:
max_allowed:
total: 5
children: 2
adults: 4
age_categories:
Adult:
name: Adult
minimum_age: 9
rates:
"333abc":
id: 333abc
amenities:
"2104":
id: "2104"
name: Full Breakfast
"1234":
id: "1234"
name: Test Amenity - 200
value: "200"
special_offer_description: "<strong>Breakfast for 2</strong> - Rate includes the following:\r\n<ul><li>Accommodations as selected</li>\r\n<li>Breakfast in hotel restaurant for up to 2 adults and children 12 years old and under registered in the same room</li>\r\n</ul><em>Must book this rate plan to receive benefits. Details provided at check-in. Taxes and gratuity may not be included. No refunds for any unused portion of offer. Offer subject to availability. Offer is not valid with groups/conventions and may not be combined with other promotional offers. Other restrictions and blackout dates may apply.</em>\r\n"
dates:
added: '1998-07-19T05:00:00.000Z'
updated: '2018-03-22T07:23:14.000Z'
descriptions:
amenities: "Don't miss out on the many recreational opportunities, including an outdoor pool, a sauna, and a fitness center. Additional features at this hotel include complimentary wireless Internet access, concierge services, and an arcade/game room."
dining: "Grab a bite at one of the hotel's 3 restaurants, or stay in and take advantage of 24-hour room service. Quench your thirst with your favorite drink at a bar/lounge. Buffet breakfasts are available daily for a fee."
renovations: "During renovations, the hotel will make every effort to minimize noise and disturbance. The property will be renovating from 08 May 2017 to 18 May 2017 (completion date subject to change). The following areas are affected: <ul><li>Fitness facilities</li></ul>"
national_ratings: "For the benefit of our customers, we have provided a rating based on our rating system."
business_amenities: "Featured amenities include complimentary wired Internet access, a 24-hour business center, and limo/town car service. Event facilities at this hotel consist of a conference center and meeting rooms. Free self parking is available onsite."
rooms: "Make yourself at home in one of the 334 air-conditioned rooms featuring LCD televisions. Complimentary wired and wireless Internet access keeps you connected, and satellite programming provides entertainment. Private bathrooms with separate bathtubs and showers feature deep soaking bathtubs and complimentary toiletries. Conveniences include phones, as well as safes and desks."
# --- truncated at 32 KB (724 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/expedia-group/refs/heads/main/openapi/expedia-rapid-openapi-original.yml