Static Data Feeds API

Retrieve static data feeds for hotels and places

Download RAML

Overview

KAYAK static data feeds can be used to complement a hotel search API integration and to build up a database of static data points with regards to hotels and places. Dynamic information such as rates and availability should be obtained from the search API.

General usage

Hotel and place feeds are in the NDJSON (new line-delimited JSON) also known as JSONL format. With this format, each row of the file represents a complete JSON record. Responses will have the content-type application/x-ndjson. This format makes it easy to work with standard line-oriented UNIX tools like grep, head, wc, etc. Additional reading: https://en.wikipedia.org/wiki/JSON_streaming#NDJSON

Pagination

pageSize - The number of items (i.e. hotels or places respectively) to be returned per page

lastId - The ID of the last hotel or place returned on the previous page

To request the first page use lastId=0 in your request. The last page of the feed will be reached when the number of results is smaller than the pageSize requested.

We recommend a pageSize of 10,000 or less for hotels and 100,000 or less for places. Pages sizes smaller than 1,000 should only be used for testing purposes. Automated processes might be subject to rate-limiting if the page size is too small.

Resources:

Hotel feed

Get static hotel feed data

GET
/api/4.0/hotelfeed?apiKey=<string>&lastId=<number>&pageSize=<number>&languageCode=<LanguageCode>&countryCode=<CountryCode>&lastUpdated=<datetime-only>&propertyTypeIds=<array>
Query parameterDescription
apiKey
Required

The API key assigned to the affiliate.

lastId
Required

The value of the last hotel ID that was received. Must be equal or greater than zero.

pageSize
Required

The page size for the feed.

languageCode
Default: en

The language code for the feed. Must be a valid language code.

countryCode

Returns hotels in a specific country. If not provided, the feed will not be filtered by country.

lastUpdated

Return properties that have been updated since the given date. Must be a valid ISO Date in the format yyyy-MM-dd.

propertyTypeIds

Return properties that have the given property type IDs.

Responses
200 - application/x-ndjson
{
    "hotelId": 1,
    "hotelName": "Hotel Torbräu",
    "propertyTypeId": 0,
    "location": {
        "address": "Tal 41",
        "postalCode": "80331",
        "coordinates": {
            "latitude": 48.135433,
            "longitude": 11.581553
        },
        "city": {
            "placeId": 34192,
            "name": "Munich",
            "placeTypeId": 5
        },
        "state": {
            "placeId": 36159,
            "name": "Bavaria"
        },
        "country": {
            "placeId": 35343,
            "name": "Germany",
            "countryCode": "DE",
            "currencyCode": "EUR"
        }
    },
    "starRating": 4,
    "minRate": 163.05,
    "popularity": 17857,
    "overallRating": 8.9,
    "numberOfReviews": 3236,
    "themes": [
        1,
        2
    ],
    "facilities": [
        {
            "tag": "media_entertain",
            "featureIds": [
                85,
                537,
                645,
                675,
                747
            ]
        }
    ],
    "checkIn": 1500,
    "checkOut": 1100,
    "chainId": 80,
    "iataCode": "MUC",
    "dateCreated": "2008-01-15",
    "lastUpdated": "2024-02-07T17:38:20Z",
    "images": [
        {
            "imageId": 2066455622,
            "source": "Expedia",
            "url": "https://content.r9cdn.net/himg/da/83/ae/expediav2-1-3c76a2-996459.jpg",
            "width": 1000,
            "height": 674,
            "tag": 17
        }
    ]
}
400 - application/json

Validation error in request.

403 - application/json

Request is not allowed.

404 - application/json

Resource was not found.

429 - application/json

Rate limit exceeded.

Place feed

Get static place feed data

GET
/api/4.0/placefeed?apiKey=<string>&lastId=<number>&pageSize=<number>&languageCode=<LanguageCode>&countryCode=<CountryCode>
Query parameterDescription
apiKey
Required

The API key assigned to the affiliate.

lastId
Required

The value of the last place ID that was received. Must be equal or greater than zero.

pageSize
Required

The page size for the feed.

languageCode
Default: en

The language code for the feed. Must be a valid language code.

countryCode

Returns hotels in a specific country. If not provided, the feed will not be filtered by country.

Responses
200 - application/x-ndjson
{
    "placeId": 58075,
    "placeName": "Boston",
    "cityPlaceId": 58075,
    "countryCode": "US",
    "countryName": "United States",
    "latitude": 42.36090349,
    "longitude": -71.05889024,
    "hierarchy": [
        63136,
        63129,
        66130
    ],
    "placeTypeId": 5,
    "numHotels": 2105,
    "iataCode": "BOS"
}
400 - application/json

