Airbnb Scraper - Listings, Prices & Ratings avatar

Airbnb Scraper - Listings, Prices & Ratings

Pricing

Pay per usage

Go to Apify Store
Airbnb Scraper - Listings, Prices & Ratings

Airbnb Scraper - Listings, Prices & Ratings

Scrape Airbnb stays via the internal StaysSearch JSON API. Get listing name, price per night, total price, rating, review count, room type, coordinates, host, amenities, and booking URL. Search by location or a single listing URL. No API key needed.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Thirdwatch

Thirdwatch

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Airbnb Scraper

Scrape Airbnb stays by city or listing URL — get price per night, rating, review count, room type, coordinates, and the booking link as clean, structured rows.

Search any city, region, or address and pull a ready-to-analyze table of Airbnb stays: listing name, nightly price, total stay price, average rating, review count, property type, exact map coordinates, and the direct booking URL. Built for short-term-rental market research, pricing intelligence, competitor benchmarking, travel aggregators, and investment analysis. Export to JSON, CSV, or Excel, or pipe straight into your own pipeline.

What you get

  • Location search (primary path): give it a city like "Lisbon, Portugal" and a result count, and get back a clean row per listing with price, rating, review count, room type, and coordinates — the most reliable way to use this Actor.
  • Date-aware pricing: add check-in / check-out dates and a guest count to get the price for that specific stay.
  • Single-listing lookup (secondary path): paste one Airbnb listing URL to pull that listing's detail record, including its amenities list.
  • Choose your currency: prices come back in USD, EUR, GBP, INR, or any standard currency code you set.
  • Stays current automatically as Airbnb updates its site, so your scheduled runs keep working.

Output fields

FieldDescription
room_idAirbnb listing ID
nameListing title (e.g. "Charming Apartment with Terrace")
room_typeProperty type and area (e.g. "Apartment in Lisbon")
price_per_nightDisplayed nightly price with currency symbol
total_priceTotal for the displayed stay, including the original price when discounted
ratingAverage review rating, when the listing has reviews
review_countNumber of reviews, when the listing has reviews
latLatitude of the listing
lngLongitude of the listing
hostHost name, when shown
amenitiesAmenities list (populated for single-listing URL lookups)
imagesListing image URLs
badgesBadges such as Guest Favorite or Superhost, when present
urlDirect booking URL for the listing
search_locationThe location you searched (location search only)
person_capacityMaximum guests the listing sleeps (single-listing URL lookups only)

Example output

{
"room_id": "1709223735731352361",
"name": "Sunlit Studio in Alfama with River View",
"room_type": "Apartment in Lisbon",
"price_per_night": "$92",
"total_price": "$416 for 4 nights",
"rating": 4.89,
"review_count": 223,
"lat": 38.7118,
"lng": -9.1305,
"host": "Mariana",
"amenities": [],
"images": [
"https://a0.muscache.com/im/pictures/miso/Hosting-1709223735731352361/original/abc123.jpeg"
],
"badges": ["Guest Favorite"],
"url": "https://www.airbnb.com/rooms/1709223735731352361",
"search_location": "Lisbon, Portugal"
}

Input parameters

