How to Scrape Airbnb Data into Airtable with Apify

Sep 2, 2022Rosie Threlfall

If you are looking to extract data from Airbnb (or other apps) and import it into Airtable, this can be easily achieved using the Apify API and the free Data Fetcher extension.

Follow this easy guide to find out how to use the Apify Airtable integration.

What is Apify?

Apify is a web scraping and automation platform that enables you to collect data from any website. Apify has inbuilt tools to help you easily extract data such as Amazon product information, Instagram profile info or extract data from TikTok videos such as hashtags and users. For this example, we'll be scraping accommodation listing data from Airbnb and importing this into Airtable.

Create an Apify Account

Sign up for a free Apify account here using your email address, Google or Github profile.

apify1.png

You'll need to Verify your email address and complete the requested onboarding info.

apify2.png

Use the Store search bar to locate and select the Airbnb Scraper.

apify3.png

Then select 'Create Empty Task'. This creates what Apify refers to as an 'Actor Task'.

apify4.png

Set your Destination (e.g. London) and the maximum number of search results to return (e.g. 10) and click 'Save & Start'.

apify5.png

You'll then see your requested Airbnb results on the next screen.

apify6.png

Install Data Fetcher

Next, you'll need to set up an Airtable base and install Data Fetcher by visiting the Airtable marketplace. Data Fetcher is a free extension which enables you to easily import different types of data into Airtable using APIs.

Create a new Data Fetcher account or sign in to your existing account using the 'Have an account?' button on the bottom left.

You can also sign-up to Data Fetcher with your Google account by selecting 'Continue with Google'. 

Data Fetcher Sign Up

Scrape Airbnb Data into Airtable with Apify

Data Fetcher requests are used to import and export data. You can create multiple requests within one installation of Data Fetcher in an Airtable base.

To start, click on 'Create your first request' from the Data Fetcher home screen.

Create your first request in Data Fetcher

On the create request screen, select 'Apify' for Application to use the Apify Airtable integration

apify7.png

Click here to get your Personal API token from Apify and copy this to your clipboard using the copy button.

apify8.png

Paste this API key here.

apify9.png

For Endpoint select 'Import results from an actor task's latest run'.

apify10.png

Give your request a name such as 'Import Airbnb Listing Data' and click 'Save & Continue'.

apify11.png

Select the Apify Actor Task you want to import.

apify12.png

Make sure you have your Airtable Output Table & View selected and click 'Save and Run'.

apify13.png

The Response field mapping modal will now open which is where you can choose which fields to import from Airbnb via Apify and how they will map to your output table. 

For each imported field, you can either map it to an existing field in your output table or create a new one. You are also able to choose a field type for any new field and give them names.

Click Filter all to remove any pre-selected fields, then use the Find field search bar to easily locate the fields you want to import.

For this example, we are going to import the following fields:

'Url', 'Name', 'Number of guests', 'Address', 'Room type', 'Location lat' and 'Location lng'.

Map the 'Name' field to the existing name field in your output table and all others to new fields.

Click 'Save & Run'.

apify14.png

The Apify Airtable integration will run and you'll see the scraped Airbnb data in your output table.

apify15.png

Automatic Apify Airtable Integration

Currently, you'd need to manually click 'Run' in Data Fetcher to import any updates to the Airbnb listing data, but it is possible to set the Apify Airtable integration to run at regular intervals.

There are two steps to automate this process, using both the Apify scheduling feature and the Data Fetcher's scheduling feature.

In Apify, navigate to the Tasks menu on the left and select your 'Airbnb Scraper Task'.

apify16.png

Then choose Schedule from the Actions menu on the top right of the screen.

apify17.png

You can enter a new name for your Schedule actor task if you wish.

apify18.png

By default the schedule is set to daily but you can also choose hourly, weekly or choose your own schedule.

apify19.png

Next, you'll need to set up Data Fetcher's scheduling feature. This is a paid Data Fetcher feature so you will need to upgrade your account. In Data Fetcher, scroll to Schedule and click 'Upgrade'.

schedule-requests.png

Choose a plan from the different options depending on your needs and enter your payment details.

data fetcher upgrade pricing plans.png

Back in Data Fetcher, click 'I've done this'.

schedule-upgrade.png

Under Schedule click '+ Authorize'.

Schedule Data Fetcher

A new window will now open and prompt you to authorize the Airtable bases you want Data Fetcher to have access to.

We recommend selecting 'All current and future bases in all current and future workspaces' to avoid any issues with unauthorized bases in the future.

Click 'Grant access'.

schedule-authorize-bases.jpg

Back in Data Fetcher, you'll see Schedule this request is now toggled on.

Select a schedule for the Apify Airtable integration based on intervals of 'Minutes', 'Hours', 'Days' or 'Months'. Click 'Save', and changes to the data will automatically scrape from Airbnb, then import into your Airtable base on your chosen schedule.

Schedule this request

Related Posts

How to Import Public Company Data from LinkedIn to Airtable

How to Import Public Company Data from LinkedIn to Airtable

Oct 15, 2023

Rosie Threlfall

LinkedInWeb Scraping
How to Import LinkedIn Profile Info into Airtable

How to Import LinkedIn Profile Info into Airtable

Jul 11, 2023

Rosie Threlfall

Web ScrapingLinkedIn
How to Create an Airtable Web Scraper with No-Code

How to Create an Airtable Web Scraper with No-Code

May 11, 2023

Rosie Threlfall

Web Scraping