Validation error in request.

403 - application/json

Request is not allowed.

404 - application/json

Resource was not found.

429 - application/json

Rate limit exceeded.

Constants mapping

Get constants mapping data to be used in conjunction with /hotelfeed or /placefeed.

GET
/api/4.0/constants-mapping?apiKey=<string>&types=<ConstantsMappingType>&languageCode=<LanguageCode>
Query parameterDescription
apiKey
Required

The API key assigned to the affiliate.

types
Required

Comma-separated list of types to include in the response.

languageCode
Default: en

The language code for the feed. Must be a valid language code.

Responses
200 - application/x-ndjson
{
    "facility": {
        "features": [
            {
                "id": 2,
                "name": "Computer use available",
                "type": "room"
            },
            {
                "id": 3,
                "name": "Conference facilities",
                "type": "hotel"
            }
        ],
        "tags": [
            {
                "id": "access_suit",
                "name": "Accessibility and suitability"
            },
            {
                "id": "bathroom",
                "name": "Bathroom"
            }
        ]
    },
    "theme": [
        {
            "id": 1,
            "name": "Adventure"
        }
    ],
    "placeType": [
        {
            "id": 2,
            "name": "Airport"
        }
    ],
    "propertyType": [
        {
            "id": 0,
            "name": "Hotel"
        }
    ],
    "chain": [
        {
            "id": 2,
            "name": "Radisson Hospitality Worldwide",
            "parentId": 366
        }
    ],
    "imageTag": [
        {
            "id": 51,
            "name": "Decor"
        }
    ]
}
400 - application/json

Validation error in request.

403 - application/json

Request is not allowed.

404 - application/json

Resource was not found.

429 - application/json

Rate limit exceeded.

Types:

HotelFeedResponse

Properties
hotelId
Required

Unique identifier for the hotel.

hotelName
Required

Name of the hotel.

propertyTypeId
Required

Type of the property. To be used in conjunction with the constants mapping endpoint.

location
Required

Location object with fields pertaining to the location of the hotel.

starRating

Star rating of the hotel. 5-star scale. Additionally, this will always be 0 for vacation rentals.

minRate

Minimum rate of the hotel in USD.

popularity

DEPRECATED: Will be removed on 2026-02-10. No longer updated. Popularity score of the hotel. Lower number means more popular.

overallRating
Required

Overall customer rating of the hotel. 10-point scale.

numberOfReviews
Required

Number of reviews for the hotel.

themes

List of theme identifiers. To be used in conjunction with themes in the /constants-mapping result.

facilities

List of facilities grouped by tag.

checkIn

Check-in time for the hotel in hhmm format.

checkOut

Check-out time for the hotel in hhmm format.

chainId

Unique identifier for the hotel chain to be used in conjunction with chains in /constants-mapping result.

iataCode

Nearby IATA code of the hotel where applicable.

dateCreated

ISO date yyyy-MM-dd of the date the hotel was created, if it exists.

lastUpdated
Required

Last updated timestamp of the hotel (in UTC).

images

List of images for the hotel sorted by an internal ranking system. The first image can be used as the main image for any given property.

Example:
{
    "hotelId": 1,
    "hotelName": "Hotel Torbräu",
    "propertyTypeId": 0,
    "location": {
        "address": "Tal 41",
        "postalCode": "80331",
        "coordinates": {
            "latitude": 48.135433,
            "longitude": 11.581553
        },
        "city": {
            "placeId": 34192,
            "name": "Munich",
            "placeTypeId": 5
        },
        "state": {
            "placeId": 36159,
            "name": "Bavaria"
        },
        "country": {
            "placeId": 35343,
            "name": "Germany",
            "countryCode": "DE",
            "currencyCode": "EUR"
        }
    },
    "starRating": 4,
    "minRate": 163.05,
    "popularity": 17857,
    "overallRating": 8.9,
    "numberOfReviews": 3236,
    "themes": [
        1,
        2
    ],
    "facilities": [
        {
            "tag": "media_entertain",
            "featureIds": [
                85,
                537,
                645,
                675,
                747
            ]
        }
    ],
    "checkIn": 1500,
    "checkOut": 1100,
    "chainId": 80,
    "iataCode": "MUC",
    "dateCreated": "2008-01-15",
    "lastUpdated": "2024-02-07T17:38:20Z",
    "images": [
        {
            "imageId": 2066455622,
            "source": "Expedia",
            "url": "https://content.r9cdn.net/himg/da/83/ae/expediav2-1-3c76a2-996459.jpg",
            "width": 1000,
            "height": 674,
            "tag": 17
        }
    ]
}