ParameterRequiredDescription
locationYes (unless listingUrl is set)City, region, or address to search for stays — e.g. "Lisbon, Portugal", "Paris", "Bali, Indonesia". This is the primary, most reliable way to use the Actor.
listingUrlNoA single Airbnb listing URL (e.g. https://www.airbnb.com/rooms/12345678) to pull one listing's details. When set, it takes priority over location.
maxResultsNoMaximum number of listings to return for a location search. Default 20, up to 300.
currencyNoCurrency code for prices — e.g. USD, EUR, GBP, INR. Default USD.
checkInNoOptional check-in date (YYYY-MM-DD). When set with checkOut, prices reflect that specific stay.
checkOutNoOptional check-out date (YYYY-MM-DD).
adultsNoOptional number of adult guests, to size availability and pricing for that party.
proxyConfigurationNoProxy settings, pre-configured with a sensible default. Leave as-is unless you have a specific need.

Example: search a city

{
"location": "Lisbon, Portugal",
"maxResults": 50,
"currency": "USD"
}

Example: search with dates and guests

{
"location": "Paris, France",
"checkIn": "2026-08-01",
"checkOut": "2026-08-05",
"adults": 2,
"currency": "EUR",
"maxResults": 40
}

Example: look up a single listing

{
"listingUrl": "https://www.airbnb.com/rooms/1709223735731352361",
"currency": "USD"
}

Use cases

  • Short-term-rental analysts: track supply, nightly rates, and ratings across a market over time to spot pricing and demand trends.
  • Revenue managers and hosts: benchmark your nightly rate against comparable stays in the same city or neighborhood.
  • Real-estate investors: size up Airbnb yield in a target city by pulling live price and rating data before you buy.
  • Travel and listing aggregators: build comparison datasets across multiple destinations from a single, consistent schema.
  • Market researchers and data teams: assemble repeatable, exportable rental-market datasets for dashboards, models, or reports.
  • Founders and product teams: seed a travel or property product with real listings, prices, and geolocation data.

Limitations

  • Location (city) search is the primary, reliable path. A location search returns the core listing fields for each stay: name, price per night, total price, rating, review count, room type, and map coordinates. This is what we recommend for most workloads.
  • The single listingUrl path is secondary. It returns a single listing's detail record, including its amenities list, but does not return live pricing in the same way a location search does, and detail coverage can vary by listing. Treat exhaustive per-listing detail (full amenities, host history) as best-effort, not guaranteed.
  • Newly listed stays often show "New" instead of a rating. For those, rating and review_count come back as null.
  • amenities is populated for single-listing URL lookups; a location search returns the core listing fields above (its amenities is empty).
  • maxResults for a location search is capped at 300 per run. Split larger jobs across multiple searches (e.g. by neighborhood) for deeper coverage.
  • Prices come back as displayed strings with the currency symbol (e.g. "$92"), so you can show them as-is; parse to a number if you need to compute on them.

Compared to alternatives

The most popular Airbnb scraper on Apify Store is tri_angle / airbnb-scraper. Here is how this Actor differs:

  • Cleaner, flatter fields. You get a tidy row per listing — price, rating, review count, room type, latitude, longitude, and booking URL — without digging through deeply nested objects, so the output drops straight into a spreadsheet or database.
  • Reliable location-search core. The city/region search path is designed to be the dependable backbone of your workflow and to keep working through site changes, so scheduled runs don't quietly break.
  • Predictable pay-per-result pricing. You pay per listing returned, with volume tiers that lower the per-result price as you scale — easy to forecast for recurring jobs.
  • Honest about scope. We're explicit that location search is the primary path and single-listing detail is best-effort, so you know exactly what to expect before you run.

FAQ

Do I need an Airbnb account or API key? No. Just provide a location or a listing URL and run it.

What's the best way to get the most listings? Use a location search with maxResults set to your target (up to 300). For larger coverage, run several searches scoped to different neighborhoods or nearby cities.

Can I get prices for specific dates? Yes. Set checkIn and checkOut (and optionally adults), and prices reflect that stay.

Why are rating and review_count sometimes empty? Brand-new listings show "New" instead of a rating until they collect reviews. For those, both fields are null.

Can I get a listing's amenities? Yes — use the single listingUrl lookup. Amenities are not returned on the bulk location search.

Which currencies are supported? Any standard currency code (USD, EUR, GBP, INR, and more). Set it with the currency parameter.

Can I schedule recurring runs? Yes. Schedule it from the Apify Console to track a market's prices and ratings over time.

Built by Thirdwatch — reliable, well-documented data scrapers.

Last verified: 2026-06