Airbnb Scraper - Vacation & Short Term Rental Listings Data
Pricing
from $1.40 / 1,000 results
Airbnb Scraper - Vacation & Short Term Rental Listings Data
Extract public Airbnb listing cards by destination: listing URL, title, description and displayed price. Short term rental data for market research, pricing analysis and revenue benchmarking, exported as structured JSON or CSV rows.
Pricing
from $1.40 / 1,000 results
Rating
0.0
(0)
Developer
Joseph McRell
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
18 days ago
Last modified
Categories
Share
Airbnb Listings Search Scraper - Prices & URLs
Search public Airbnb listing cards by one or more destinations and export 18 structured columns per listing: room URL and listing ID, name, property type, area, bedrooms/beds/baths, rating and review count, badge, the displayed price with the exact check-in and check-out dates it is quoted for, photo count and cover image. Set hard page and result limits to keep a human or AI-agent call predictable.
What data can I extract?
- Listing ID and canonical Airbnb room URL
- Public listing-card title, host-written listing name, property type and area
- Bedrooms, beds and baths as printed on the card
- Average rating and review count
- Card badge: Guest favorite, Top guest favorite, Superhost or Featured hotel
- Displayed price, the number of nights it covers, and its check-in and check-out dates
- Photo count and cover image URL
- The raw card description and price text, unparsed
Input example
{"location": "Austin, Texas","max_items": 20,"max_pages": 1}
To search several destinations in one run, add locations (it combines with location if both are set):
{"location": "Austin, Texas","locations": ["Denver, Colorado", "Miami, Florida"],"max_items": 60,"max_pages": 1}
max_items is a hard cap on the total across every destination, not per destination.
Output example
{"title": "Apartment in West New York","url": "https://www.airbnb.com/rooms/1606851411366087312","description": "Stylish NJ Apt Near NYC + Free Driveway Parking | 3 bedrooms3 bedrooms, · 5 beds5 beds, · 2 baths2 baths | Nov 14 – 19Nov 14 – 19","price": "$1,519 $1,359Show price breakdown for 5 nightsFree cancellation","listing_id": "1606851411366087312","listing_name": "Stylish NJ Apt Near NYC + Free Driveway Parking","property_type": "Apartment","area": "West New York","room_details": "3 bedrooms · 5 beds · 2 baths","rating": "4.91","reviews_count": "22","badge": "Guest favorite","price_total": "$1,359","nights": "5","checkin_date": "2026-11-14","checkout_date": "2026-11-19","photos_count": "29","image_url": "https://a0.muscache.com/im/pictures/hosting/Hosting-1606851411366087312/original/a569cb4e-8144-4359-9391-4e8f74a873b1.jpeg?im_w=720"}
rating and reviews_count are empty on listings with no reviews yet. room_details is empty on hotel cards, which do not print bedrooms, beds or baths. area is a city or town on a home card and a neighbourhood on a hotel card.
Output can be downloaded from the default Apify dataset in JSON, CSV, Excel, XML, or RSS format.
Common use cases
- Discover public listing URLs by destination
- Compare displayed prices for a defined search context
- Build bounded seed datasets for travel-market research
- Supply current public listing-card context to AI agents
Use with AI agents and MCP
Example agent intent:
Find up to 50 public Airbnb listing cards in Nashville and return each listing ID, name, property type, bedrooms and beds, rating, review count, price and the dates that price covers.
{"location": "Nashville, Tennessee","max_items": 50,"max_pages": 3}
Pricing and cost control
Output is billed per result at $0.002 per result (about $2.00 per 1,000 results), plus a $0.001 Actor-start charge billed once per gigabyte of memory at run start. Use max_items to cap both output volume and charges. The price shown on the Apify Store listing is authoritative.
Reliability
The Actor renders public Airbnb search pages, continues across bounded result pages, deduplicates canonical listing URLs, validates required fields, and is covered by fresh-context canaries from Apify infrastructure.
Limitations and responsible use
- Extracts public search-card data only; it does not log in or bypass access controls.
- Price text depends on the source's selected dates, guest context, fees, locale, and experiments.
- This version does not promise full property-detail, host, availability-calendar, or normalized fee fields.
- Results can vary by location and upstream personalization.
- Use the data in accordance with applicable law and platform terms.
Integrate with No-Code, Webhooks & Spreadsheets
- Google Sheets & Excel: Export market comps and rental rate surveys directly into Google Sheets via CSV export or live dataset polling URLs.
- Zapier & Make: Automate real estate market research by sending new listings or rate changes to Airtable or your pricing models.
- Webhooks: Trigger downstream investment analysis microservices when a regional scraping job completes.
- Python / Node.js: Pull rental data directly into Python with
apify-clientto run clustering or geospatial analysis.
Related data tools and workflows
- Google Maps Business Scraper (
captainhandsome/google-maps-business-search): Discover nearby attractions, restaurants, and hospitality businesses surrounding target vacation rentals.
FAQ
Can I export Airbnb listings to CSV?
Yes. Run the Actor and export its default dataset as CSV or Excel.
Does the Actor return normalized nightly and total prices?
Not fully. price_total is the single payable figure with its currency symbol as displayed, nights is how many nights it covers, and checkin_date and checkout_date are the dates it is quoted for, so a per-night figure is one division away. Fees and taxes are not broken out, and price keeps the raw source text. Do not assume one currency across markets.
Why is the price different on every row?
When the search itself carries no dates, Airbnb quotes each card for a window of its own choosing. checkin_date and checkout_date record that window per row, so read them before comparing prices.
Can I scrape several destinations in one call?
Yes. Set location for a single destination, or add locations (an array) for more; the two combine when both are given, listings are deduplicated by URL across all of them, and max_items caps the combined total.
See CHANGELOG.md for maintained schema changes.