HotelLocationResponse

Location object with fields pertaining to the location of the hotel.

Properties
address

Address of the hotel.

postalCode

Postal of the hotel.

coordinates
Required

Coordinates of the hotel.

city
Required

City of the hotel.

state

State of the hotel if applicable.

country
Required

Country of the hotel.

Example:
{
    "address": "Tal 41",
    "postalCode": "80331",
    "coordinates": {
        "latitude": 48.135433,
        "longitude": 11.581553
    },
    "city": {
        "placeId": 34192,
        "name": "Munich",
        "placeTypeId": 5
    },
    "state": {
        "placeId": 36159,
        "name": "Bavaria"
    },
    "country": {
        "placeId": 35343,
        "name": "Germany",
        "countryCode": "DE",
        "currencyCode": "EUR"
    }
}

HotelCoordinatesResponse

Coordinates object.

Properties
latitude
Required

Latitude coordinate of the hotel.

longitude
Required

Longitude coordinate of the hotel.

Example:
{
    "latitude": 48.135433,
    "longitude": 11.581553
}

HotelCityResponse

City object.

Properties
placeId
Required

Unique identifier for the place.

name
Required

Name of the place.

placeTypeId
Required

Unique identifier for the type of place. To be used in conjunction with the placeType from /constants-mapping result.

Example:
{
    "placeId": 34192,
    "name": "Munich",
    "placeTypeId": 5
}

HotelStateResponse

State object.

Properties
placeId
Required

Unique identifier for the place.

name
Required

Name of the place.

Example:
{
    "placeId": 36159,
    "name": "Bavaria"
}

HotelCountryResponse

Country object.

Properties
placeId
Required

The unique identifier for the place.

name
Required

The name of the place.

countryCode
Required

Country code of the country.

currencyCode

Currency of the country.

Example:
{
    "placeId": 35343,
    "name": "Germany",
    "countryCode": "DE",
    "currencyCode": "EUR"
}

HotelFeatureTagGroupResponse

Facility grouped by tag.

Properties
tag
Required

Unique identifier for the image. To be used in conjunction with the tags in the facility /constants-mapping result.

featureIds
Required

List of feature IDs in the group, sorted by internal ranking of their usefulness. To be used in conjunction with the features in the /constants mapping result.

Example:
{
    "tag": "media_entertain",
    "featureIds": [
        85,
        537,
        645,
        675,
        747
    ]
}

HotelImageResponse

Hotel image object.

Properties
imageId
Required

Unique identifier for the image.

source
Required

Source of the image.

url
Required

URL of the image.

width
Required

Width of the image in pixels.

height
Required

Height of the image in pixels.

tag

Tag identifier for the image. To be used in conjunction with the imageTag in the /constants-mapping result.

Example:
{
    "imageId": 2066455622,
    "source": "Expedia",
    "url": "https://content.r9cdn.net/himg/da/83/ae/expediav2-1-3c76a2-996459.jpg",
    "width": 1000,
    "height": 674,
    "tag": 17
}

PlaceFeedResponse

Hotel image object.

Properties
placeId
Required

Unique identifier for the place.

placeName
Required

The name of the place.

cityPlaceId

ID of the city place if there is one. If this place is a city, it will be the same as placeId.

countryCode

The country code.

countryName

The country name.

latitude
Required

The latitude of the place.

longitude
Required

The longitude of the place.

hierarchy
Required

The hierarchy of the place. Read first to last as “smallest” to “largest”. Not nullable, but can be empty for top-level places (continents).

placeTypeId
Required

Unique identifier for the type of place. To be used in conjunction with the placeType from /constants-mapping result.

numHotels

The number of hotels in the place. Null for continents as we do not have reasonable estimates for them.

iataCode

The IATA code of the place where applicable.

Example:
{
    "placeId": 58075,
    "placeName": "Boston",
    "cityPlaceId": 58075,
    "countryCode": "US",
    "countryName": "United States",
    "latitude": 42.36090349,
    "longitude": -71.05889024,
    "hierarchy": [
        63136,
        63129,
        66130
    ],
    "placeTypeId": 5,
    "numHotels": 2105,
    "iataCode": "BOS"
}

ConstantsMappingFeedResponse

Constants mapping feed.

Properties
facility

Features and tags of hotels.

theme

List of all hotel themes.

placeType

List of all place types.

propertyType

List of all property types.

chain

List of all hotel chains.

imageTag

List of all image tags.

