This page will help you get started with Hospitable Connect
Hospitable Connect provides a seamless integration with your application and a number of OTAs.
Obtaining a Bearer token
In order to make use of Hospitable Connect you must have a valid bearer token. Bearer tokens are provided to qualifying partners who share the following information:
- The name of your product, as you'd like it displayed to your customers.
- A URL pointing to a hosted image of your logo in square format, which will be visible in the end-user connection flow.
- A webhook URL, where your webhooks will be sent.
To request access, please complete this form.
Changes
In order to better meet the needs of our partners, hosts, and guests, we are constantly adding to and enhancing the numerous services and capabilities available to you through the Hospitable Connect API. We will always let you know about these updates in advance.
Rate Limits
Our endpoints are rate-limited to 60 requests/minute. In case of too many requests, you will receive a 429 Too Many Requests response.
Fetching more data in a single request
Our API offers flexibility with regards to what payload you can fetch in each endpoint, including nested data.
For example you may want to make a few fast, small requests to get only subset of the JSON (a simple list of reservations in a mobile app would be a perfect example):
GET /customers/{customer}/reservations?_select=id,status,listing.id,listing.public_name,listing.picture
Alternatively, you may want to optimise for single, potentially slower, large request with more and nested data (that is usually direction we take in backend-backend calls):
# full dataset for reservation.listing.channel
GET /customers/{customer}/reservations?
_select=id,platform,platform_id,booking_date,arrival_date,departure_date,status,guests,guest,listing,listing.id,listing.platform,listing.platform_id,listing.public_name,listing.private_name,listing.picture,listing.address,listing.bathrooms,listing.bedrooms,listing.available,listing.pricing,listing.availability,listing.platform_settings,listing.channel,listing.channel.id,listing.channel.platform,listing.channel.platform_id,listing.channel.name,listing.channel.picture,listing.channel.location,listing.channel.description,listing.channel.first_connected_at
Example of reservation.listing.channel
nesting:
# subset of data for reservation.listing.channel
GET /customers/{customer}/reservations?
_select=id,platform_id,listing.id,listing.platform_id,listing.channel.id,listing.public_name,listing.picture
Always select what you need
We do not support select all here (
listing.*
will not work). This gives us much better visibility and helps improve the API in the long run
Check the next section of the documentation on filters, sorting, select & includes to learn more.