Airbnb Scraper - Listings, Prices & Coordinates avatar

Airbnb Scraper - Listings, Prices & Coordinates

Pricing

Pay per event

Go to Apify Store
Airbnb Scraper - Listings, Prices & Coordinates

Airbnb Scraper - Listings, Prices & Coordinates

Scrape Airbnb listings for any destination. Extract nightly prices, discounts, ratings, reviews, GPS coordinates and room types. Export JSON/CSV.

Pricing

Pay per event

Rating

5.0

(2)

Developer

Santhej Kallada

Santhej Kallada

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

18 hours ago

Last modified

Share

Airbnb Scraper — Listings, Prices, Ratings & Coordinates

Scrape Airbnb search results for any destination. Give it a city and get clean, structured listing rows — no API key, no login, no proxy setup.

$1.50 per 1,000 listings. One flat rate on every plan, including free.

Features

  • Scrape Airbnb listings by destination — any city, region or country
  • Extract Airbnb nightly prices and total stay prices
  • Find discounted Airbnb listings — original price and discount flag captured
  • Get Airbnb ratings and review counts — split into separate numeric fields
  • Extract Airbnb GPS coordinates — latitude and longitude per listing
  • Scrape Airbnb room types — entire home, private room, shared room, hotel room
  • Filter Airbnb listings by price range — minimum and maximum nightly rate
  • Search Airbnb by check-in and check-out dates — prices reflect the exact stay
  • Set guest counts — adults and children
  • Export Airbnb data to JSON, CSV or Excel — or pull it from the API

What you get

FieldDescription
listingIdAirbnb's room ID — stable key for tracking a listing over time
nameListing title as the host wrote it
urlDirect airbnb.com/rooms/… link
totalPricePrice for the whole stay, as a number
originalPrice / isDiscountedStrike-through price and discount flag when the host is discounting
pricePerNightNightly rate parsed from the price breakdown
priceDisplay / priceQualifier$1,146 and for 5 nights, as Airbnb shows them
currencyCurrency symbol detected from the price
rating / reviewCountAverage rating and number of reviews, split into separate numbers
isNewTrue for listings with no reviews yet
latitude / longitudeGPS coordinates
roomType"1 bedroom", "Entire home", etc.
badges"Guest favourite", "Superhost", …
imagesPhoto URLs
checkIn / checkOutDates the prices apply to

Plus searchLocation, sourcePage and scrapedAt.

Example input

{
"locations": ["Lisbon, Portugal", "Porto, Portugal"],
"checkIn": "2026-11-23",
"checkOut": "2026-11-28",
"adults": 2,
"maxItems": 200,
"minPrice": 50,
"maxPrice": 400
}

maxItems applies per destination, so two destinations at 200 each returns up to 400 listings.

What it's good for

  • Short-term rental pricing — see what comparable listings charge on your dates
  • Market supply analysis — how many listings, what types, what price bands per city
  • Investment research — pair coordinates with price to map yield by neighbourhood
  • Competitor tracking — watch a set of listings' prices and discounts over time

Things worth knowing

  • Prices only appear when you set dates. Airbnb shows a total for a specific stay; without checkIn/checkOut you get listings and ratings but sparse pricing. Set dates if price is what you care about.
  • Airbnb caps a search at roughly 270 listings (15 pages × 18). Asking for more returns everything available, not an error. To go deeper, split a city into neighbourhoods or use price bands.
  • Duplicates are removed before you are billed. Airbnb repeats listings across pages; we deduplicate on listingId and only charge for unique ones.
  • You are not billed for blocked or redirected pages. If Airbnb bounces the request to a country domain, it's retried automatically and never charged.
  • Empty destinations cost $0.002. A destination returning nothing still requires a page fetch, so it carries a small zero-result charge. Destinations that return listings never do.
  • country controls currency and language. It defaults to us (USD, English). Set it to match the market you're researching.

Pricing

EventPrice
Listing returned$0.0015 ($1.50 per 1,000)
Zero-result destination$0.002
Actor start$0.0005

Flat across every Apify plan — no tier gating.

Output example

{
"listingId": "1739902164963861734",
"name": "THE miniPENTHOUSE terrace & SPA",
"url": "https://www.airbnb.com/rooms/1739902164963861734",
"totalPrice": 1146,
"originalPrice": 1273,
"isDiscounted": true,
"pricePerNight": 254.49,
"priceDisplay": "$1,146",
"priceQualifier": "for 5 nights",
"rating": 5,
"reviewCount": 243,
"latitude": 38.7121,
"longitude": -9.1288,
"roomType": "1 bedroom",
"searchLocation": "Lisbon, Portugal"
}

FAQ

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

Why are some prices missing? Airbnb only shows a price for a specific stay. Set checkIn and checkOut and every listing returns a price; without dates, pricing is sparse by design.

Are duplicate listings billed? No. Airbnb repeats listings across pages; results are deduplicated on listingId and only unique listings are charged.

How many listings can I get per destination? Around 270 — Airbnb itself caps a search at roughly 15 pages of 18. To go deeper, split a city into neighbourhoods or use price bands.

What happens if Airbnb redirects or blocks a request? It is retried automatically with a different exit, and any page that still fails is skipped without charge. Runs report blocked_pages.

Can I get prices in a different currency? Yes — the country option controls the exit location, which determines the currency and language Airbnb returns.

Can I run this on a schedule? Yes — use Apify's scheduler for recurring rate monitoring, or trigger it from your own pipeline via API.

Support

Open an issue on the Actor's Issues tab and I'll take a look.