Airbnb Search Scraper avatar

Airbnb Search Scraper

Pricing

$1.50 / 1,000 listings

Go to Apify Store
Airbnb Search Scraper

Airbnb Search Scraper

Scrape Airbnb search results by location or by pasting a search URL. Get listing names, prices, ratings, review counts, coordinates, images, and badges as clean JSON. No login or API key. Stable schema built for market analysis, pricing dashboards, and AI agents (MCP-friendly).

Pricing

$1.50 / 1,000 listings

Rating

0.0

(0)

Developer

Virtual Constructs

Virtual Constructs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Scrape Airbnb search results by location or by pasting a search URL. Get listing names, prices, ratings, review counts, coordinates, images, and badges as clean JSON. No login, no API key.

The data comes from Airbnb's own server-rendered search pages, so the actor is fast and cheap to run. Output is a stable, documented schema, easy to wire into pricing dashboards, market analysis, and AI agent workflows.

What data does this Airbnb scraper extract?

One dataset item per listing on the search results:

  • Listing ID and canonical airbnb.com/rooms URL
  • Name and room-type label (e.g. "Home in Austin")
  • Price (parsed amount, currency, and the displayed string)
  • Rating and review count
  • Latitude/longitude of the listing's map position
  • Photo URLs from the card carousel
  • Badges (e.g. "Guest favorite") and a isGuestFavorite flag

How to scrape Airbnb listings

  1. Enter a Location the way you would type it on Airbnb, e.g. Paris, France or Austin, TX.
  2. Optionally set check-in/check-out dates, guest counts, and a price range.
  3. Run it. Results land in the dataset as JSON, CSV, or Excel.

Power users can skip the fields and paste a full Search URL instead (with your own map bounds, amenities, or property-type filters); the actor scrapes exactly that search.

Input

FieldTypeDefaultNotes
locationstringrequired*Search location, e.g. "Paris, France". *Required unless searchUrl is set.
searchUrlstringnoneFull Airbnb search URL; overrides location and the guest/price fields.
checkIn / checkOutstringnoneISO dates (YYYY-MM-DD). Prices are exact totals with dates, estimates without.
adultsinteger1Adult guests.
childrenintegernoneChildren (2-12).
priceMin / priceMaxintegernonePrice bounds in the search currency.
currencystringAirbnb defaultISO code, e.g. USD, EUR, GBP.
maxListingsinteger40Max listings to return (see the depth limit below).
proxyConfigurationobjectApify Proxy onRecommended; Airbnb rotates bot defenses.

Output example

{
"id": "28254684",
"url": "https://www.airbnb.com/rooms/28254684",
"name": "The Iconic Bloomhouse | Romantic Austin Escape",
"roomType": "Home in Austin",
"rating": 4.95,
"reviewCount": 268,
"price": {
"amount": 2698,
"currency": "USD",
"qualifier": "for 5 nights",
"displayPrice": "$2,698",
"originalPrice": null,
"accessibilityLabel": "$2,698 for 5 nights"
},
"coordinate": { "latitude": 30.3159, "longitude": -97.8036 },
"badges": ["Guest favorite"],
"isGuestFavorite": true,
"images": ["https://a0.muscache.com/im/pictures/..."]
}

Every field is always present; missing data is null, never an absent key. New fields may be added in future versions; existing fields will not change shape.

How much does it cost to scrape Airbnb?

Pay per event: you are charged per listing returned. A search that returns nothing costs nothing. See the actor's pricing on its store page.

Limits, stated plainly

  • Search results only. This actor returns the listings on a search (name, price, rating, location, photos). It does not open each room for full descriptions, amenities, host details, availability calendars, or review text. That is a deliberate, separate scope.
  • Depth. Airbnb's search paginates about 18 listings per page up to roughly 270 results per query. To go beyond that, narrow the location or add filters (dates, price, property type) and run again. maxListings caps at 270.
  • Prices are what Airbnb shows on the card. Without dates they are estimates; with check-in/check-out they are the total for that stay. The qualifier field tells you which ("night", "for 5 nights"). Taxes and fees follow Airbnb's own card display.
  • Currency is inferred from the price symbol ($, EUR, GBP, ...). Set the currency input for an explicit code, and read displayPrice for the exact string Airbnb rendered.
  • Coordinates are Airbnb's approximate map position, not an exact street address (Airbnb obscures precise location until booking).
  • This is public search data only. No login, no private host data, no guest data, ever.

FAQ

Can it scrape a single listing's full details (amenities, host, reviews)? Not in this actor; it scrapes search results. A detail-level scraper is a separate scope. Open an issue on the Issues tab if you need it.

Do I need an Airbnb account or API key? No. Nothing to register, no key, no login.

Can I filter by amenities or property type? Yes, indirectly: build the search on airbnb.com with the filters you want, then paste that URL into searchUrl.

Can I export to CSV or Excel? Yes. The dataset exports as CSV, Excel, JSON, NDJSON, or XML.

Why enable the proxy? Airbnb rotates its bot defenses. Apify Proxy spreads requests across IP addresses and keeps runs reliable.