Airbnb Scraper: Listings, Prices, Reviews & Availability avatar

Airbnb Scraper: Listings, Prices, Reviews & Availability

Pricing

$1.99 / 1,000 results

Go to Apify Store
Airbnb Scraper: Listings, Prices, Reviews & Availability

Airbnb Scraper: Listings, Prices, Reviews & Availability

Extract Airbnb listings, vacation rentals and short-term rental data from any destination. Get nightly prices, ratings, guest reviews, photos, coordinates, amenities and host details, plus 365-day availability and occupancy. Export to JSON, CSV or Excel. $1.99 per 1,000 results.

Pricing

$1.99 / 1,000 results

Rating

0.0

(0)

Developer

Sourabh Kumar

Sourabh Kumar

Maintained by Community

Actor stats

0

Bookmarked

69

Total users

18

Monthly active users

8 days ago

Last modified

Share

Airbnb Scraper 🌍 Listings, Prices, Reviews, Availability & Host Data

Extract Airbnb listings, vacation rentals and short-term rental data from any destination. Search a city, pull complete property records, or export every guest review. No browser, no proxy setup, no login. Download as JSON, CSV or Excel.

$1.99 per 1,000 results. No per-run fee. You are never charged for empty or broken data.

What makes this the best Airbnb scraper

  • 🗓️ A full year of availability, not today's snapshot. Every listing can return 365 days of per-night availability with the minimum stay for each date, plus a calculated occupancy rate.
  • 💸 Real nightly rates. Airbnb shows "$421 for 3 nights". Most scrapers pass that straight through as the nightly price. You get pricePerNight and totalPrice as separate, correct numbers.
  • 🧾 Filters that actually filter. Airbnb ignores some search filters and treats others as ranking hints. Where that happens, this scraper enforces your filter on the output, so what you get matches what you asked for.
  • 🚫 Nonsense locations cost you nothing. Type a place Airbnb cannot resolve and it quietly returns random listings from around the world. This scraper detects that, returns zero rows, and charges zero.
  • 🏠 Host portfolios. Turn one listing into every other property the same host runs.
  • Honest nulls. A field is false only when we actually saw it was false. If Airbnb does not say, you get null instead of a guess.

Three scraping modes

🔍 Search mode

Find rentals in any destination. Returns nightly prices, ratings, review counts, photos and GPS coordinates for each property. Accepts plain names (Lisbon), country forms (Kyoto, Japan), and accented spellings (München, São Paulo). Filter by dates, price, room type, bedrooms, bathrooms and superhost status.

🏡 Listing mode

The full property record, 82 fields. Descriptions, every photo, amenities grouped by category, house rules with check-in and check-out times, the six-category rating breakdown, the star histogram, review topics, host profile, and booking rules. Two optional extras: a 365-day availability calendar and the host's other listings.

⭐ Reviews mode

Every guest review on a listing: rating, date, full text, reviewer name and location, and the language it was written in.

Top use cases

  • Short-term rental revenue research. Pull a year of availability across a market and see which nights actually sell, then pair it with real nightly rates.
  • Competitive pricing. Track true per-night prices for comparable properties instead of stay totals that shift with length of stay.
  • Property management prospecting. Find hosts running several listings, then pull their whole portfolio in one call.
  • Guest sentiment analysis. Export reviews plus Airbnb's own topic counts and see what guests keep mentioning.
  • Market supply studies. Measure how much accommodation a city has across multiple destinations, split by room type, price band and occupancy.
  • Regulatory and compliance monitoring. Track listing counts, house rules and minimum-stay rules across a city.

How much does Airbnb Scraper cost?

Pay per result. $1.99 per 1,000 results. No monthly fee, no per-run fee.

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

Apify's Free plan includes $5 of credit a month, about 2,500 results. The $29/month Starter plan covers roughly 14,500 results. A run that returns nothing costs nothing.

Input examples

Search mode

{
"mode": "search",
"locationQueries": ["Lisbon"],
"checkIn": "2026-10-10",
"checkOut": "2026-10-13",
"adults": 2,
"maxResults": 50
}

Search mode with filters

{
"mode": "search",
"locationQueries": ["Berlin", "München"],
"roomType": "Private room",
"priceMin": 40,
"priceMax": 120,
"minBedrooms": 1,
"minBathrooms": 1,
"superhostOnly": true,
"currency": "EUR",
"maxResults": 100
}

Listing mode

{
"mode": "listing",
"urls": ["https://www.airbnb.com/rooms/14926879"],
"checkIn": "2026-08-31",
"checkOut": "2026-09-03",
"adults": 1,
"includeAvailabilityCalendar": true,
"includeHostPortfolio": true
}

