Check Availability
Query the calendar for any property to see which dates are open, their nightly rates, and minimum stay requirements.
When to use this endpoint
- Show a live availability calendar on your booking widget
- Verify dates are open before creating a reservation
- Sync availability to a channel manager or external platform
- Build a date picker that disables unavailable nights
Need to update availability?
Get availability calendar
/v1/availability/{propertyId}Date parameter names differ by endpoint
from and to query params. The per-channel Airbnb calendar (/v1/channels/airbnb/listings/{id}/availability) uses start_date and end_date instead. Match the parameter names to the exact endpoint you call.curl "https://api.repull.dev/v1/availability/123?from=2026-07-01&to=2026-07-31" \ -H "Authorization: Bearer sk_test_YOUR_KEY"
Path parameter
propertyIdintegerRequiredProperty ID to check availability for. Pass the integer id from GET /v1/properties as a path segment (e.g. /v1/availability/123).
Query parameters
fromdateRequiredStart of the date range. Format: YYYY-MM-DD. (Alias: startDate.)
todateRequiredEnd of the date range. Format: YYYY-MM-DD. (Alias: endDate.)
Response format
Returns an array of calendar day objects, one per date in the requested range.
{
"data": [
{
"date": "2026-07-01",
"available": true,
"price": 250.00,
"currency": "USD",
"minNights": 2,
"maxNights": 30,
"availableUnits": 1
},
{
"date": "2026-07-02",
"available": true,
"price": 250.00,
"currency": "USD",
"minNights": 2,
"maxNights": 30,
"availableUnits": 1
},
{
"date": "2026-07-03",
"available": false,
"price": null,
"currency": "USD",
"minNights": null,
"maxNights": null,
"availableUnits": 0
}
]
}Response fields
datestringCalendar date (YYYY-MM-DD).
availablebooleanWhether the date is available for booking.
pricenumbernullableNightly rate for this date. Null if unavailable.
currencystringISO 4217 currency code.
minNightsintegernullableMinimum stay requirement starting from this date.
maxNightsintegernullableMaximum stay allowed starting from this date.
availableUnitsintegerNumber of units available (relevant for multi-unit properties).
Common examples
Check a specific date range before booking
curl "https://api.repull.dev/v1/availability/123?from=2026-07-10&to=2026-07-15" \ -H "Authorization: Bearer sk_test_YOUR_KEY"
Full month calendar view
curl "https://api.repull.dev/v1/availability/123?from=2026-08-01&to=2026-08-31" \ -H "Authorization: Bearer sk_test_YOUR_KEY"
Validate availability in code
// Check if all dates in a range are available
const calendar = await repull.availability.get({
propertyId: '123',
startDate: '2026-07-10',
endDate: '2026-07-15',
});
const allAvailable = calendar.data.every(day => day.available);
if (allAvailable) {
// Safe to create the booking
await repull.reservations.create({ ... });
} else {
const blocked = calendar.data.filter(d => !d.available).map(d => d.date);
console.log('Blocked dates:', blocked);
}API Reference
See the complete Availability API Reference for all endpoints including update and batch operations.