Get Reservations
Pull reservations from Airbnb, Booking.com, VRBO, and every other connected platform in a single API call.
When to use this endpoint
- Sync reservations from all platforms into your own database
- Build a unified calendar or inbox across Airbnb, Booking.com, VRBO, and direct bookings
- Power a revenue dashboard with real-time booking data
- Feed reservation data into your AI agent for guest communication
Need real-time updates?
List reservations
/v1/reservationscurl "https://api.repull.dev/v1/reservations?status=CONFIRMED&limit=10" \ -H "Authorization: Bearer sk_test_YOUR_KEY"
Query parameters
limitintegerDefault: 50Maximum number of results to return.
offsetintegerDefault: 0Number of results to skip for pagination.
statusstringFilter by reservation status.
PENDING CONFIRMED CANCELLED POST_STAYproperty_idstringFilter reservations for a specific property.
sourcestringFilter by booking platform.
AIRBNB BOOKING_COM VRBO DIRECTcheck_in_afterdateOnly reservations with check-in after this date. Format: YYYY-MM-DD.
check_in_beforedateOnly reservations with check-in before this date. Format: YYYY-MM-DD.
check_out_afterdateOnly reservations with check-out after this date. Format: YYYY-MM-DD.
check_out_beforedateOnly reservations with check-out before this date. Format: YYYY-MM-DD.
updated_sincedatetimeOnly reservations modified after this ISO 8601 timestamp. Useful for incremental sync.
camelCase aliases (checkInAfter, checkInBefore, checkOutAfter, checkOutBefore) are accepted but deprecated — prefer the snake_case names above.
Response format
Returns a paginated array of reservation objects.
{
"data": [
{
"id": "456",
"propertyId": "123",
"roomTypeId": "RT-001",
"status": "CONFIRMED",
"source": "AIRBNB",
"confirmationCode": "HM12345",
"checkIn": "2026-06-01",
"checkOut": "2026-06-05",
"primaryGuest": {
"firstName": "Sarah",
"lastName": "Mitchell",
"email": "sarah@example.com",
"phone": "+1-555-0123",
"language": "en"
},
"occupancy": {
"adults": 2,
"children": 1,
"infants": 0,
"pets": 0
},
"financials": {
"totalPrice": 1800,
"currency": "USD",
"paymentStatus": "paid",
"breakdown": {
"basePrice": 1500,
"cleaningFee": 150,
"fees": [{ "type": "SERVICE_FEE", "amount": 100 }],
"taxes": [{ "type": "LODGING_TAX", "amount": 50, "rate": 0.09 }],
"discounts": []
}
},
"bookedAt": "2026-05-15T09:00:00Z"
}
],
"pagination": {
"total": 28,
"limit": 50,
"offset": 0,
"hasMore": false
}
}Response fields
idstringUnique reservation identifier.
propertyIdstringID of the property this reservation belongs to.
statusstringCurrent status: PENDING, CONFIRMED, CANCELLED, or POST_STAY.
sourcestringPlatform where the booking originated: AIRBNB, BOOKING_COM, VRBO, DIRECT.
confirmationCodestringPlatform-specific confirmation code (e.g. HM12345 for Hostaway).
checkInstringCheck-in date (YYYY-MM-DD).
checkOutstringCheck-out date (YYYY-MM-DD).
primaryGuestobjectGuest who made the booking.
occupancyobjectNumber of guests by category.
financialsobjectComplete pricing breakdown.
bookedAtstringISO 8601 timestamp when the reservation was created.
Filtering examples
By platform
curl "https://api.repull.dev/v1/reservations?source=AIRBNB" \ -H "Authorization: Bearer sk_test_YOUR_KEY"
Upcoming check-ins
curl "https://api.repull.dev/v1/reservations?check_in_after=2026-06-01&check_in_before=2026-06-30&status=CONFIRMED" \ -H "Authorization: Bearer sk_test_YOUR_KEY"
Incremental sync (only changes since last poll)
curl "https://api.repull.dev/v1/reservations?updated_since=2026-06-01T00:00:00Z" \ -H "Authorization: Bearer sk_test_YOUR_KEY"
Pagination
Results are paginated using limit and offset. The response includes a pagination object with the total count and whether more results exist.
// Page through all reservations
let offset = 0;
const limit = 50;
let hasMore = true;
while (hasMore) {
const { data, pagination } = await repull.reservations.list({ limit, offset });
for (const reservation of data) {
await processReservation(reservation);
}
hasMore = pagination.hasMore;
offset += limit;
}API Reference
See the complete Reservations API Reference for all endpoints including create, update, and cancel.