Reviews mode

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

Output examples

Real rows captured from live runs. Every row carries scrapedAt.

Search mode

One row per listing card. Search returns identity, location, price and rating. Amenities, host details and policies live in listing mode.

{
"id": "4631529",
"name": "Myloft | chiado | historic center",
"url": "https://www.airbnb.com/rooms/4631529",
"latitude": 38.71061,
"longitude": -9.13817,
"pricePerNight": 202.67,
"totalPrice": 608,
"currency": "USD",
"rating": 4.78,
"reviewsCount": 279,
"thumbnail": "https://a0.muscache.com/im/pictures/fb3c812c-2771-4d0b-b273-5e123e1a06fc.jpg",
"androidLink": "airbnb://rooms/4631529",
"iosLink": "airbnb://rooms/4631529",
"completenessScore": 35,
"photos": [
"https://a0.muscache.com/im/pictures/fb3c812c-2771-4d0b-b273-5e123e1a06fc.jpg",
"https://a0.muscache.com/im/pictures/9b94184e-2039-44c1-baf3-1a0cb9adb602.jpg"
]
}

Listing mode

One row per property, 82 fields. Trimmed here for readability.

{
"id": "14926879",
"name": "Rental unit in London · ★4.61 · Studio · 1 bed · 1 bath",
"url": "https://www.airbnb.com/rooms/14926879",
"city": "London",
"latitude": 51.5101,
"longitude": -0.1949,
"roomType": "Entire rental unit",
"propertyType": "Entire rental unit",
"subDescription": "Entire rental unit, 1 bed, 1 bath",
"personCapacity": 1,
"bedrooms": 0,
"beds": 1,
"bathrooms": 1,
"pricePerNight": 141.09,
"totalPrice": 421,
"totalBeforeTaxes": 420.52,
"currency": "USD",
"minNights": 1,
"maxNights": 1125,
"occupancyRate": 63,
"availabilityDaysAvailable": 134,
"availabilityDaysTotal": 365,
"rating": 4.61,
"reviewsCount": 505,
"ratingBreakdown": {
"Cleanliness": 4.8,
"Accuracy": 4.8,
"Check-in": 4.8,
"Communication": 4.9,
"Location": 5,
"Value": 4.6
},
"ratingDistribution": {
"5Star": 70.7,
"4Star": 21.2,
"3Star": 6.9,
"2Star": 0.8,
"1Star": 0.4
},
"isGuestFavorite": false,
"isSuperhost": false,
"checkInTime": "3:00 PM",
"checkOutTime": "11:00 AM",
"selfCheckIn": true,
"partiesAllowed": false,
"smokingAllowed": false,
"amenityWifi": true,
"hostName": "Max And Billie",
"hostId": "82436841",
"hostYearsHosting": 10,
"hostIsVerified": true,
"hostResponseRate": "100%",
"hostListingsCount": 25,
"instantBook": false,
"cancellationPolicy": "Firm",
"completenessScore": 100,
"amenitiesByCategory": [
{
"category": "Bathroom",
"amenities": [
{
"title": "Hair dryer",
"subtitle": null,
"icon": "SYSTEM_HAIRDRYER",
"available": true
},
{
"title": "Shampoo",
"subtitle": null,
"icon": "SYSTEM_SHAMPOO",
"available": true
}
]
},
{
"category": "...",
"amenities": []
}
],
"highlights": [
{
"title": "24-hour self check-in",
"subtitle": "Check yourself in with the smart lock whenever you arrive.",
"icon": "SYSTEM_CHECK_IN"
},
{
"title": "Beautiful and walkable",
"subtitle": "Guests say this area is scenic and it’s easy to get around.",
"icon": "SYSTEM_LOCATION"
}
],
"reviewTags": [
{
"topic": "Location",
"mentions": 345
},
{
"topic": "Solo travel",
"mentions": 60
},
{
"topic": "Getting around",
"mentions": 127
}
],
"availabilityCalendar": [
{
"date": "2026-08-01",
"available": false,
"minNights": 1,
"maxNights": 1125,
"availableForCheckin": false,
"availableForCheckout": false,
"bookable": null
},
{
"date": "2026-08-02",
"available": false,
"minNights": 1,
"maxNights": 1125,
"availableForCheckin": false,
"availableForCheckout": false,
"bookable": null
}
],
"hostPortfolio": [
{
"id": "1380347388340290999",
"name": "Petite Frugal Notting Hill Studio",
"url": "https://www.airbnb.com/rooms/1380347388340290999",
"roomType": "Rental unit",
"bedrooms": 1,
"beds": 1,
"bathrooms": 1,
"isSuperhost": false,
"isNewListing": false,
"instantBookEnabled": true
}
]
}

