0.0.3 • Public • Published


    Expedia API

    Small client interface for the Expedia EAN api. Provides an interface for the following methods:

    • Hotel List Retrieve a list of hotels by location or a list of specific hotel ids
    • Hotel Information Retrive detailed information about a hotel from a hotel id
    • Room Availability Retrieve all available rooms at a specific hotel that accommodate the provided guest count and any other criteria.
    • Room Images Retrieve a list room images for a specific hotelId organized by room type
    • Payment Types Retrieves credit card types compatible current request settings
    • Book Reservation Requests a reservation for the specified room(s).
    • Itinerary Request Retrieve an existing itinerary's status and details, confirm the status of a previously requested booking, or retrieve a list of itineraries from a specified date span.
    • Cancel Reservation Cancel an existing reservation for a single room.
    • Ping Request Send a ping request to expedia API servers to determine if service is available in the event of a suspected outage or ISP issue, or to obtain EAN's Unix server time when troubleshooting issues with signature authentication.
    • Geo Functions Obtain location data such as a specific destinationId, latitude/longitude coordinates, and the number of active properties available within the location.


    Install with npm:
    npm install expedia


    Usage requires a Expedia Api key and CID. For development use you can use the CIN 55505. You can obtain your api key from the Expedia EAN api documentation.

     var options = {
            cid     : "YOUR CID",
            apiKey  : "YOUR EAN API KEY",
            locale  : "en_US",  // optional defaults to en_US
            currencyCode :"USD"  // optional defaults to USD
    var expedia = require("expedia")(options);


    Expedia requires that you pass in a customer ip, unique session identifier, and browser agent. The remaining parameters are defined in the Expedia EAN api documentation. Please see the example directory for more options.

    var options = {
      "customerSessionId" : "thisisauniqueID",
      "customerIpAddress" : "",
      "customerUserAgent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko)",
      "LocationInfoRequest": {
        "locale": "en_US",
        "destinationString": "Seattle, WA"
    expedia.geoSearch(options, function(err, res){
        if(err)throw new Error(err);




    npm i expedia

    DownloadsWeekly Downloads






    Last publish


    • sdedelbrock