Airbnb Search Scraper Ppe avatar

Airbnb Search Scraper Ppe

Pricing

from $2.50 / 1,000 results

Go to Apify Store
Airbnb Search Scraper Ppe

Airbnb Search Scraper Ppe

Search Airbnb rentals by city with pay-per-result pricing. Extract 35+ fields per listing: nightly prices, fee breakdowns, amenities, ratings, host info, GPS coordinates, photos and cancellation policies. Supports 35+ Airbnb markets. Pay only for listings found, residential proxies included.

Pricing

from $2.50 / 1,000 results

Rating

0.0

(0)

Developer

SilentFlow

SilentFlow

Maintained by Community

Actor stats

1

Bookmarked

4

Total users

1

Monthly active users

7 days ago

Last modified

Share

Airbnb Rental Search Scraper - Pay Per Event

by SilentFlow

Pay only for the data you get! Proxies included, no compute costs.

Extract Airbnb rental listings by location with full details: prices, amenities, ratings, host info, coordinates, photos, and cancellation policies.

How it works

How it works

✨ Why use this scraper?

Looking for rental data across multiple cities? Tired of copying prices one by one from Airbnb? Need accurate nightly rates with fee breakdowns?

  • πŸ’° Pay per result: No compute costs, only pay for the listings you receive
  • 🌐 Proxies included: No need to configure or pay for proxies separately
  • πŸ” No login required: Works without an Airbnb account
  • 🏨 Complete listing data: Get 35+ fields per listing including description, amenities, fees, cancellation policies, host info, and photos
  • 🌍 35+ markets: Supports all major Airbnb domains with locale-specific pricing
  • πŸ“… Date-aware pricing: Add check-in/check-out dates to get accurate nightly rates and fee breakdowns
  • 🎯 Flexible filters: Filter by price range, room type, bedrooms, beds, bathrooms, and number of guests
  • πŸ“‹ Full detail page data: Every listing includes description, amenities, cancellation policy, and host info automatically

🎯 Use cases

TeamWhat they build
Travel platformsCompare rental options across destinations with real pricing data
Market researchersAnalyze nightly prices, occupancy patterns, and room types by city
Real estate analystsBenchmark short-term rental income vs. long-term rental yields
Revenue managersTrack competitor pricing across dates and seasons to optimize rates
Data teamsBuild rental market datasets with 35+ fields for investment models
Tourism plannersMap accommodation supply, pricing trends, and capacity in emerging destinations

πŸ“₯ Input parameters

Input mode

ParameterTypeDescription
modestringsearchUrl (paste Airbnb search URLs), search (search by location), or urls (extract specific listings)

Search URLs

ParameterTypeDescription
searchUrlsURL[]Paste Airbnb search result URLs directly (e.g. from your browser). Supports airbnb.com, airbnb.fr, airbnb.es, etc.

Search by Location

