Expedia Rapid API

Expedia Rapid provides access to Expedia Group's hotel inventory, rates, and availability for booking integration.

OpenAPI Specification

expedia-rapid-openapi-original.yml Raw ↑
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. &lt;br />Government-issued photo identification and a credit card or cash deposit are required at check-in for incidental charges. &lt;br />Special requests are subject to availability upon check-in and may incur additional charges. Special requests cannot be guaranteed. &lt;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