Airbnb Scraper - Listings, Prices, Ratings & Coords avatar

Airbnb Scraper - Listings, Prices, Ratings & Coords

Pricing

from $0.40 / 1,000 results

Go to Apify Store
Airbnb Scraper - Listings, Prices, Ratings & Coords

Airbnb Scraper - Listings, Prices, Ratings & Coords

Scrape Airbnb search results without login: prices in any currency, ratings and review counts, bedrooms and beds, GPS coordinates, photos and badges. Paste a search URL or type a location. Date, guest and price filters, pagination and a hard max-items cap.

Pricing

from $0.40 / 1,000 results

Rating

0.0

(0)

Developer

Alexander Shulga

Alexander Shulga

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

4 days ago

Last modified

Share

Airbnb Scraper — Listings, Prices, Ratings & Coordinates

Scrape Airbnb search results anywhere in the world, without a login or an API key. Prices in the currency you ask for, results in the language you ask for, and a hard cap so a run can never cost more than you expect.

What you get per listing

Identitylisting id, direct URL, name, property type
Pricedisplayed price, price per night, number of nights, discount, total
Qualityrating, review count, "new listing" flag, badges such as Guest favourite
Spacebedrooms, beds, bathrooms
Placelatitude and longitude
Mediamain photo URL
Host & qualitysuperhost flag, per-category ratings: cleanliness, location, value, check-in, accuracy, communication
Detailroom type, guest capacity, full amenity list

The per-night price and the discount are the fields most scrapers miss. Airbnb leaves its secondaryLine empty and hides the real breakdown in an explanation block — "5 nights x $170.96", "Early booking discount −$189.61". This Actor parses that block, so you get comparable nightly rates instead of a lump sum that depends on trip length.

Turning Fetch full listing details off makes runs about twice as fast and skips the host, amenity and per-category rating fields. It is on by default because most people want the full picture.

Quick start

  1. Type a Location the way you would on Airbnb: Lisbon, Portugal, Tokyo, Japan, Warsaw, Poland, Bali, Indonesia, New York, NY.
  2. Optionally set dates, guests, a price range and a currency.
  3. Press Start.

Defaults work with no configuration. You can also paste search URLs straight from your browser — every filter you set on the Airbnb site is preserved.

Worldwide by design

  • Any location Airbnb knows, on any continent.
  • Any currency: USD, EUR, GBP, PLN, JPY, BRL, INR, AUD, TRY, MXN and the rest. Without this you silently get whatever currency the server's location implies.
  • 26 languages for property types and titles: English, Deutsch, Français, Español, Italiano, Português, Nederlands, Polski, Русский, Українська, Türkçe, 日本語, 한국어, 中文, العربية and more.

Who uses this

  • Short-term rental investors sizing a market before buying.
  • Hosts checking what comparable places nearby actually charge.
  • Property managers repricing against live competition.
  • Researchers and journalists measuring supply, price levels and concentration.
  • PropTech and AI builders feeding live rental data into models and dashboards.

Output example

{
"id": "1373174229965723254",
"url": "https://www.airbnb.com/rooms/1373174229965723254",
"name": "Historical Center - Tagus View",
"propertyType": "Apartment in Lisbon",
"bedrooms": 3, "beds": 4, "bathrooms": 2,
"price": 827, "pricePerNight": 203.33, "nights": 5,
"discount": 189.61, "totalPrice": 827.03,
"priceCurrency": "EUR", "priceSymbol": "€",
"rating": 4.89, "reviewsCount": 98,
"badges": ["Guest favorite"],
"latitude": 38.7102, "longitude": -9.1312
}

Control what you pay for

You are charged per listing, so the cost is always predictable.

RunListingsCost on the Free tier
One page~18~$0.07
Three pages (default)~54~$0.22
All 15 pages~270~$1.08
Anything with maxItems: 5050~$0.20

Higher Apify plans get automatic volume discounts. The Actor also honours the maximum charge you set on a run and stops cleanly instead of burning compute you are not paying for. Duplicate listings across pages are skipped and never billed twice.

Input reference

FieldDescriptionDefault
locationAny place on AirbnbLisbon, Portugal
startUrlsAirbnb search URLs pasted from the browserempty
checkIn / checkOutYYYY-MM-DD. Set both, or neitherempty
adults / children / infants / petsGuest mix2 / 0 / 0 / 0
priceMin / priceMaxNightly price bounds in your currency0 / 0
minBedroomsMinimum bedrooms0
currencyThree-letter codeUSD
languageTwo-letter code, 26 supporteden
maxPagesPages per search, up to 15 (~18 listings each)3
maxItemsHard cap on listings. 0 = no limit0
enrichListingsOpen each listing page for host, amenities and per-category ratingstrue
proxyConfigurationResidential recommended for larger runsApify RESIDENTIAL

Troubleshooting

  • No listings at all? Check the spelling of the location, or relax the filters. A location Airbnb does not recognise fails immediately with a clear message rather than running for minutes and returning nothing.
  • Bedrooms and beds are empty for some rows? Search cards omit room counts for hotels and serviced apartments. Leave Fetch full listing details on and they are read from the listing page instead, which fills them for every row.
  • Prices look odd? Set currency explicitly. Without it Airbnb picks a currency from the server location, which for a cloud run is rarely the one you want.
  • Larger runs slowing down or failing? Enable Apify Proxy with the RESIDENTIAL group.

Measured against the most-used alternative

Same query, same day, 20 listings in Lisbon:

This ActorMost-used alternative
Fields per listing4037
Room counts filled20/20partial
Per-night price and discountyesin a nested blob
Unknown locationrefuses, charges nothingreturned 10 listings spread over 12,031 km and billed them

That last row is the one that matters. Airbnb answers an unrecognised place with random listings from all over the world rather than an error. This Actor measures how far apart the results are and stops before writing a single row, so a typo costs you nothing.

What this Actor does not do

  • Booking.com and other sites. Booking answers automated requests with a challenge page (HTTP 202, no data), so supporting it honestly would need a full browser and constant maintenance. Promising it here would mean charging you for a feature that breaks weekly.
  • Occupancy history. Airbnb's calendar endpoint sits behind a rotating signed query hash. Anything advertising stable historical occupancy from search pages is guessing.

Integrations

Results can be pushed to Google Sheets, Slack, Zapier and Make, or pulled via the Apify API and MCP.