Each year, millions of people around the world use Airbnb to find accommodations when traveling. Among those millions, a good chunk of them have probably struggled to decide on the perfect place to book.
Not only are there tons of homes to choose from — more than 5 million globally, in fact — but the app doesn’t make it all that easy to compare listings. And this becomes exponentially more difficult if you’re trying to decide with a group of people. You end up sending links back and forth, trying to call out specific photos or features, while doing fast math on pricing with cleaning fees… suddenly the group chat is just out of control
Thankfully, there’s a much easier way to scrape Airbnb listings. With PixieBrix you can pull all the listing data you need into a digestible Google Sheet, making it simple to find the right rental for you. That’s a process called “data scraping.” Here’s how to do it.
Build an Airbnb data scraping tool with PixieBrix
Step 1: Set up your Google Sheet for Airbnb scraping
First, you’re going to need to create a Google Sheet to house the listing data you’re scraping from Airbnb.
If you’re really new to Sheets, anyone with a Gmail account has access to Google’s spreadsheet tool. All you need to do is visit your Gmail inbox, click on the icon with nine tiny squares on the top right of your screen, and click “Drive.” Once there, click “New,” select “Google Sheets,” and then “Blank spreadsheet.” Then you’re off to the races.
Name your Sheet and add column headers to match the data you want to pull for each listing.
In my case, I was booking a place on the beach to celebrate my birthday with my partner and sisters. To compare places, I wanted to scrape:
- The name of the location
- A link to the Airbnb listing
- The total price
- The total number of beds
Here’s what my simple sheet looks like:
Step 2: Use PixieBrix’s page editor to build your Airbnb scraping tool
PixieBrix is a low-code browser automation platform that allows you to customize webpages, automate the scraping of platforms like Airbnb, and so much more.
Once you sign up, you'll be prompted to install the PixieBrix Chrome extension. Then, head over to Airbnb.
Go to a listing you want to scrape. Then right-click on the page and select “Inspect.” This opens up the Chrome Dev Tools. At the top of that section, you'll see a series of tabs like “elements” and “console.” Scroll through these options until you see PixieBrix and click it.
Step 3: Add a button starter brick
There are a few ways you can trigger mods in PixieBrix, but in this case, let's use a Button. To do so, click the Add button on the top left of the Page Editor, next to the PixieBrix logo, and select Button.
You'll notice your screen turns purple, wherever you move your mouse above the Dev Tools. Hover over an existing button on the page, like the Save button just above the listing images.
You'll see new brick configuration options appear in the middle panel of the Page Editor.
Configure the options like this:
- Name: something descriptive for the mod
- Button text: what appears on the button
- Advanced: Item Options - select an icon!
Here’s what it looks like on the page.
It looks a little funny, and I could add custom CSS styles to the element in the advanced options. But I'll move on and keep building out the functionality.
Step 4: Add the Extract from Page brick
Now, we need to parse some info from the page to be able to send to our sheet. This is really easy to do with PixieBrix’s Extract from Page brick.
Click the “plus” symbol below the Button brick to add another brick and search for the Extract from Page brick. Then click the cursor arrow under “value” and pick whatever data you want to scrape on the page. Repeat that process for multiple values by clicking “add property.”
With that done, you need one more brick to add to your Airbnb scraping tool. This one will map that data to a row in Google Sheets.
Step 5: Build your “Add Google Sheets row” brick
Hit the + button again to add one final brick. Choose the Add Google sheet row brick, connect a spreadsheet with headers or a blank spreadsheet, and then tell PixieBrix what data to map to which columns.
Here’s how I did it. To reference the output from the Extract from Page brick, you'll type
.property-Name. You can see the example below. To get the URL, you don’t need to reference the data brick—instead, you can reference the page context from when you clicked the button. To do that, just type
Now try it out!
A custom Airbnb web scraping tool in just a few steps!
When you click the button on an Airbnb listing, it will grab the text from the name, the price, and the URL of the listing and send that to your Google Sheet.
From there, you can sort and manipulate the data however you want to make sure you’re renting the best possible place for you. Then, you must share your Google Sheet with your travel companions and find the best option. Who knew scraping data from Airbnb could be this simple?
Whether it’s Airbnb, Google Sheets, or any other website, PixieBrix can help save you time and effort.
What else can you do with PixieBrix?
On the PixieBrix marketplace, you’ll find tons of pre-built mods for some of the websites and apps you use every day, like Airbnb, Google Sheets, LinkedIn, YouTube, and more. Here are just a few things you can do with PixieBrix mods: