Airbnb SERP
Extract Airbnb search results — array of listings with prices, ratings, and locations.
API usage
Add &scraper=airbnb-serp to a Crawling API request. URL-encode the target URL in the url parameter.
curl 'https://api.crawlbase.com/?token=YOUR_TOKEN' \
--data-urlencode 'url=https://www.airbnb.com/s/Beirut/homes' \
--data-urlencode 'scraper=airbnb-serp' -Gfrom crawlbase import CrawlingAPI
api = CrawlingAPI({'token': 'YOUR_TOKEN'})
res = api.get(
'https://www.airbnb.com/s/Beirut/homes',
{'scraper': 'airbnb-serp'}
)
import json
data = json.loads(res['body'])const { CrawlingAPI } = require('crawlbase');
const api = new CrawlingAPI({ token: 'YOUR_TOKEN' });
const res = await api.get(
'https://www.airbnb.com/s/Beirut/homes',
{ scraper: 'airbnb-serp' }
);
const data = JSON.parse(res.body);require 'crawlbase'
api = Crawlbase::API.new(token: 'YOUR_TOKEN')
res = api.get('https://www.airbnb.com/s/Beirut/homes', scraper: 'airbnb-serp')
data = JSON.parse(res.body)Example input URL
The URL passed in the url parameter (URL-decoded for readability):
https://www.airbnb.com/s/Beirut/homesResponse shape
JSON response body. Field types may be null when the source page omits the value.
Location query.
Matching listings.
Listing summary objects.
Listing ID.
Title.
URL.
Neighborhood / city.
Nightly price with currency.
Average rating.
Reviews.
Image URLs.
Max guests.
Bedrooms.
Sample response
{
"search_location": "Beirut",
"listings": [
{
"id": "54281209",
"title": "Sunny apartment in Hamra",
"location": "Beirut, Lebanon",
"price_per_night": "$45",
"rating": 4.92,
"reviews_count": 142,
"guests": 2,
"bedrooms": 1
}
]
}
