The Hospitable Public API v2 allows you to manage vacation rental properties, reservations, calendars, guest messaging, and reviews programmatically. The API follows REST architectural standards and uses OAuth 2.0 for authentication.
Base URL: https://public.api.hospitable.com/v2
The API uses Bearer token authentication. You need to generate a Personal Access Token (PAT) from your Hospitable account.
- Log in to my.hospitable.com
- Click Apps in the sidebar
- Choose API access
- In the Access tokens tab, click + Add new
- Name your access token and select permissions:
- Read: View property, reservation, and calendar information
- Write: Modify calendar pricing and availability
Include the token in the Authorization header of all requests:
Authorization: Bearer YOUR_ACCESS_TOKEN
Properties represent your vacation rental listings.
GET /properties- List all propertiesGET /properties/{uuid}- Get a specific propertyGET /properties/search- Search properties with availabilityGET /properties/{uuid}/calendar- Get property calendarPUT /properties/{uuid}/calendar- Update calendar pricing/availability
id- Unique property identifiername- Internal property namepublic_name- Public-facing property nameaddress- Full address details with coordinatescapacity- Guest capacity and room detailslistings- Connected platform listings (Airbnb, Vrbo, etc.)calendar_restricted- Whether calendar can be updated via API
Reservations represent bookings across all connected platforms.
GET /reservations- List reservationsGET /reservations/{uuid}- Get a specific reservation
id- Unique reservation identifierplatform- Booking source (airbnb, homeaway, booking, direct, manual)platform_id- Reservation code on the platformarrival_date/departure_date- Stay datescheck_in/check_out- Exact check-in/out timesguests- Guest counts by typereservation_status- Current status and history
request- Pending approvalaccepted- Confirmed bookingcancelled- Cancelled reservationnot accepted- Declined requestcheckpoint- Status checkpointunknown- Unknown status
Messages allow communication with guests about their reservations.
GET /reservations/{uuid}/messages- Get reservation messagesPOST /reservations/{uuid}/messages- Send a message
{
"body": "Hello! Your check-in details...",
"images": ["https://example.com/image.jpg"]
}Rate Limits:
- 2 messages per minute per reservation
- 50 messages per 5 minutes total
public_api- Sent via APIplatform- Native platform messaginghospitable- Sent from Hospitable appautomated- Scheduled/event-basedAI- Auto-reply messages
Calendar endpoints manage property availability and pricing.
{
"date": "2024-03-15",
"day": "FRIDAY",
"min_stay": 2,
"status": {
"reason": "AVAILABLE",
"available": true
},
"price": {
"amount": 15000,
"currency": "USD",
"formatted": "$150.00"
},
"closed_for_checkin": false,
"closed_for_checkout": false
}{
"dates": [
{
"date": "2024-03-15",
"price": {"amount": 15000},
"available": true,
"min_stay": 2
}
]
}Limits:
- Update up to 3 years in the future
- Maximum 60 dates per request
- 1000 requests per minute
Reviews from guests across platforms.
GET /properties/{uuid}/reviews- Get property reviewsPOST /reviews/{uuid}/respond- Respond to a review
public- Public rating and review textprivate- Private feedbackdetailed_ratings- Category-specific ratingsguest- Guest information
Get authenticated user and billing information.
GET /user- Get user details
List endpoints support pagination:
page- Page number (default: 1)per_page- Results per page (default: 10, max: 100)
Response includes meta object with pagination details.
Use the include parameter to fetch related data:
GET /properties?include=listings,user
Available includes vary by endpoint - check specific endpoint documentation.
Error responses follow this format:
{
"status_code": 400,
"reason_phrase": "Invalid pagination parameter supplied.",
"message": "The given data was invalid."
}Common status codes:
400- Bad Request401- Unauthorized403- Forbidden404- Not Found429- Rate Limited500- Server Error
- Calendar updates: 1000 requests/minute
- Message sending: 2 per minute per reservation, 50 per 5 minutes total
- General API: Contact support for limits
Webhooks provide real-time updates for:
reservation.created- New reservationreservation.updated- Reservation changedproperty.updated- Property modifiedmessage.created- New messagereview.created- New review
Webhook payloads include:
id- Unique payload IDaction- Event typedata- Full resource datacreated- Timestampversion- Webhook version
Different endpoints require specific token scopes:
property:read- View propertiescalendar:read- View calendarcalendar:write- Update calendarreservation:read- View reservationsmessage:read- View messagesmessage:write- Send messages (requires approval)financials:read- View financial datalisting:read- View platform listingsreviews:read- View reviewsreviews:write- Respond to reviews
- V1 API End of Life: February 3rd, 2025
- Properties with
calendar_restricted: truecannot be updated via API - HTML is not supported in messages
- Search endpoint requires self-hosted Direct site
- Contact team-platform@hospitable.com for
message:writescope