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?

Use Update Pricing to push rate changes, block dates, or set minimum night requirements.

Get availability calendar

GET/v1/availability
curl "https://api.repull.dev/v1/availability?property_id=123&start_date=2026-07-01&end_date=2026-07-31" \
  -H "Authorization: Bearer sk_test_YOUR_KEY" \
  -H "X-Workspace-Id: YOUR_WORKSPACE_ID"

Query parameters

property_idstringRequired

Property ID to check availability for.

start_datedate

Start of the date range. Format: YYYY-MM-DD. Defaults to today.

end_datedate

End of the date range. Format: YYYY-MM-DD. Defaults to 90 days from start.

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

datestring

Calendar date (YYYY-MM-DD).

availableboolean

Whether the date is available for booking.

pricenumbernullable

Nightly rate for this date. Null if unavailable.

currencystring

ISO 4217 currency code.

minNightsintegernullable

Minimum stay requirement starting from this date.

maxNightsintegernullable

Maximum stay allowed starting from this date.

availableUnitsinteger

Number of units available (relevant for multi-unit properties).

Common examples

Check a specific date range before booking

curl "https://api.repull.dev/v1/availability?property_id=123&start_date=2026-07-10&end_date=2026-07-15" \
  -H "Authorization: Bearer sk_test_YOUR_KEY" \
  -H "X-Workspace-Id: YOUR_WORKSPACE_ID"

Full month calendar view

curl "https://api.repull.dev/v1/availability?property_id=123&start_date=2026-08-01&end_date=2026-08-31" \
  -H "Authorization: Bearer sk_test_YOUR_KEY" \
  -H "X-Workspace-Id: YOUR_WORKSPACE_ID"

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.

AI