Airbnb Scraper avatar

Airbnb Scraper

Pricing

$4.00 / 1,000 results

Go to Apify Store
Airbnb Scraper

Airbnb Scraper

Scrape Airbnb listings by destination, URL, or listing ID. Extract 70+ fields per listing: prices, ratings, reviews, amenities, host info, policies, and more. HTTP-only. $1.99 per 1,000 results. Never charged for empty or broken data.

Pricing

$4.00 / 1,000 results

Rating

0.0

(0)

Developer

Sourabh Kumar

Sourabh Kumar

Maintained by Community

Actor stats

0

Bookmarked

9

Total users

7

Monthly active users

5 days ago

Last modified

Share

Airbnb Scraper: prices, ratings, reviews, amenities (70+ fields)

Scrapes Airbnb listings from the public site and returns structured JSON. Three modes in one actor: search by location, get full listing details, or pull guest reviews. HTTP-only, so no browser and no Playwright. Runs fast and stays cheap.

You pay nothing for empty or broken results. If a scraped record is missing its id or url, it's not billed.

What you can extract from Airbnb

ModeInputWhat you get
searchLocation strings + filtersListings for your query: price, rating, room type, host info
listingListing URLs or IDsFull record per listing: 70+ fields including amenities, policies, host bio, sleeping arrangements
reviewsListing URLs or IDsEvery guest review with rating, text, reviewer details, language

Switch modes with the mode field. One actor, one schema.

Pricing

$1.99 per 1,000 results. Flat rate.

ResultsCost
1,000$1.99
10,000$19.90
100,000$199.00

No charge for bad data. Records without id or url aren't billed. If a run returns zero results, you pay $0.

70+ Airbnb data fields (listing mode)

Listing mode returns every field below. Search mode returns the Identity, Location, Property, Pricing, Ratings, Host (core), Booking, and Badges groups. Reviews mode returns the Review record fields.

Identity

FieldDescription
idAirbnb listing ID
urlFull listing URL
androidLinkAndroid app deep link
iosLinkiOS app deep link
nameListing title
thumbnailPrimary photo URL

Location

FieldDescription
cityCity
neighborhoodNeighborhood name
latitudeGPS latitude
longitudeGPS longitude

Property

FieldDescription
roomTypeEntire home, private room, or shared room
propertyTypeProperty subtype (apartment, villa, cabin, ...)
homeTierAirbnb tier label (1 = standard, 2 = Plus, 3 = Luxe)
bedroomsNumber of bedrooms
bedsNumber of beds
bathroomsNumber of bathrooms
personCapacityMax guest count

Pricing

FieldDescription
pricePerNightNightly rate
totalPriceTotal for stay when dates are supplied
currencyISO currency code (USD, EUR, GBP, ...)
cleaningFeeCleaning fee (auth-only, null for anonymous runs)
serviceFeeAirbnb service fee (auth-only, null for anonymous runs)
totalBeforeTaxesSubtotal before tax (auth-only, null for anonymous runs)

Ratings

FieldDescription
ratingOverall star rating (1 to 5)
reviewsCountTotal review count
ratingBreakdownPer-category scores: cleanliness, accuracy, check-in, communication, location, value

Host

FieldDescription
hostIdHost's Airbnb ID
hostNameHost first name
hostAboutHost bio
hostResponseRatePercent of messages answered
hostResponseTimeTypical response time label
coHostsArray of co-hosts

Booking

FieldDescription
instantBookInstant booking enabled (auth-only, null for anonymous runs)
minNightsMinimum nights (auth-only, null for anonymous runs)
maxNightsMaximum nights (auth-only, null for anonymous runs)
maxGuestsGuest limit

Badges

FieldDescription
isGuestFavoriteGuest Favorite badge
isNewListingNew listing flag
isSuperhostSuperhost status

Policies

FieldDescription
smokingAllowedSmoking policy
partiesAllowedEvents/parties policy
commercialPhotographyAllowedCommercial photography policy
selfCheckInSelf check-in available
cancellationPolicyPolicy name (Flexible, Moderate, Strict, ...)
houseRulesFull house rules text
checkInTimeCheck-in window
checkOutTimeCheck-out time

