Airbnb Search Scraper avatar

Airbnb Search Scraper

Pricing

from $0.50 / 1,000 results

Go to Apify Store
Airbnb Search Scraper

Airbnb Search Scraper

Cheap, fast Airbnb search scraper. Paste a search URL or destination and get every listing — title, price breakdown, rating, coordinates, photos, room topology — at $0.50 per 1,000 results.

Pricing

from $0.50 / 1,000 results

Rating

0.0

(0)

Developer

Crikit

Crikit

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 hours ago

Last modified

Categories

Share

What does Airbnb Search Scraper do?

Airbnb Search Scraper is the cheapest reliable way to scrape Airbnb listings at scale. Paste any Airbnb search URL or destination name, and the Airbnb Search Scraper returns every listing on those search pages: id, title, name, price (with full breakdown), rating, reviews count, coordinates, photos, badges, room topology, and more.

The Airbnb Search Scraper is built on a direct read of Airbnb's own server-rendered search payload, not a slow browser-based scraper. That means:

  • Cheap: $0.50 per 1,000 results: about 92% cheaper than the leading Airbnb scraper on Apify.
  • Fast: 30 to 50 listings per second under typical concurrency.
  • Reliable: every page response carries the full GraphQL schema, so failed extractions are rare and quickly retried.

Use the Airbnb Search Scraper for market research, dynamic pricing intelligence, occupancy modeling, listing alerts, or feeding any Airbnb data pipeline.

How to scrape Airbnb listings

There are two ways to point the Airbnb Search Scraper at a query.

Open Airbnb in a browser, build the search you want with all filters, then copy the URL into the Search URLs field.

{
"startUrls": [
{
"url": "https://www.airbnb.com/s/Asheville--North-Carolina--United-States/homes?adults=2&checkin=2026-06-15&checkout=2026-06-18&currency=USD"
}
],
"maxItems": 200
}

This is the most reliable way to scrape Airbnb because every filter you applied in the browser flows through.

Option 2: location names

Just list destinations and the Airbnb Search Scraper will build the search URLs for you.

{
"locationQueries": ["Lisbon", "Porto", "Madrid"],
"checkIn": "2026-07-01",
"checkOut": "2026-07-04",
"adults": 2,
"currency": "USD",
"maxItems": 500
}

You can mix startUrls and locationQueries in one run.

Output schema

Each listing is one row in the dataset:

{
"id": "33099066",
"url": "https://www.airbnb.com/rooms/33099066",
"title": "Home in Asheville",
"name": "Centrally Located RAD Bungalow",
"subtitle": "Centrally Located RAD Bungalow",
"description": "2 bedrooms, 2 beds, 2 baths",
"roomType": "Home",
"bedrooms": 2,
"beds": 2,
"bathrooms": 2,
"rating": {
"value": 4.86,
"reviewsCount": 378,
"label": "4.86 (378)",
"accessibilityLabel": "4.86 out of 5 average rating, 378 reviews"
},
"price": {
"label": "$914 USD",
"qualifier": "total",
"originalPrice": null,
"currency": "USD",
"perNight": 269.33,
"nights": 3,
"taxes": 105.99,
"total": 914.0,
"breakdown": [
{ "description": "3 nights x $269.33 USD", "priceString": "$808.00 USD" },
{ "description": "Taxes", "priceString": "$105.99 USD" }
]
},
"coordinates": { "latitude": 35.58433, "longitude": -82.57119 },
"badges": ["Guest favourite"],
"thumbnail": "https://a0.muscache.com/im/pictures/...",
"pictures": ["https://a0.muscache.com/im/pictures/...", "..."],
"searchUrl": "https://www.airbnb.com/s/...",
"searchPage": 1
}

price.label, price.perNight, price.total, and price.breakdown give you both the human-readable string and machine-friendly numbers: pick what your pipeline needs.

How many results can you scrape?

Airbnb caps any single search at roughly 270 unique listings (15 pagination cursors of 18 items). To go past that for one geographic area:

  • Subdivide by price brackets: e.g. priceMin=50, priceMax=100 then 100, 200, etc.
  • Subdivide by room topology: minBedrooms=1 vs minBedrooms=2 vs minBedrooms=3
  • Subdivide by neighborhood: submit multiple narrower URLs

The Airbnb Search Scraper deduplicates by listing id across all your seed URLs, so submitting overlapping queries is safe.

How much will the Airbnb Search Scraper cost?

Pay-per-event pricing:

EventPrice
Each result$0.0005
Actor start$0.001 (one-time per run)

Worked examples:

  • Scrape 100 listings: $0.051
  • Scrape 1,000 listings: $0.501
  • Scrape 10,000 listings: $5.001

You only pay for results that land in your dataset.

Tips for reliable Airbnb scraping

  1. Always set a currency: Airbnb returns prices in the IP's local currency by default, so the field is unstable across runs without it.
  2. Set sensible maxItems: Airbnb caps any one search at ~270 listings; setting maxItems higher than that just wastes runtime when only one URL is provided.
  3. Use Apify Residential proxy: the default. Datacenter IPs work but get throttled faster.
  4. Tune maxConcurrency: defaults to 8. Raise to 16 for very large jobs, lower to 4 if you hit retries.

Frequently asked questions about the Airbnb Search Scraper

Does the Airbnb Search Scraper work for any country? Yes. The Airbnb Search Scraper works on every Airbnb domain. International searches return localized text in your selected locale, prices in your selected currency.

Can I scrape individual room details with the Airbnb Search Scraper? This actor returns the rich data shown on the search results page (price, photos, rating, room topology, coordinates, badges). For full descriptions, amenities, reviews, and host details from individual listing pages, use a complementary Airbnb listing details actor.

Is it legal to scrape Airbnb? The Airbnb Search Scraper only requests publicly indexable search pages: the same pages Google indexes. You are responsible for complying with Airbnb's terms of service and any local laws relevant to your use case.

Why is the Airbnb Search Scraper so much cheaper than other Airbnb scrapers? The Airbnb Search Scraper does not run a real browser. It speaks to Airbnb's server-rendered HTML directly, so each listing costs almost no compute. Most competing Airbnb scrapers on Apify still spin up Chromium per page; we don't.

Connect with the Airbnb Search Scraper API

You can call the Airbnb Search Scraper from any code via the Apify API:

curl -X POST "https://api.apify.com/v2/acts/<your-username>~airbnb-search-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"startUrls": [{"url": "https://www.airbnb.com/s/Lisbon/homes?adults=2&currency=USD"}],
"maxItems": 100
}'

The Apify SDK is available for Python and Node.js with a few lines of code.

  • Looking to scrape Airbnb reviews? Pair this Airbnb Search Scraper with an Airbnb Reviews actor.
  • Need Airbnb listing details (full description, amenities, all photos, host bio)? Use an Airbnb Listing Details actor that takes the URLs this Airbnb Search Scraper returns.

Changelog

0.1

  • Initial release. Search URL and location query inputs; pagination through Airbnb's cursor system; full price breakdown with original/discounted prices.