Search by Location API Reference
POST |
search/properties/search Use this base path if you have not yet received or not migrated to the new credentials from Travelport:
Use this base path after you have migrated to the new credentials from Travelport (using .net instead of .com):
|
Related Content: JSON Hotel APIs Guide, Hotel Search Guide, Search Pagination API Reference
The Search by Location request searches for hotels by any one of these:
-
geographic coordinates
-
address
-
IATA airport code
-
IATA city
Although you can search by various criteria, all responses return results in the same format. The response returns up to 100 properties, or all available properties if less than 100. If more than 100 properties matching the search criteria are available, you can request the next page of results with the Search Pagination API. See the JSON Hotel APIs Guide for more details.
Request
Query Parameters
None.
Request Body
For additional examples by airport, coordinate, and address, see more examples below.
PropertiesQuerySearch*
Top level object for request.
Includes RoomStayCandidate, SearchBy, and RateCandidates objects.
CheckInDate*: String. Check-in date in YYYY-MM-DD format.
CheckOutDate*: String. Check-out date in YYYY-MM-DD format.
RequestedCurrency: String. Send a currency code to request conversion rate information for converting to that currency from the hotel location's currency.
Rates are always returned in the currency of the hotel's location. You can use requestedCurrency to send a currency to request conversion rate information. The response then returns the CurrencyRateConversion object, which provides the conversion rate of the specified currency that can be used to calculate, independently of the API, the conversion of the rates returned in the response.ImageSize: String. A size for the image to return, allowing you to set image quality. Supported values:
- ExtraLarge
- Large
- Medium
- Small
- Thumbnail
returnAllImagesInd: String. A size for the image to return, allowing you to set image quality. Supported values:
- ExtraLarge
- Large
- Medium
- Small
- Thumbnail
returnAllImagesInd: Boolean:
true: Returns all property images of the requested ImageSize.
false: Returns the best single image. Default if not sent.
returnOnlyAvailablePropertiesInd: Boolean (true/false). Used to request a list of properties with current availability for the dates requested. Default is false, meaning some properties returned in the list may have no availability. When the value is true, only properties with availability will be returned in the list and fewer than 25 properties per page may be returned. In some cases, zero properties will be returned if no properties in that group of 25 are available.
AggregatorList: String. Enum. Restrict the search to a specific aggregator/s. Supported values and their meanings are:
TVPT: Travelport
BKNG: Booking.com
You must be authorized for any aggregator selected.HotelName: String. A string of characters used to search for properties with a matching hotel name. The string must match as a substring (case insensitive) in a property's name for the property to be returned. Must be at least three characters long. Supported characters are alphanumeric, comma, period, apostrophe, hyphen, semicolon, colon, and space.
ChainCodes: Array of one to six hotel chain codes to include in the search results. Each chain code must be two alpha characters.
The ChainCodes field now supports the entry of brand codes, which are expanded internally by Travelport into the associated chain codes for that brand.
RoomStayCandidate*
Top level object for information associated with room searches.
Includes GuestCounts object.
GuestCounts*
Top level object for guest counts.
Includes GuestCount object.
GuestCount*
Guest count and age(s).
count*: Number. Number of travelers. Must be a numeric value between 1 and 9.
age: Age of traveler. Required only when request includes a child in room.
ageQualifyingCode: Required only if traveler age is relevant to a code.
SearchBy*
Top level object for the types of location searches.
Includes SearchRadius object.
type: String.
SearchByAirport: Send when using SearchAirport per below.
SearchByCity: Send when using SearchCity per below.
SearchByGeoLocation: Send when using Latitude and Longitude per below.
SearchByAddress: Send when using SearchAddress per below.
SearchRadius*
Common object for all four types of location search.
value*: Number. The radius around the specified location to search. Must be a numeric value between 1 and 25. The unit of measure is specified in unitOfDistance.
unitOfDistance: String. Optional object to request either miles or kilometers for the search radius from the specified location. If unitOfDistance is not specified, the search defaults to miles for properties in the United States, Myanmar, and Liberia. The search defaults to kilometers in all other countries.
Supported values:
- Miles: search in miles
- Kilometers: search in kilometers
SearchAirport* for search by airport code
An airport IATA code. Must be three alpha characters.
SearchCity* for search by city code
A city IATA code. Must be three alpha characters. If no matching city code is found, airport search is automatically invoked.
Latitude* for search by latitude and longitude
Number. Numeric value representing latitude of search center point in degrees and decimal minutes (e.g. 39.7392).
Longitude* for search by latitude and longitude
Number. Numeric value representing longitude of search center point in degrees and decimal minutes (e.g. -104.9903).
SearchAddress* for search by address
Search by city, state/province, and country.
Includes StateProv object.
City* for search by address: String. Full city name.
Country* for search by address: String. Two character country code.
StateProv* for search by address if Country is US or CA
String. State or province object.
value* for search by address if Country is US or CA : String. Two character state or province code.
RateCandidates
An array of one to eight negotiated rate codes and / or one frequent guest number.
Includes RateCandidate object.
RateCandidate
Rate plan details and/or frequent guest number, if requesting.
Includes CustomerLoyalty object.
rateCode: String. Negotiated rate code.
masterRateCode: String. An agency-created rate code that can be translated into up to 12 negotiated rate codes.
rateCategory: For a rate category, send one or up to eight rate categories to search for, such as Weekend or Government. If the supplier has rates available for the requested category, the response contains those rates and indicates them as such. Note that some properties do not return these rates unless explicitly requested. Categories are spelled for readability in this document. Refer to the OAS (aka Swagger) files provided by Travelport for exact spelling. Travelport translates the category of “All” into the category set of Promotional, Package, Senior Citizen, Family Plan, Weekend, Association, Corporate, Government.
Supported values are as follows:
All
Association
Club
Convention
Corporate
Family Plan
Government
Military
Multi-level/Negotiated/Secure
Package
Promotional
Rack General
Senior Citizen
Tour
Industry/Travel Agent Rate
Weekend
Multi-day Package
Weekly
Monthly
CustomerLoyalty
String. One frequent guest number.
supplier : String. Two character hotel supplier code or brand code of the loyalty program.
value : String. Number on loyalty card.
Example search by location with city code
{
"PropertiesQuerySearch": {
"CheckInDate": "2025-12-11",
"CheckOutDate": "2025-12-12",
"AggregatorList": [
"TVPT"
],
"RoomStayCandidate": [
{
"@type": "RoomStayCandidate",
"GuestCounts": {
"@type": "GuestCounts",
"GuestCount": [
{
"@type": "GuestCount",
"count": 1,
"ageQualifyingCode": "10"
}
]
}
}
],
"SearchBy": {
"@type": "SearchByCity",
"SearchRadius": {
"value": 1,
"unitOfDistance": "Miles"
},
"SearchCity": "DEN"
}
}
}
Response
All hotel search responses use the same format, regardless of the search criteria sent. For additional examples see the Search by ID API Reference.
The following example response has been edited for readability to show only one instance of PropertyInfo. Depending on availability, most responses return many more instances, up to 100.
PropertiesResponse
Top level object for response.
Includes Properties and CurrencyRateConversion objects.
Properties
Top level object that includes pagination information for properties list.
Properties:
totalProperties: The total number of properties returned in the search.
propertiesPerPage: The number of properties returned in the current page (max 25 per page).
numberOfPages: The total number of pages that can returned in the search.
Includes Identifier and PropertyInfo objects.
Identifier
A key that can be used to retrieve additional pages of properties.
Properties:
value: An identifier to be sent in any subsequent Pagination request.
PropertyInfo
Each instance of PropertyInfo provides all information returned about one property
Properties:
availability: Indicates whether the property has rooms available for the requested dates; possible values are:
Open: Property has rooms/rates available that match search parameters.
Other: Property has rooms/rates available that do not match search parameters.
Close: Property has no rooms available.
id: Property identifier composed of the chain and property codes.
featuredPropertyInd: Indicates if a property has been promoted to the top of the Properties list through the featured properties program. Featured properties always have this indicator and are sorted at the top of the list when searching by IATA city/airport codes.
Includes Identifier, Distance, Property, and LowestAvailableRate objects.
Identifier
Defines which supplier system returned the lowest available rate for that property.
Properties:
authority: Indicates which supplier returned the lowest available rate for that property. Supported values are:
TVPT: Travelport
BKNG: Booking.com
Distance
The distance from the specified search location. Properties:
unitofDistance: The unit of distance for the search radius around the specified location. Possible values are Miles and Kilometers. If unitOfDistance is not specified in the request, the search defaults to searching in miles for properties in the United States, Myanmar, and Liberia. The search defaults to kilometers in all other countries.
value: The distance from the specified search location.
Property
Properties:
name: Text string for the name of the property.
id: Property ID composed of the chain and property codes.
Includes PropertyKey, Rating, GeoLocation, Image, and Address objects.
PropertyKey
Property chain code and property code.
Properties:
chainCode: Two-character code for the chain.
propertyCode: Code for the property within the hotel chain.
Rating
A hotel rating from NTM. Properties:
provider: Rating source.
value: Rating value.
GeoLocation
Geographic coordinates of the property.
Properties:
latitude: The numeric latitude of the property.
longitude: The numeric longitude of the property.
Image
A link to an image for the property.
Properties:
dimensionCategory : Image size category. Possible values are:
S: Small
M: Medium
T: Thumbnail
L: Large
E: ExtraLarge
width: Image width in pixels.
height: Image height in pixels.
caption: Image caption up to 128 characters.
pictureCategory: The image category number. Possible values are:
1: exterior
2: lobby
3: pool
4: restaurant
5: health club
6: guestroom
7: suite
8: conference room
9: ballroom
10: golf
11: beach
12: spa
13: bar
14: recreational
21: room amenity
22: property amenity
23: business center
value: A link to an image for the property.
Address
The property address information.
Properties:
AddressLine: An array of strings for street address. Each element of the array represents an address line.
City: The full city name of the property address.
PostalCode: The postal code or zip code of the property address.
Includes StateProv and Country objects.
StateProv
Properties:
value: The state or providence code of the property address.
Country
Properties:
name: The full name of the property address's country.
value: The country code of the property address
PropertyAmenity
An array of amenities such as type of breakfast, spa, and pool.
Properties:
description: Type of amenity.
code: OTA code for amenity
LowestAvailableRate
The hotel's lowest available rate for the property for the requested dates.
Properties:
code: Code for the currency the rate is returned in.
value: Amount of lowest available rate.
MaximumAvailableRate
The hotel's maximum available rate for the property for the requested dates.
Properties:
code: Code for the currency in which the rate is returned.
value: Amount of maximum available rate.
authority: Indicates which supplier returned the maximum available rate for that property. Supported values are:
TVPT: Travelport
EXPE: Expedia
BKNG: Booking.com
CurrencyRateConversion is returned only if requestedCurrency was sent in the request.
By default the Hotel APIs return all rates in the currency of the hotel's location. If requestedCurrency was sent in the request, the response returns currency conversion information per below.
Includes SourceCurrency, TargetCurrency, and ConversionRate objects.
SourceCurrency
The currency code based on the location of the hotel and used for all rates in the response.
Properties:
decimalPlace: Number of decimal places for the currency value.
value: Currency code.
TargetCurrency
Currency code sent in the request in requestedCurrency.
Properties:
decimalPlace: Number of decimal places
value: Currency code.
ConversionRate
Current conversion rate of the user-specified currency (the TargetCurrency value).
Properties:
value: Conversion rate of SourceCurrency value to TargetCurrency value. This value can be used to calculate, independently of the API, conversion for the rates in the response.
Example
{
"PropertiesResponse": {
"Properties": {
"@type": "Properties",
"Identifier": {
"value": "e0690cc0-5f97-4e01-a90c-c05f978e01da"
},
"totalProperties": 51,
"propertiesPerPage": 51,
"numberOfPages": 1,
"PropertyInfo": [
{
"@type": "PropertyInfo",
"id": "DT-35429",
"Identifier": {
"authority": "TVPT"
},
"availability": "Open",
"Distance": {
"value": 0.23,
"unitOfDistance": "Miles"
},
"Property": {
"@type": "PropertyDetail",
"id": "DT-35429",
"PropertyKey": {
"@type": "PropertyKey",
"chainCode": "DT",
"propertyCode": "35429"
},
"name": "THE CURTIS DENVER A DOUBLETREE BY",
"Rating": [
{
"value": 3,
"provider": "AAA"
},
{
"value": 3,
"provider": "NTM"
},
{
"value": 4,
"provider": "GIATA"
}
],
"GeoLocation": {
"latitude": 39.745722,
"longitude": -104.996919
},
"Image": [
{
"value": "https://media.iceportal.com/59424/photos/73564156_M.jpg",
"dimensionCategory": "M",
"caption": "On-Site,Outdoor/Exterior,Exterior View of Building",
"pictureCategory": 1
}
],
"Address": {
"@type": "Address",
"AddressLine": [
"1405 Curtis Street"
],
"City": "DENVER",
"StateProv": {
"value": "CO"
},
"Country": {
"value": "US"
},
"PostalCode": "80202"
},
"Telephone": [
"1-303-5710300"
],
"PropertyAmenity": [
{
"@type": "PropertyAmenity",
"description": "Complimentary breakfast",
"code": "227",
"category": "Breakfast"
},
{
"@type": "PropertyAmenity",
"description": "Free Parking",
"code": "42",
"category": "Free Parking"
}
]
},
"LowestAvailableRate": {
"value": 175.42,
"code": "USD"
},
"MaximumAvailableRate": {
"value": 430.92,
"code": "USD"
}
}
]
},
"traceId": "b39344c0-60fa-4bf4-8be8-d4f69fd27e03",
"Result": {
"@type": "Result",
"Warning": [
{
"@type": "Warning",
"StatusCode": 99,
"Message": "Images unavailable for 1 properties."
}
]
}
}
}
Additional Examples
The examples below show searches by airport, coordinates, and address.