Amenities

FieldDescription
amenities[]Full amenity list as string array
amenityWifiWi-Fi available
amenityKitchenKitchen
amenityACAir conditioning
amenityHeatingHeating
amenityParkingParking
amenityPoolPool
amenityWasherWasher
amenityTvTV
amenityWorkspaceDedicated workspace
amenityPetsAllowedPets allowed

Content

FieldDescription
descriptionFull listing description
descriptionOriginalLanguageLanguage code of the original description
neighborhoodOverviewHost-written area description
sleepingArrangementsBed/room layout summary

Quality

FieldDescription
completenessScore0 to 100 score based on how many key fields are populated

Review record fields (reviews mode)

FieldDescription
listingIdAssociated listing ID
listingNameListing title
reviewIdReview ID
reviewerNameGuest first name
reviewerLocationGuest location / tenure string
reviewDateDate of review
reviewTextFull review text
ratingStar rating (1 to 5)
languageLanguage code

Use cases

  • Rental market analysis. Compare prices, occupancy, and amenities across cities or neighborhoods.
  • Short-term rental investment research. Evaluate Airbnb performance by property type and location before buying.
  • Competitor price monitoring. Track nightly rates and amenities for comparable listings on a schedule.
  • Real estate market research. Understand supply, demand, and pricing trends in any market.
  • Review sentiment analysis. Pull thousands of guest reviews for NLP, feedback work, or model training data.
  • Travel data pipelines. Feed Airbnb inventory into booking tools, dashboards, or AI agents.
  • Academic and industry research. Study the short-term rental economy at scale with structured JSON or CSV.

Input

FieldTypeDefaultDescription
modeenumsearchsearch, listing, or reviews
locationQueriesstring[]["New York"]Locations to search (search mode)
urlsstring[][]Listing URLs or IDs (listing / reviews mode)
maxResultsinteger50Max results per location or listing. 0 = unlimited
checkInstring(none)Check-in date YYYY-MM-DD. Required for price breakdown
checkOutstring(none)Check-out date YYYY-MM-DD
priceMininteger(none)Min nightly price
priceMaxinteger(none)Max nightly price
currencystringUSDCurrency code (USD, EUR, GBP, ...)
roomTypeenumanyany, Entire home/apt, Private room, Shared room
minBedroomsinteger(none)Min bedroom count
minBathroomsinteger(none)Min bathroom count
adultsinteger1Number of adult guests
superhostOnlybooleanfalseRestrict to Superhost listings

Search by location

{
"mode": "search",
"locationQueries": ["Paris, France", "Barcelona, Spain"],
"maxResults": 100,
"checkIn": "2026-06-01",
"checkOut": "2026-06-07",
"priceMax": 200,
"currency": "EUR"
}

Get listing details

{
"mode": "listing",
"urls": [
"https://www.airbnb.com/rooms/12345678",
"https://www.airbnb.co.uk/rooms/87654321",
"55555555"
]
}

Scrape reviews

{
"mode": "reviews",
"urls": ["https://www.airbnb.com/rooms/12345678"],
"maxResults": 200
}

Output example (listing mode)

