Airbnb Scraper - Stay Listings, Prices & Ratings avatar

Airbnb Scraper - Stay Listings, Prices & Ratings

Pricing

from $5.00 / 1,000 results

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

Airbnb Scraper - Stay Listings, Prices & Ratings

Scrape Airbnb search results in bulk: stay names, nightly and total prices, ratings, review counts, Superhost and Guest favorite badges, coordinates and photos as clean JSON. Many locations or Airbnb search URLs per run, deep pagination, any currency. No login or API key needed.

Pricing

from $5.00 / 1,000 results

Rating

0.0

(0)

Developer

Nicolas van Arkens

Nicolas van Arkens

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Share

Airbnb Scraper — Stay Listings, Prices & Ratings

Scrape Airbnb search results in bulk and get clean, structured JSON for every stay: name, property type, nightly and total price, rating, review count, Superhost / Guest favorite badges, exact coordinates and photo URLs.

Type locations exactly as you would on airbnb.com (or paste full Airbnb search URLs with your own filters), and the scraper paginates deep automatically — up to ~270 listings per search, Airbnb's own limit. Add as many locations as you like in a single run: 10 cities ≈ 2,700 rows.

No login, no API key, no browser — the actor reads the structured data Airbnb itself embeds in each search page, so it's fast and cheap to run.

What data you get

FieldDescription
roomId, urlUnique listing ID and direct link (airbnb.com/rooms/...)
nameListing headline as shown on the card
propertyTypee.g. "Apartment in Barcelona", "Room in Lisbon"
rating, reviewsCountAverage guest rating (1–5) and number of reviews
isNewListingTrue when the card shows "New" instead of a rating
isSuperhost, isGuestFavorite, badgesQuality badges on the card
priceText, priceTotal, priceQualifierDisplayed price, its numeric value, and what it covers (e.g. "total")
pricePerNight, nightsPer-night price derived from Airbnb's own price breakdown
originalPriceText, originalPriceTotalPre-discount price when the host is running a deal
currencyThe ISO currency you asked for — pinned on every request
checkIn, checkOutThe stay dates the price refers to
latitude, longitudeExact map coordinates of the listing
detailsBed/bath/bedroom summary lines (e.g. "2 beds", "1.5 baths")
imagesPhoto URLs for the listing card
searchQuery, positionWhich search produced the row and its rank

Input example

{
"locations": ["Lisbon, Portugal", "Barcelona, Spain"],
"checkIn": "2026-09-04",
"checkOut": "2026-09-08",
"adults": 2,
"currency": "USD",
"maxResultsPerSearch": 270
}

You can also paste full Airbnb search URLs (with amenity filters, map bounds, flexible dates...) into searchUrls — each is paginated the same way.

Output sample (real row)

{
"roomId": "1684094795418458585",
"url": "https://www.airbnb.com/rooms/1684094795418458585",
"name": "3 bedrooms, bright, elegant, Sagrada Familia, AC",
"propertyType": "Apartment in Barcelona",
"rating": 5.0,
"reviewsCount": 4,
"isNewListing": false,
"isSuperhost": true,
"isGuestFavorite": false,
"badges": ["Superhost"],
"priceText": "$2,017",
"priceQualifier": "total",
"priceTotal": 2017.0,
"pricePerNight": 403.4,
"nights": 5,
"originalPriceText": null,
"originalPriceTotal": null,
"currency": "USD",
"checkIn": "2026-08-22",
"checkOut": "2026-08-27",
"latitude": 41.40654,
"longitude": 2.17142,
"details": ["Business host"],
"images": ["https://a0.muscache.com/im/pictures/hosting/Hosting-1684094795418458585/original/5bc4e2b6-41e0-4371-aee3-e8adda50c6cb.jpeg"],
"searchQuery": "Barcelona, Spain",
"position": 1,
"scrapedAt": "2026-07-18T12:04:11.532156+00:00"
}

Use cases

  • Pricing & revenue research — track nightly rates, discounts and occupancy signals across whole cities for specific dates; feed dynamic-pricing models for your own rentals.
  • Market analysis & investment — count supply, ratings and Superhost density per neighborhood (every row has coordinates, so it maps directly).
  • Competitor monitoring — watch new listings, price drops and Guest favorite status in the markets you host in.
  • Travel products & lead lists — build stay-comparison tools, deal alerts, or datasets of top-rated stays for content and newsletters.

FAQ

Do I need dates? No — without dates Airbnb prices a default stay window. Set checkIn/checkOut to get exact totals for your dates (each row echoes the dates its price refers to).

Why do I get at most ~270 rows per search? That's Airbnb's own pagination limit for one search. To collect more, split the market into several locations (neighborhoods, nearby towns) or several filtered searchUrls (e.g. price bands) — each one paginates up to ~270 again.

What currency are prices in? Whatever you set in currency (default USD). The scraper pins it on every request, so rows are consistent regardless of proxy location.

Does it scrape host contact data? No. It returns exactly the public data shown on Airbnb's search result cards.

Which proxy should I use? Leave the default (Apify residential proxy). Airbnb often blocks datacenter IPs.

How am I charged? Pay per result: you're charged once per listing row delivered. Blocked or empty pages cost nothing.