Airbnb API endpoint
Returns the public details of one Airbnb listing by room id: title, description, property type, location and coordinates, guest capacity, amenities, price and price per night, rating, review count, host, and the Superhost and Guest Favorite flags. Some fields are present only when Airbnb exposes them for the listing.
/airbnb/room/{id}Path parameters: id is required.
Returns Airbnb public room details.
| Field | In the sample | Value in the sample |
|---|---|---|
| id | Has a value | |
| title | Has a value | “Tranquil Midtown Sanctuary - Full Bed” |
| url | Has a value | airbnb.com |
| image | Has a value | a0.muscache.com |
| rating | Has a value | 4.88 |
| review_count | Has a value | 461 |
| location | Has a value | “Room in hotel” |
| host | Has a value | |
| host_id | Has a value | |
| is_superhost | Has a value | true |
| description | Has a value | 413 characters |
| amenities | Has a value | 24 entries |
| person_capacity | Has a value | 2 |
| property_type | Has a value | “Room in hotel” |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| id (path) | string | Yes | Room id | 1384733959726184048 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/airbnb/room/1384733959726184048" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"id": "1384733959726184048",
"title": "Tranquil Midtown Sanctuary - Full Bed",
"url": "https://www.airbnb.com/rooms/1384733959726184048",
"image": "https://a0.muscache.com/room.jpeg",
"rating": 4.88,
"review_count": 253,
"location": "Room in hotel in New York, United States",
"amenities": [
"Wifi",
"Air conditioning"
]
}
}Request schema
No body schema
Response schema
#/definitions/airbnb.RoomResponse
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| amenities | array | No | Names of the amenities the listing offers. | |||
| description | string | No | Listing description text. | |||
| host | string | No | Host name, when the search card shows it. | |||
| host_id | string | No | 65056940 | Airbnb id of the host. Use it with the host endpoint. | ||
| id | string | No | 12345678 | Airbnb listing (room) id. Use it with the room endpoints. | ||
| image | string | No | URL of the listing's main photo. | |||
| is_guest_favorite | boolean | No | IsGuestFavorite reports whether the listing carries an Airbnb Guest Favorite badge (including its "top N%" variants). Like IsSuperhost it comes from the search card's badges[] and renders inconsistently, so a true value is reliable but a false/absent value is not — downstream aggregates treat the rate as an observed lower bound. | |||
| is_superhost | boolean | No | True when the listing carries the Superhost badge. | |||
| latitude | number | No | Latitude of the listing. | |||
| location | string | No | Location text shown for the listing. | |||
| longitude | number | No | Longitude of the listing. | |||
| person_capacity | integer | No | PersonCapacity is the max guests the listing sleeps and PropertyType is Airbnb's canonical listing type (e.g. "Entire guest suite", "Private room in rental unit"), both from the room detail page's StayEmbedData. PropertyType is authoritative, unlike the search card's "<type> in <place>" descriptor. PDP-only (absent from /airbnb/search). | |||
| price | number | No | Price shown on the search card. With check-in and check-out dates it is the total for the stay; without dates it is Airbnb's display figure, not a nightly rate. | |||
| price_per_night | number | No | 148 | PricePerNight is the per-night price for the queried stay (search total ÷ nights), set only when check_in+check_out are supplied. It amortizes any fixed fees across the stay, so a longer window yields a tighter base-rate estimate. Without dates the `price` field is an unstable "from"/display figure, not a nightly rate. | ||
| property_type | string | No | Airbnb's listing type, for example `Entire guest suite` or `Private room in rental unit`. | |||
| rating | number | No | Average guest rating. | |||
| review_count | integer | No | Number of guest reviews. | |||
| title | string | No | Listing title as shown on the search card. | |||
| url | string | No | Link to the listing on Airbnb. |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/airbnb/room/1384733959726184048" \
-H "x-api-key: $CRAWLORA_API_KEY"