Skip to main content

How to Pull Reservation Data

Written by Ryo

The reservations endpoint returns booking data for any listing in your portfolio. Use it to build reporting dashboards, track occupancy, reconcile revenue, or sync bookings to an external system.


Pull reservations for a listing

curl "https://api.usewheelhouse.com/ss_api/v1/listings/12345678/reservations?channel=airbnb&per_page=50" \
-H "X-Integration-Api-Key: your_api_key_here"

Reading the response

Each reservation object contains:

{
"id": "res-001",
"status": "Accepted",
"start_date": "2026-04-05",
"end_date": "2026-04-10",
"booked_at": "2026-03-01T15:30:00Z",
"num_guests": 4,
"currency": "USD",
"total_price": 1250.00,
"nightly_subtotal": 1100.00,
"extra_guest": 50.00,
"security_deposit": 0.00,
"extras": 0.00,
"taxes": 100.00,
"confirmation_code": "HM4X7K",
"source_name": "Airbnb",
"comments": "Family vacation"
}

Key fields:

  • start_date / end_date — check-in and check-out dates (YYYY-MM-DD)

  • booked_at — when the booking was made (ISO 8601 timestamp)

  • status — booking status: Accepted, Declined, Expired, Canceled, Pending, Ignored

  • total_price — full amount charged to the guest

  • nightly_subtotal — nightly rate portion only, before taxes and extras

  • source_name — the platform the booking came through

  • confirmation_code — the booking reference code


Filtering by date range

Filter reservations by stay date (default) or by when they were booked:

# Reservations with stays between April 1–30
curl "https://api.usewheelhouse.com/ss_api/v1/listings/12345678/reservations?channel=airbnb&start_date=2026-04-01&end_date=2026-04-30&date_filter_type=stay_date" \
-H "X-Integration-Api-Key: your_api_key_here"
# Bookings made between March 1–31 (regardless of stay date)
curl "https://api.usewheelhouse.com/ss_api/v1/listings/12345678/reservations?channel=airbnb&start_date=2026-03-01&end_date=2026-03-31&date_filter_type=booked_at" \
-H "X-Integration-Api-Key: your_api_key_here"

date_filter_type defaults to stay_date if not specified.


Pull reservations across your portfolio

Loop through all your listings to collect reservations in bulk:

import requests
API_KEY = "your_api_key_here"
BASE_URL = "https://api.usewheelhouse.com/ss_api/v1"
headers = {"X-Integration-Api-Key": API_KEY}

listings_resp = requests.get(f"{BASE_URL}/listings?exclude_inactive=true", headers=headers)
listings = listings_resp.json()

for listing in listings:
listing_id = listing["id"]
channel = listing["channel"]
res_resp = requests.get(
f"{BASE_URL}/listings/{listing_id}/reservations",
headers=headers,
params={"channel": channel, "per_page": 50}
)
reservations = res_resp.json()
for res in reservations:
print(f"{listing['name']}: {res['confirmation_code']} | {res['start_date']} → {res['end_date']} | ${res['total_price']}")

Pagination

Use per_page, page, and offset to page through large result sets — same pattern as the listings endpoint. See Pagination: using per_page, page, and offset for details.

Next steps

How to monitor listing performance (KPIs)

Did this answer your question?