airbnb.co.uk APIairbnb.co.uk ↗
Access Airbnb UK listing data including prices, amenities, guest reviews, and 12-month availability calendars via a structured REST API.
curl -X GET 'https://api.parse.bot/scraper/d7e09341-bc1b-421a-8fb0-3c857882e8aa/search_listings?adults=2&location=London--United-Kingdom' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for accommodation listings by location with optional date and guest filters. Returns up to 18 listings per page with pagination support via cursor.
| Param | Type | Description |
|---|---|---|
| adults | integer | Number of adults |
| cursor | string | Pagination cursor from a previous search_listings response's next_cursor field |
| checkin | string | Check-in date in YYYY-MM-DD format. Defaults to 7 days from today if omitted. |
| checkout | string | Check-out date in YYYY-MM-DD format. Defaults to 14 days from today if omitted. |
| locationrequired | string | Location string using Airbnb URL slug format (e.g. 'London--United-Kingdom', 'Paris--France') |
{
"type": "object",
"fields": {
"listings": "array of listing objects with id, name, type, image, rating, price, lat, lng, url",
"next_cursor": "string pagination cursor for next page, null if no more results"
},
"sample": {
"data": {
"listings": [
{
"id": "952856845269473772",
"lat": 51.5247,
"lng": -0.0866,
"url": "https://www.airbnb.co.uk/rooms/952856845269473772",
"name": "Shoreditch 1 bedroom apartment",
"type": "Apartment in Hackney",
"image": "https://a0.muscache.com/im/pictures/hosting/Hosting-952856845269473772/original/f8cfc52c-3d5e-429b-9016-da0cd911affa.jpeg",
"price": "£1,119",
"rating": null
}
],
"next_cursor": "eyJzZWN0aW9uX29mZnNldCI6MCwiaXRlbXNfb2Zmc2V0IjoxOCwidmVyc2lvbiI6MX0="
},
"status": "success"
}
}About the airbnb.co.uk API
The Airbnb UK API provides 5 endpoints for querying short-term rental listings on airbnb.co.uk. The search_listings endpoint returns up to 18 properties per page — with id, name, price, coordinates, rating, and a direct URL — filtered by location, check-in/checkout dates, and guest count. Separate endpoints cover full listing details, paginated guest reviews, day-by-day availability calendars, and experience availability.
Search and Listing Data
The search_listings endpoint accepts a location string in Airbnb URL slug format (e.g. London--United-Kingdom), optional checkin and checkout dates in YYYY-MM-DD format, and an adults count. If dates are omitted, the endpoint defaults to a 7-day window starting one week from today. Each result in the listings array includes the listing id, name, type, rating, price, lat/lng coordinates, a cover image, and a direct url. Pagination is handled via the next_cursor field, which you pass back as the cursor parameter in subsequent calls.
Listing Details, Amenities, and Host Info
get_listing_details takes a numeric room_id and returns the full listing record: an HTML description, an amenities array of feature name strings, multiple images, rating, reviews_count, lat/lng coordinates, and a host object containing the host's name and is_superhost status. get_listing_reviews accepts the same room_id plus limit and offset for pagination, returning each review's id, text, rating, author, and date, along with a total_count for the full review set.
Availability Calendars and Experiences
get_listing_availability returns a full 12-month forward calendar for a given room_id. The calendar array is structured as month objects, each containing month, year, and a days array where every entry includes date, available (boolean), and price. This is useful for building occupancy models or rate-comparison tools without needing to repeatedly query the search endpoint. The get_experience_availability endpoint checks availability for Airbnb Experiences by experience_id and returns an offerings array.
- Build a price-comparison tool across London neighbourhoods using
search_listingswith varying location slugs and fixed date ranges. - Monitor nightly rate changes over the next 12 months for a set of properties using
get_listing_availability. - Aggregate guest review sentiment for a portfolio of listings using
get_listing_reviewswith paginatedoffsetcalls. - Identify Superhost properties in a target city by filtering
get_listing_detailsresults onhost.is_superhost. - Map listing density and average ratings by lat/lng from
search_listingsresults to identify high-supply areas. - Pull amenity lists from
get_listing_detailsto analyse which features correlate with higher ratings. - Check experience slot availability for trip-planning tools using
get_experience_availability.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Airbnb have an official developer API?+
What does `get_listing_availability` return, and how far ahead does it go?+
get_listing_availability returns a calendar array covering the next 12 months from the date of the request. Each day entry includes date, a boolean available flag, and a price value. The endpoint takes only a room_id — there are no date-range filters, so you always receive the full 12-month window.Does the reviews endpoint return review scores broken down by category (cleanliness, location, etc.)?+
get_listing_reviews returns a single rating per review alongside text, author, and date. Category-level sub-scores (cleanliness, accuracy, check-in, etc.) are not included in the current response shape. You can fork this API on Parse and revise it to add an endpoint that captures sub-ratings.How does pagination work in `search_listings`?+
search_listings response includes a next_cursor string. Pass that value as the cursor parameter in your next call to retrieve the following page of up to 18 listings. When next_cursor is null, there are no further results for that query.Does the API cover listings outside the UK?+
Paris--France are accepted by search_listings. However, the API is not validated against every market, and some region-specific fields or currency formatting may behave inconsistently outside UK listings. You can fork the API on Parse and revise it to standardise multi-region behaviour or target other Airbnb country domains.