Reviews mode

One row per guest review.

{
"listingId": "14926879",
"listingName": "Rental unit in London · ★4.61 · Studio · 1 bed · 1 bath",
"reviewId": "1753548290052833467",
"reviewerName": "Matt",
"reviewerLocation": null,
"reviewDate": "2026-08-16T10:27:25Z",
"reviewText": "Exactly as described and a perfect location for visiting Notting Hill and Kensington. 100 yards from the tube station, with plenty of restaurants,, sh...",
"rating": 5,
"language": "en",
"scrapedAt": "2026-08-24T10:14:27.796Z"
}

Limitations

Worth knowing before you run it.

  • Cleaning and service fees are not available. Airbnb now shows fee-inclusive prices, so the public breakdown gives nights times rate, discounts and the total, with no separate fee lines. Those two fields stay null.
  • Prices need bookable dates. Pass checkIn and checkOut. If the listing cannot be booked on those dates, price fields are null on purpose, and the availability calendar shows you which dates would work.
  • One search query returns a few dozen listings, not thousands. Airbnb caps a search at 15 pages and repeats listings across them. Split a city into neighbourhoods or price bands to go deeper.
  • superhostOnly undercounts. Airbnb only badges some superhosts in search results and has largely replaced that badge with "Guest favorite". This scraper keeps only the ones it can confirm, so you get no false positives but you will miss some. Listing mode reports superhost status reliably.
  • English and US dollars in listing mode. Search mode accepts a currency value.
  • Host portfolios return the first 10 listings. hostListingsCount tells you the real total.
  • neighborhood, license and coHosts are often empty because many listings do not publish them.

Frequently asked questions

Is there an official Airbnb API?

No. Airbnb shut its public API to new developers years ago, and the partner API is limited to approved partners such as property management software. There is no self-serve Airbnb API you can sign up for.

That is why scraping is the practical route for pricing research, availability tracking and market analysis. This actor reads the same public pages a visitor sees and returns them as structured data.

Can I export the data to CSV or Excel?

Yes. Every run's dataset downloads in all the usual formats: JSON, CSV, Excel, XML or HTML. You can also pull it straight from the API. Nothing extra to configure.

Do I need to know how to code?

No. This is a no-code tool: fill in the form, press Start, download the file. If you do want automation, every run is available over the REST API and through scheduled runs.

Do I need to log in or provide cookies?

No. Everything this scraper reads is public. There is no login, no cookie, and no API key to configure.

Will I get blocked?

No proxy setup is needed. The scraper handles Airbnb's protections on its own and retries when a request fails.

What happens if a listing URL is dead or wrong?

It is skipped with a warning and you are not charged for it. Mixed batches of good and bad URLs are fine: valid listings still come back.

Can I paste any Airbnb URL?

Yes. Regional domains (airbnb.co.uk, airbnb.de, airbnb.co.in), /rooms/plus/ links, and bare numeric IDs all work.

How do I get availability and occupancy?

Set includeAvailabilityCalendar to true in listing mode. You get up to 365 days of per-night availability. occupancyRate is always included, with or without that option.

How much does Airbnb Scraper cost?

Airbnb Scraper uses pay-per-result pricing. You pay $1.99 for 1,000 results. The Apify Free plan gives you $5 in usage credits a month, enough for around 2,500 results. If you run regularly, the $29/month Starter plan covers about 14,500 results.

No subscription lock-in. Pause whenever.

Scraping public data is generally allowed in the US and most of the EU, as long as you don't collect personal data covered by GDPR or CCPA without a lawful basis. This actor only touches publicly accessible pages, but how you use the output is on you.

Apify's full breakdown: Is web scraping legal?.

Does it support scheduled runs and integrations?

Yes. Push results into Make, Zapier, Slack, Airbyte, GitHub, Google Sheets, Google Drive and more. Apify treats every actor as a webhook source, so anything that consumes webhooks or pulls from an API works.

Full list: Apify integrations.

Can I use it with the Apify API?

Yes. Every run is available via the Apify REST API:

curl -X POST "https://api.apify.com/v2/acts/sourabhbgp~airbnb-scraper/runs?token=APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode":"listing","urls":["https://www.airbnb.com/rooms/14926879"]}'

Docs: Apify API reference.

Can I use it through an MCP Server?

Yes. Apify ships an MCP server that exposes every actor as a tool, so Claude Desktop, Cursor, and any other MCP-capable client can call Airbnb Scraper. Setup: Apify MCP docs.

Your feedback

Bug, missing field, or odd behavior? Drop a note in the Issues tab. Reports go to a human and fixes usually ship the same week.