Airbnb Scraper
Pricing
from $1.00 / 1,000 results
Airbnb Scraper
π‘ Search Airbnb listings with powerful filters, automatic pagination, and structured export-ready results
Pricing
from $1.00 / 1,000 results
Rating
5.0
(1)
Developer
API ninja
Maintained by CommunityActor stats
4
Bookmarked
192
Total users
50
Monthly active users
4 hours ago
Last modified
Categories
Share
What does Airbnb Search Scraper do?
Airbnb Search Scraper extracts Airbnb listings by location, travel dates, guest counts, and nightly price limits from Airbnb. Enter a location in the Input tab and run the Actor to collect listing names, links, photos, ratings, coordinates, and available pricing.
Apify provides API access, scheduling, integrations, monitoring, and dataset exports for repeatable searches.
Why use Airbnb Search Scraper?
Compare rental inventory, research neighborhoods, monitor accommodation prices, and build travel dashboards. Numbered pagination and a configurable listing limit let you collect a small sample or all available search pages without handling requests yourself.
How to use Airbnb Search Scraper
- Open the Input tab.
- Enter a full location name in
query, for exampleNew York City, New York, United States. - Optionally provide
place_id, travel dates, guest counts, and nightly price limits. - Choose a listing limit or enable
scrapeAll. - Run the Actor and open the Output tab to review or export your dataset.
Input
The main form shows the location, Max listings, and Scrape all available listings. Expand βοΈ Search filters (optional) to adjust dates, guests, prices, the Airbnb country site, or an optional Google place ID.
| Field | Description |
|---|---|
query | Required location name; include the state and country for accuracy |
place_id | Optional Google place ID, if you already know it; otherwise leave blank |
checkin, checkout | Present or future YYYY-MM-DD dates, supplied together; checkout must be later |
adults | 0β16; default 2 |
children | 0β15; default 0 |
infants, pets | 0β5 each; default 0 |
price_min, price_max | Optional nonnegative integer nightly limits in the domain's currency |
domain | Airbnb country domain or URL; default airbnb.com |
homesPerSearch | Actor listing limit; default 120 |
scrapeAll | Ignore the listing limit and fetch all available pages; default false |
{"query": "New York City, New York, United States","homesPerSearch": 36,"checkin": "2027-01-01","checkout": "2027-01-06","adults": 2,"price_min": 100,"price_max": 500,"domain": "airbnb.com"}
Omit both dates to see prices for automatically selected upcoming stays. Those dates can differ between listings. The domain sets language and currency, with country sites including airbnb.co.uk, airbnb.ca, airbnb.fr, and airbnb.com.vn.
The updated search uses new input names. Update saved tasks and API clients: use query instead of searchDestinations, checkin/checkout instead of checkIn/checkOut, and price_min/price_max instead of priceRangeMin/priceRangeMax. Cursor pagination, flexible-date modes, separate currency selection, and advanced amenity, property, room-type, host, and booking filters are no longer supported.
Output
Each listing is saved as one dataset item, including its price and coordinate data when available. The dataset overview displays these fields. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
[{"id": "992970965790772607","name": "Steps to Times Square | Full Kitchen Pet-Friendly!","title": "Room in New York City","link": "https://www.airbnb.com/rooms/992970965790772607","summary": ["1 queen bed"],"bedrooms": null,"beds": 1,"bathrooms": null,"rating": 4.73,"reviews_count": 2004,"is_superhost": true,"is_guest_favorite": false,"price": {"amount": 1858,"currency": "USD","qualifier": "for 5 nights","original_amount": 2107,"breakdown": [{ "description": "5 nights x $348.56", "amount": 1742.78 },{ "description": "Resort fee", "amount": 114.8 }],"checkin": "2026-10-16","checkout": "2026-10-21"},"coordinates": { "latitude": 40.75552, "longitude": -73.992 },"images": ["https://a0.muscache.com/im/pictures/prohost-api/Hosting-992970965790772607/original/b6f692d2-f4a7-44ee-a084-b66ba5ba1871.png"]}]
Data table
| Fields | Description |
|---|---|
id, name, title, link | Listing identity, description, and Airbnb URL |
summary, bedrooms, beds, bathrooms | Accommodation information; unavailable values may be null |
rating, reviews_count | Rating and review count |
is_superhost, is_guest_favorite | Listing badges |
price | Nullable price object with amount, currency, qualifier, dates, original amount, and breakdown |
coordinates | Latitude and longitude |
images | Image URLs |
Price amounts are not necessarily nightly prices. Read price.qualifier and the accompanying dates; an amount may cover a multi-night stay. Some listings return price: null even when other listings have prices.
How much does it cost to scrape Airbnb listings?
Cost depends on the Actor's current pricing, Apify resource usage, number of pages, and retries. Check the Actor's pricing tab for current rates. Use a small listing limit for initial runs. Each search page contains up to 18 homes, so a limit of 36 typically needs two successful requests.
Tips and advanced options
- Enter a full location name including the state and country. If you already know the matching Google place ID, add it to improve location accuracy; otherwise leave it blank.
- Set explicit dates when comparing prices across listings.
- Pagination starts at page 1 automatically. Searches commonly have 15 available pages; the Actor never requests beyond page 50 or the reported final page.
scrapeAllcollects available search pages, which may be a capped sample of Airbnb inventory.- Failed requests retry up to five attempts with exponential backoff. If retries are exhausted, the Actor stops fetching and preserves any saved listings; telemetry records the failure.
FAQ, disclaimers, and support
Does this fetch listing details?
The Actor returns search results only. Fields such as bathrooms, ratings, and prices can be unavailable. Use a separate detail workflow if you need additional property information.
Can existing integrations keep using the old output?
Update consumers to the documented output fields. Results now use id, rating, price, and images in place of the previous nested fields.
How should I use the data?
Use the Actor for permitted research and automation, and comply with applicable laws, Airbnb's terms, and the API provider's terms. Results and availability can change between runs.
Where can I get support?
Use the Actor page's Issues tab for bugs, questions, and feature requests. Contact the maintainer there to discuss a custom solution.