GET

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

GET https://api.stayapi.com/v1/airbnb/listing/{listing_id}/overview

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, true on success
  • listing_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). Returns null for studios
  • beds - Number of beds (integer)
  • baths - Number of bathrooms as a float, so half-baths are represented as 1.5
  • raw_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, or null when 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/").

Request
curl -X GET "https://api.stayapi.com/v1/airbnb/listing/22135033/overview" \
  -H "x-api-key: YOUR_API_KEY"
Response
{
  "success": true,
  "listing_id": 22135033,
  "overview": {
    "title": "Entire rental unit in Warsaw, Poland",
    "guests": 2,
    "bedrooms": 1,
    "beds": 1,
    "baths": 1.0,
    "raw_items": ["2 guests", "1 bedroom", "1 bed", "1 bath"],
    "room_arrangements": [
      {
        "title": "Bedroom",
        "subtitle": "1 double bed",
        "icons": ["SYSTEM_BED_DOUBLE"]
      }
    ]
  }
}