Airbnb Scraper avatar

Airbnb Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Airbnb Scraper

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

API ninja

Maintained by Community

Actor stats

4

Bookmarked

192

Total users

50

Monthly active users

4 hours ago

Last modified

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

  1. Open the Input tab.
  2. Enter a full location name in query, for example New York City, New York, United States.
  3. Optionally provide place_id, travel dates, guest counts, and nightly price limits.
  4. Choose a listing limit or enable scrapeAll.
  5. 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.

FieldDescription
queryRequired location name; include the state and country for accuracy
place_idOptional Google place ID, if you already know it; otherwise leave blank
checkin, checkoutPresent or future YYYY-MM-DD dates, supplied together; checkout must be later
adults0–16; default 2
children0–15; default 0
infants, pets0–5 each; default 0
price_min, price_maxOptional nonnegative integer nightly limits in the domain's currency
domainAirbnb country domain or URL; default airbnb.com
homesPerSearchActor listing limit; default 120
scrapeAllIgnore 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

FieldsDescription
id, name, title, linkListing identity, description, and Airbnb URL
summary, bedrooms, beds, bathroomsAccommodation information; unavailable values may be null
rating, reviews_countRating and review count
is_superhost, is_guest_favoriteListing badges
priceNullable price object with amount, currency, qualifier, dates, original amount, and breakdown
coordinatesLatitude and longitude
imagesImage 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.
  • scrapeAll collects 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.