Retrieve a listing

Updated:

GET/property/{connection_id}/listing/{id}

Retrieves a single PropertyListing by its id. Obtain id values from the corresponding list endpoint. Use fields to return only the fields you need.

Parameters

fieldsstring array
Fields to return
rawstring
Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar
connection_idstring required
ID of the connection
idstring required
ID of the Listing

Returns

Response fieldTypeRequiredDescription
idstringNounique identifier for the listing
created_atstring (date-time)Nowhen the listing was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
updated_atstring (date-time)Nowhen the listing was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
namestringNothe public listing name
internal_namestringNothe internal (host-facing) listing name
descriptionstringNofree-text description of the listing
typeenumNothe normalized property type Values: APARTMENT, HOUSE, CONDO, STUDIO, VILLA, CABIN, ROOM, HOTEL, BED_AND_BREAKFAST, OTHER
is_activebooleanNowhether the listing is active
image_urlsstring[]NoURLs of the listing pictures
addressobjectNopostal address of the listing
address.address1stringNofirst line of the street address
address.address2stringNosecond line of the street address
address.citystringNocity or locality
address.regionstringNostate, province or regional area
address.region_codestringNostate, province or regional area code
address.postal_codestringNopostal or ZIP code
address.countrystringNocountry name
address.country_codestringNoISO 3166-1 alpha-2 country code
latitudenumberNolatitude of the listing
longitudenumberNolongitude of the listing
timezonestringNoIANA time zone of the listing
currencystringNoISO 4217 currency code
start_price_amountnumberNothe lowest nightly price
cleaning_fee_amountnumberNothe cleaning fee
max_occupancynumberNomaximum number of guests
bedroomsnumberNonumber of bedrooms
bedsnumberNonumber of beds
bathroomsnumberNonumber of bathrooms
min_nightsnumberNominimum length of stay, in nights
max_nightsnumberNomaximum length of stay, in nights
check_in_start_timestringNoearliest check-in time (HH:mm, local time)
check_in_end_timestringNolatest check-in time (HH:mm, local time)
check_out_timestringNocheck-out time (HH:mm, local time)
amenitiesstring[]Nothe amenity names
house_rulesstringNothe house rules
cancellation_policystringNothe cancellation policy
ratingnumberNothe average guest rating
review_countnumberNothe number of guest reviews
channelsPropertyChannel[]Nodistribution channels this listing is published on
channels[].namestringNothe distribution channel name, eg. Airbnb or Booking.com
channels[].web_urlstringNothe listing URL on that channel
unittype_idsstring[]NoProperty Unittypes (room types) of this listing
owner_user_idsstring[]NoHR Employees who own this listing
web_urlstringNothe listing URL
metadataPropertyMetadata[]Nocustom field values
metadata[].idstringNothe custom field identifier
metadata[].slugstringNothe custom field key
metadata[].valueobjectNothe custom field value
metadata[].namespacestringNothe scope or origin of the custom field
metadata[].formatenumNothe data type of the value Values: TEXT, NUMBER, DATE, BOOLEAN, FILE, TEXTAREA, SINGLE_SELECT, MULTIPLE_SELECT, MEASUREMENT, PRICE, YES_NO, CURRENCY, URL
metadata[].extra_dataobjectNoadditional data about the custom field

Errors

Errors return the HTTP status code and a JSON body with statusCode, error (the short label) and message (a human-readable detail).

{
  "statusCode": 429,
  "error": "Too Many Requests",
  "message": "Too many requests to unified.to API; max requests per minute: N"
}
StatusErrorMeaning
400Bad RequestThe request was malformed or failed validation.
401UnauthorizedThe connection is likely broken; re-authorize it.
403ForbiddenThe connection is missing permissions or scopes.
404Not FoundThe requested resource does not exist.
429Too Many RequestsRate limit exceeded (see the two sources below).
500Internal Server ErrorAn unexpected error occurred.
501Not ImplementedNot supported by this integration.

Errors from the underlying integration pass through: the integration's status comes back as ours (429, 401, 403, 404 or 5xx), usually with its message. When the integration's error body is unclear, Unified extracts what it can and returns a clearer message.

429 Too Many Requests

A 429 has two possible sources:

  • The integration's own rate limit, passed through.
  • Unified's workspace limit: a rolling 60 seconds, set by plan, with the message Too many requests to unified.to API; max requests per minute: N.
const options = {
  method: 'GET',
  url: 'https://api.unified.to/property/5de520f96e439b002043d8dc/listing/5de520f96e439b002043d8d8',
  headers: {
    authorization: 'bearer .....'
  },
  params: {
    fields: '',
    raw: '',
  }
};

const results = await axios.request(options);
Are we missing anything? Let us know
Was this page helpful?