{"PropertiesQuerySearch": {
"CheckInDate": "2025-12-11",
"CheckOutDate": "2025-12-12",
"AggregatorList": [
"TVPT"
],
"RoomStayCandidate": [
{
"@type": "RoomStayCandidate",
"GuestCounts": {
"@type": "GuestCounts",
"GuestCount": [
{
"@type": "GuestCount",
"count": 1,
"ageQualifyingCode": "10"
}
]
}
}
],
"SearchBy": {
"@type": "SearchByAirport",
"SearchRadius": {
"value": 2,
"unitOfDistance": "Miles"
},
"SearchAirport": "GRR"
}
}
}

{"PropertiesQuerySearch": {
"CheckInDate": "2025-10-31",
"CheckOutDate": "2025-11-01",
"AggregatorList": [
"TVPT"
],
"RoomStayCandidate": [
{
"@type": "RoomStayCandidate",
"GuestCounts": {
"@type": "GuestCounts",
"GuestCount": [
{
"@type": "GuestCount",
"count": 1
}
]
}
}
],
"SearchBy": {
"@type": "SearchByGeoLocation",
"SearchRadius": {
"value": "20",
"unitOfDistance": "Miles"
},
"Latitude": "48.8589507",
"Longitude": "2.2770198"
}
}
}

{"PropertiesQuerySearch": {
"CheckInDate": "2025-12-01",
"CheckOutDate": "2025-12-02",
"AggregatorList": [
"TVPT"
],
"RoomStayCandidate": [
{
"@type": "RoomStayCandidate",
"GuestCounts": {
"@type": "GuestCounts",
"GuestCount": [
{
"@type": "GuestCount",
"count": 1
}
]
}
}
],
"SearchBy": {
"@type": "SearchByAddress",
"SearchRadius": {
"value": 1,
"unitOfDistance": "Miles"
},
"SearchAddress": {
"@type": "SearchAddress",
"City": "Denver",
"StateProv": {
"value": "CO"
},
"Country": "US"
}
}
}
}