FB Pixel

πŸ—“ How to Scrape Airbnb Occupancy Rates in Any City By steve


βš–οΈ Disclaimer: This article may reference endpoints that are not part of official APIs endorsed by airbnb.com and were found while using airbnb.com's official website and/or mobile app. They are documented here for informational purposes, such as to cross reference with HAR Files after using airbnb.com's official website and/or mobile app in accordance with airbnb.com's Terms of Service. Stevesie has no affiliation with airbnb.com.

If you access any of these endpoints with Stevesie or any other tool outside of an official airbnb.com client, you must check airbnb.com's Terms of Service to ensure said access is not prohibited. If you are not sure whether or not your use of Stevesie or any other tool in a specific instance violates airbnb.com's Terms of Service or applicable law, you should consult with competent legal counsel before proceeding. Learn more here: Is Data Scraping Legal?

If you’re looking to become an Airbnb host, you’re probably wondering how much you can expect to earn. One way of estimating this is to find the average occupancy rate for specific locations over the next year, accounting for seasons, special events, etc…

While Airbnb makes all of this occupancy and pricing data available via its website & app, it doesn’t allow an easy way to aggregate and analyze all this data to get a pulse on the market.

We’ll walk through how to get a day-by-day breakdown of the next year of availability & pricing for individual Airbnb listings, this way you can calculate the future occupancy rate to get an idea of how much you can expect to earn as an Airbnb host.

1. Get Airbnb Listing IDs

To start, we’ll need to build a list of Airbnb listing IDs we’re interested in. You can get them from the URL of a page, e.g. https://www.airbnb.com/rooms/432044 has the Listing ID of 432044.

However, we suggest using the Airbnb Listings endpoint so you can run targeted searches for specific cities and get a list of IDs. Once you run the endpoint for a specific location search, you’ll be able to copy the Listing IDs from the output.

2. Get Day-by-Day Future Availability & Pricing

Once we have a Listing ID, we can plug that into the Airbnb Availability endpoint to get a day-by-day summary of all future availability and pricing one year out from the current date (this corresponds to the Airbnb calendar feature, which shows you all the days to 1 year into the future with if the listing is booked or not).

To get the future availability and occupancy rate, just head to the endpoint and paste in the Listing ID you’re interested in:

Enter Listing ID in Availability Endpoint

This endpoint gives back the day-by-day breakdown for future pricing and availability. You can view this data in JSON, however to calculate the occupancy rate, we suggest converting the response data to CSV format so you can do some basic spreadsheet operations in Excel or Google Sheets.

Once you open the spreadsheet, you’ll notice the following columns of interest:

  • calendar_months.days.date - The date of future availability & pricing
  • calendar_months.days.available_for_checkin - Is this date available for checkin (FALSE means it’s booked, lowering the occupancy rate)
  • calendar_months.days.price.native_adjusted_price - Estimated price for one night at the future data
  • calendar_months.days.price.native_currency - Currency of the price estimate

You can then determine the future occupancy rate for this listing by counting how many dates are not available (booked) divided by the total number of available dates. You can also estimate how much money the listing will earn over the next year by adding up the prices for every day the listing is not available for booking (meaning it’s occupied).

Of course, this data is only relevant for the future and doesn’t cover the past (actual) occupancy rates. If you need this information, you can periodically fetch this data and aggregate the numbers and rates for only the next week out for example to track immediate availability metrics, which are less likely to change compared to availability dates a year out.

Posted by steve on Aug. 2, 2019, 2:50 a.m. 🚩  Report