Airbnb Listing Overview API
Get the bedroom, bathroom, and bed counts plus the room-by-room arrangement for any Airbnb listing — no check-in or check-out dates required.
Overview
Listing Capacity
This endpoint reads the listing's public property page (PDP) to return the structured guest, bedroom, bed, and bath counts that are not exposed by the checkout-based /details endpoint.
The Airbnb Listing Overview endpoint returns a property's capacity summary: title, guest count, bedrooms, beds, baths, the raw overview labels Airbnb displays, and the optional per-room arrangement breakdown. Unlike the Listing Details endpoint, it does not require check-in or check-out dates — just the listing ID.
Endpoint URL
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| listing_id | integer | Required |
Airbnb listing ID (path parameter), e.g. 22135033
|
No Dates Needed
This endpoint takes no query parameters. You only need the listing ID — check-in, check-out, and guest counts are not required.
Response Structure
Top-Level Fields
success- Boolean,trueon successlisting_id- The requested Airbnb listing ID (integer)overview- Object containing the capacity summary (described below)
Overview Object
title- Property title (e.g. "Entire rental unit in Warsaw, Poland")guests- Maximum guest capacity (integer)bedrooms- Number of bedrooms (integer). Returnsnullfor studiosbeds- Number of beds (integer)baths- Number of bathrooms as a float, so half-baths are represented as1.5raw_items- Array of the exact overview labels Airbnb displays (e.g.["2 guests", "1 bedroom", "1 bed", "1 bath"])room_arrangements- Array of per-room sleeping arrangements, ornullwhen Airbnb does not expose it
Room Arrangement Object
Each entry in room_arrangements describes one room:
title- Room name (e.g. "Bedroom")subtitle- Bed summary for that room (e.g. "1 double bed")icons- Array of Airbnb bed-type icon keys (e.g.["SYSTEM_BED_DOUBLE"])
Studios & Edge Cases
bedrooms: null Means Studio
For studio listings Airbnb has no separate bedroom, so the bedrooms field is intentionally null (not 0). Treat null as "studio" rather than an error, and rely on beds and guests for capacity.
room_arrangements can also be null — for example on hotel-room style listings that have no per-room breakdown. Always check for null before iterating, and use raw_items as the human-readable fallback.
Error Responses
Errors are returned as RFC 7807 Problem Details with a non-2xx status code. A successful response is always 2xx.
| Status | error_code | When it happens |
|---|---|---|
| 404 | NOT_FOUND | The listing was not found or is no longer available. |
| 500 | UPSTREAM_ERROR | The page was reached but the overview could not be parsed (e.g. an Airbnb layout change). |
| 500 | INTERNAL_ERROR | An unexpected server-side error occurred. |
| 502 | UPSTREAM_ERROR | The upstream request to Airbnb failed; includes upstream_status when available. |
Finding the Listing ID
Need the Listing ID?
Use the /listing/extract-id endpoint to extract the listing ID from any Airbnb URL.
The listing ID can be found in Airbnb URLs. For example:
https://www.airbnb.com/rooms/22135033
The listing ID is 22135033 (the number after "rooms/").