Example:
{
    "facility": {
        "features": [
            {
                "id": 2,
                "name": "Computer use available",
                "type": "room"
            },
            {
                "id": 3,
                "name": "Conference facilities",
                "type": "hotel"
            }
        ],
        "tags": [
            {
                "id": "access_suit",
                "name": "Accessibility and suitability"
            },
            {
                "id": "bathroom",
                "name": "Bathroom"
            }
        ]
    },
    "theme": [
        {
            "id": 1,
            "name": "Adventure"
        }
    ],
    "placeType": [
        {
            "id": 2,
            "name": "Airport"
        }
    ],
    "propertyType": [
        {
            "id": 0,
            "name": "Hotel"
        }
    ],
    "chain": [
        {
            "id": 2,
            "name": "Radisson Hospitality Worldwide",
            "parentId": 366
        }
    ],
    "imageTag": [
        {
            "id": 51,
            "name": "Decor"
        }
    ]
}

ConstantsMappingTypeenum

Available types

  • facility - Returns features and tags of hotels. To be used with the hotel feed's facilities field.
  • theme - Returns a list of all hotel themes (e.g., Eco-friendly, Romantic, Beach, etc.) in the specified language and their corresponding IDs.
  • placeType - Returns a list of all place types (e.g., city, airport, island, etc.) in the specified language and their corresponding IDs.
  • property - Returns a list of all property types (e.g., hotel, resort, guest house, etc.) in the specified language and their corresponding IDs.
  • chain - Returns a list of all hotel chains (e.g., Novotel, Holiday Inn Hotels & Resorts, etc.) in the specified language and their corresponding IDs.
  • imageTag - Returns imageTag which is the type of the image. To be used with HotelImageResponse[] tag field.

facility | theme | placeType | property | chain | imageTag

ConstantsMappingFacilityResponse

Features and tags of hotels.

Properties
features
Required

Facility features of hotels.

tags
Required

Facility tags of hotels.

ConstantsMappingFacilityFeatureResponse

Facility feature object.

Properties
id
Required

Id of the feature.

name
Required

Name of the feature.

type
Required
enum: hotel | room | activity

Type of the feature - hotel, room or activity amenity.

Example:
{
    "id": 2,
    "name": "Computer use available",
    "type": "hotel"
}

ConstantsMappingFacilityTagResponse

Facility tag object.

Properties
id
Required

Id of the tag.

name
Required

Name of the tag.

Example:
{
    "id": "access_suit",
    "name": "Accessibility and suitability"
}

ConstantsMappingThemeResponse

Theme object

Properties
id
Required

Id of the theme.

name
Required

Name of the theme.

Example:
{
    "id": 1,
    "name": "Adventure"
}

ConstantsMappingPlaceTypeResponse

Place type object.

Properties
id
Required

Id of the place type.

name
Required

Name of the place type.

Example:
{
    "id": 2,
    "name": "Airport"
}

ConstantsMappingPropertyResponse

Property type object.

Properties
id
Required

Id of the property type.

name
Required

Name of the property type.

Example:
{
    "id": 0,
    "name": "Hotel"
}

ConstantsMappingChainResponse

Chain type object.

Properties
id
Required

Id of the chain.

name
Required

Name of the chain.

parentId

Parent chain id where applicable.

Example:
{
    "id": 2,
    "name": "Radisson Hospitality Worldwide",
    "parentId": 366
}

ConstantsMappingImageTagResponse

Image tag object.

Properties
id
Required

Id of the image tag.

name
Required

Name of the image tag.

Example:
{
    "id": 51,
    "name": "Decor"
}

LanguageCode

ISO 639 code identifier for language. Note: Chinese requires a regional variant (e.g., zh_TW, zh_HK, zh_SG).

Pattern: ^[a-z]{2}_[A-Z]{2}$

Example:
zh_TW
de

AirportCode

An IATA (International Air Transport Association) code that identifies an airport (3 characters code).

Pattern: ^.{3}$

Example:
CPH

CurrencyCode

ISO 4217 code identifier for currency. Currency codes are composed of a country's two-character Internet country code plus a third character denoting the currency unit.

Pattern: [A-Z]{3}

Example:
USD

CountryCode

ISO 3166-1 alpha-2 code identifier for country. Country codes are composed of a country's two-character Internet country code.

Pattern: [A-Z]{2}

Example:
US

The KAYAK Affiliate Network lets you link from any brand you likeEnhance and monetize your travel content with flights, hotels, cars and more!

KAYAK logo
HotelsCombined logo
Momondo logo
Cheapflights logo
Cookie preferences