ParameterTypeDefaultDescription
locationsstring[]["Paris"]Cities, regions, or landmarks to search (e.g. Paris, CΓ΄te d'Azur, Rome)

Listing URLs

ParameterTypeDescription
listingUrlsURL[]Direct Airbnb listing URLs. Works with airbnb.com, airbnb.fr, airbnb.es, etc.

Dates & Guests

ParameterTypeDefaultDescription
checkInstring,Check-in date in YYYY-MM-DD format. Leave empty to search without dates
checkOutstring,Check-out date in YYYY-MM-DD format. Required if check-in is set
adultsinteger1Number of adults (1–16)
childreninteger0Number of children ages 2–12
infantsinteger0Number of infants under 2
petsinteger0Number of pets

Filters

ParameterTypeDefaultDescription
priceMininteger,Minimum nightly price in the selected currency
priceMaxinteger,Maximum nightly price in the selected currency
currencystringUSDPrice currency (USD, EUR, GBP, JPY, ...)
roomTypesstring[],Filter by room type: Entire home/apt, Private room, Hotel room, Shared room
minBedroomsinteger,Minimum number of bedrooms
minBedsinteger,Minimum number of beds
minBathroomsinteger,Minimum number of bathrooms

Options

ParameterTypeDefaultDescription
localestringenAirbnb market/language (e.g. fr, es, de, en-gb). Determines domain and language of results
includeDetailsbooleantrueVisit each listing's detail page for full description, amenities, cancellation policy, and host info
maxListingsinteger0 (unlimited)Maximum total listings to collect

πŸ“Š Output data

Listing example

{
"listingId": "1476693113851393112",
"url": "https://www.airbnb.fr/rooms/1476693113851393112",
"name": "Oasis urbaine, charmant et reposant",
"title": "Appartement Β· Paris",
"description": "SΓ©journez dans un appartement paisible et parfaitement situΓ© dans le 11e arrondissement...",
"roomType": "Entire home/apt",
"propertyType": "Apartment",
"bedrooms": 1,
"beds": 1,
"bathrooms": 1,
"maxGuests": 2,
"amenities": ["Wifi", "Kitchen", "Washer", "Air conditioning", "Iron", "Hair dryer"],
"city": "Paris",
"neighborhood": "Paris, Île-de-France, France",
"latitude": 48.86664,
"longitude": 2.36973,
"searchCity": "Paris",
"hostName": "Yann",
"hostId": "50670964",
"hostUrl": "https://www.airbnb.fr/users/show/50670964",
"isSuperhost": true,
"isProHost": false,
"hostListings": 3,
"rating": 4.97,
"reviewCount": 185,
"hasGuestFavorite": true,
"badges": ["Guest favorite"],
"price": "€ 98 per night",
"pricePerNight": "€98",
"pricePerNightValue": 98,
"priceTotal": 588,
"priceTotalDisplay": "€588 total",
"cleaningFee": 35,
"serviceFee": 52,
"taxes": "€62",
"numberOfNights": 6,
"currency": "EUR",
"hasFlexibleCancellation": false,
"cancellationPolicy": "Free cancellation before Apr 3",
"checkIn": "2025-04-09",
"checkOut": "2025-04-15",
"thumbnail": "https://a0.muscache.com/im/pictures/hosting/...",
"photos": [
"https://a0.muscache.com/im/pictures/hosting/Hosting-photo-1.jpg",
"https://a0.muscache.com/im/pictures/hosting/Hosting-photo-2.jpg"
],
"scrapedAt": "2025-04-01T10:23:45Z"
}

πŸ—‚οΈ Data fields

CategoryFields
IdentitylistingId, url, name, title
PropertyroomType, propertyType, bedrooms, beds, bathrooms, maxGuests
Amenitiesamenities (full list, 40+ items when available)
Locationcity, neighborhood, country, latitude, longitude, searchCity
HosthostName, hostId, hostUrl, isSuperhost, isProHost, hostListings
Ratingsrating, reviewCount, hasGuestFavorite, badges
Priceprice, pricePerNight, pricePerNightValue, priceTotal, priceTotalDisplay
Fee breakdowncleaningFee, serviceFee, taxes, originalPrice, numberOfNights, currency
CancellationhasFlexibleCancellation, cancellationPolicy
DatescheckIn, checkOut
Mediathumbnail, photos
Metadescription, scrapedAt

πŸš€ Examples

Search rentals in a city

{
"mode": "search",
"locations": ["Paris"],
"locale": "fr",
"currency": "EUR",
"adults": 2,
"maxListings": 50
}

Search with dates for accurate pricing

{
"mode": "search",
"locations": ["Barcelona"],
"locale": "es",
"currency": "EUR",
"checkIn": "2025-07-15",
"checkOut": "2025-07-22",
"adults": 2,
"priceMin": 50,
"priceMax": 200,
"roomTypes": ["Entire home/apt"]
}

Extract specific listing URLs

{
"mode": "urls",
"listingUrls": [
{"url": "https://www.airbnb.com/rooms/12345678"},
{"url": "https://www.airbnb.fr/rooms/87654321"}
],
"checkIn": "2025-08-01",
"checkOut": "2025-08-07",
"adults": 4
}

Multi-city market research

{
"mode": "search",
"locations": ["Amsterdam", "Brussels", "Antwerp"],
"locale": "nl",
"currency": "EUR",
"maxListings": 100
}

πŸ’» Integrations

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("silentflow/airbnb-search-scraper-ppe").call(run_input={
"mode": "search",
"locations": ["Paris"],
"locale": "fr",
"currency": "EUR",
"checkIn": "2025-07-15",
"checkOut": "2025-07-22",
"adults": 2,
"maxListings": 50
})
for listing in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{listing['name']}: €{listing.get('pricePerNightValue', 'N/A')}/night, {listing.get('rating', 'N/A')}⭐")

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('silentflow/airbnb-search-scraper-ppe').call({
mode: 'search',
locations: ['Barcelona'],
locale: 'es',
currency: 'EUR',
checkIn: '2025-07-15',
checkOut: '2025-07-22',
adults: 2,
priceMax: 150
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Found ${items.length} listings`);
items.forEach(l => console.log(`${l.name}: €${l.pricePerNightValue}/night`));

cURL / API

curl "https://api.apify.com/v2/acts/silentflow~airbnb-search-scraper-ppe/runs" \
-d '{"mode":"search","locations":["Paris"],"locale":"fr","currency":"EUR","adults":2,"maxListings":50}' \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN"

πŸ“ˆ Performance & limits

MetricValue
Listings per page~18
Enrichment speed~2 listings/second
Max pages per location200
Supported markets35+ locales

πŸ’‘ Tips for best results

  1. Add dates for accurate prices: Without check-in/check-out dates, price totals and fee breakdowns are not available
  2. Start with maxListings: 50: Test your filters before running large scrapes
  3. Match locale to destination: Use fr for France (airbnb.fr), es for Spain (airbnb.es)
  4. Large cities: Paris, London, New York can have 100+ pages, use priceMin/priceMax or roomTypes to narrow results

❓ FAQ

Q: Do I need an Airbnb account to use this scraper? A: No. The scraper works without any credentials.

Q: Why are cleaning fees and service fees missing? A: Fee breakdowns are only available when check-in and check-out dates are provided. Add dates to your input to get full price details.

Q: What data is included for each listing? A: Every listing includes full detail page data: description, amenities, cancellation policy, host info, photos, and more. There is no reduced mode. You always get the complete dataset.

Q: How many listings can I scrape per location? A: Airbnb typically shows up to ~3,600 listings per search (200 pages Γ— 18 listings). Use price or room type filters to narrow results for large cities.

πŸ“¬ Support

Need something this scraper does not do yet? We ship features fast.

  • Feature requests go straight to our backlog
  • Enterprise needs? We do custom integrations

Check out our other scrapers: SilentFlow on Apify