{
"id": "12345678",
"url": "https://www.airbnb.com/rooms/12345678",
"androidLink": "airbnb://rooms/12345678",
"iosLink": "airbnb://rooms/12345678",
"name": "Charming Studio in Le Marais",
"thumbnail": "https://a0.muscache.com/im/pictures/abc123.jpg",
"city": "Paris",
"neighborhood": "Le Marais",
"latitude": 48.8566,
"longitude": 2.3522,
"roomType": "Entire home/apt",
"propertyType": "Apartment",
"homeTier": 1,
"bedrooms": 1,
"beds": 1,
"bathrooms": 1,
"personCapacity": 2,
"pricePerNight": null,
"totalPrice": null,
"currency": null,
"cleaningFee": null,
"serviceFee": null,
"totalBeforeTaxes": null,
"rating": 4.87,
"reviewsCount": 342,
"ratingBreakdown": {
"cleanliness": 4.9,
"accuracy": 4.8,
"checkIn": 4.9,
"communication": 4.9,
"location": 4.7,
"value": 4.8
},
"hostId": "98765432",
"hostName": "Marie",
"hostAbout": "Bonjour! I love hosting travelers from around the world.",
"hostResponseRate": "100%",
"hostResponseTime": "within an hour",
"coHosts": [],
"instantBook": null,
"minNights": null,
"maxNights": null,
"maxGuests": 2,
"isGuestFavorite": true,
"isNewListing": false,
"isSuperhost": true,
"smokingAllowed": false,
"partiesAllowed": false,
"commercialPhotographyAllowed": false,
"selfCheckIn": true,
"cancellationPolicy": "Moderate",
"houseRules": "No smoking. No parties. Quiet hours after 10pm.",
"checkInTime": "3:00 PM",
"checkOutTime": "11:00 AM",
"amenities": ["Wifi", "Kitchen", "Air conditioning", "Washer", "Dedicated workspace"],
"amenityWifi": true,
"amenityKitchen": true,
"amenityAC": true,
"amenityHeating": true,
"amenityParking": false,
"amenityPool": false,
"amenityWasher": true,
"amenityTv": true,
"amenityWorkspace": true,
"amenityPetsAllowed": false,
"description": "Welcome to this bright studio in the heart of Le Marais...",
"descriptionOriginalLanguage": "fr",
"neighborhoodOverview": "Le Marais is one of Paris's most historic and vibrant neighborhoods.",
"sleepingArrangements": "Bedroom 1: 1 queen bed",
"completenessScore": 90,
"scrapedAt": "2026-04-18T12:00:00.000Z"
}

Tips

  • Auth-only fields (cleaningFee, serviceFee, totalBeforeTaxes, minNights, maxNights, instantBook) are only returned by Airbnb to logged-in sessions. This actor runs anonymously, so these come back as null.
  • completenessScore above 80 in listing mode means a fully populated record. Search mode scores are lower by design because search results carry less per-listing data.
  • Any URL format works: .com, .co.uk, .co.in, .de, bare numeric IDs, and /rooms/plus/ URLs are all accepted.
  • Search mode paginates up to 15 pages per location. Airbnb's HTML results overlap across pages, so the scraper deduplicates by listing ID and stops when a page adds zero new results. Typical yield: 20 to 80 unique listings per location.
  • Reviews mode only needs the listing ID or URL. The actor fetches the listing name automatically.

FAQ

Is this an Airbnb API alternative?

Yes. Airbnb shut down its public API for third-party developers. This actor reads the same web pages guests see and returns clean JSON. No API key, no auth, no partnership.

Scraping public Airbnb data is generally considered legal in the US after hiQ Labs v. LinkedIn. Check your local rules and handle personal data (reviewer names, host profiles) responsibly. This actor does not bypass auth, defeat CAPTCHAs, or access private listings.

How many listings can I get per location?

Airbnb's public search returns 20 to 80 unique listings per query depending on the city, filters, and dates. The actor dedupes across pages and stops when there's nothing new. To cover a market deeply, run multiple search variations (different date ranges, neighborhoods, room types, price brackets) and merge the datasets.

How fast is it?

A 50-result search finishes in about 20 to 40 seconds. A single listing fetch takes 1 to 2 seconds. No headless browser means faster runs and much less compute than Playwright-based scrapers.

Does it handle rate limiting?

Yes. Retries with exponential backoff (2s, 4s, 8s) on HTTP 429. Small delays between pages keep requests polite. You can also run it through Apify's residential proxy if you need more resilience.

How do I get check-in / check-out specific pricing?

Pass checkIn and checkOut (YYYY-MM-DD) in the input. The actor threads the dates into the search URL so you get accurate nightly rate and total for the stay.

What's NOT available?

Cleaning fees, service fees, min/max nights, and the instant-book flag are only exposed by Airbnb to logged-in sessions. Those come back null for anonymous scraping. Everything else (title, description, photos, amenities, host info, reviews, coordinates, nightly price, policies) works fine.

Can I export to CSV, Excel, or Google Sheets?

Yes. Apify exports the dataset as JSON, CSV, Excel (XLSX), HTML, XML, or RSS. You can also push to Google Sheets, Airtable, Make, Zapier, or any webhook through Apify Integrations.