Product API
ReferenceProduct API

Resources and endpoints

Expedia Group’s APIs live under the domain. API users should make sure to only ever use the fully qualified domain name in your requests to Expedia Group’s APIs, and never try to guess/hardcode the IP this address resolves to. In order to provide a robust, highly available and scalable solution, Expedia Group may change the IP address being used without notice.

  • To access property information: /products/properties/{propertyResourceId}. Property resource ID (Expedia Group ID) is optional. If omitted, the list of active properties assigned to the account will be returned.
  • To access room types in the context of a property: /properties/{propertyResourceId}/roomTypes/{roomTypeResourceId}. Room type resource ID (room type ID) is optional. If omitted, the list of active room types for the property will be returned.
  • To access rate plans, which belong to a room type: /properties/{propertyResourceId}/roomTypes/{roomTypeResourceId}/ratePlans/{ratePlanResourceId}. Rate plan resource ID (rate plan ID) is optional. If omitted, the list of active rate plans for that room type will be returned.

Expedia Group chose to version this API by making use of different content types per version. This gives Expedia Group the flexibility to version each resource (property, room type, rate plan) independently.

Starting with version 2, the Accept header is used to specify the version of the resource that is expected in the response. Although it is good practice to always specify it, the system will default to version 2 when not specified. For example:

Example of Accept header for version 2:

Accept: application/vnd.expedia.eps.product-v2+json

Example of Accept header for version 3:

Accept: application/vnd.expedia.eps.product-v3+json

When providing a body, as is the case for POST, PUT and PATCH requests, the Content-Type header must be specified to indicate the version of the specified content. Starting with version 3, both Accept and Content type headers are mandatory. It is also important that the Accept and Content-Type headers match.

Example for version 2:

Content-Type: application/vnd.expedia.eps.product-v2+json

Example for version 3:

Content-Type: application/vnd.expedia.eps.product-v3+json

Here is an overview of the resources and endpoints:


Supported operations

Production endpoint


Read multiple properties (GET) (limited to a maximum of 200 at a time) belonging to the user credentials provided



Read a single property (GET)


Room type

Read multiple room types (GET) belonging to a single property


Room type

Read a single room type (GET)


Room type

Create a single room type (POST)


Room type

Update a single room type (PUT) in full overlay mode


Room type

Update a single room type (PATCH) in partial update mode


Room type amenity

Get amenities for a single room type


Room type amenity

Set amenities for a room type (PUT) in full overlay mode


Room type rate thresholds

Get rate thresholds for a single room type


Rate plan

Read multiple rate plans belonging to a single room type (GET)


Rate plan

Read a single rate plan (GET)


Rate plan

Create a single rate plan (POST)


Rate plan

Update a single rate plan (PUT) in full overlay mode


Rate plan

Update a single rate plan (PATCH) in partial update mode


Rate plan

Delete a single rate plan (DELETE)