Airbnb Scraper — Listings, Prices, Ratings & Details avatar

Airbnb Scraper — Listings, Prices, Ratings & Details

Pricing

from $2.10 / 1,000 listings

Go to Apify Store
Airbnb Scraper — Listings, Prices, Ratings & Details

Airbnb Scraper — Listings, Prices, Ratings & Details

Search Airbnb stays by location or URL and get listings with total and nightly price, rating, reviews, bedrooms, host type, coordinates and photos. Optional details: amenities, description, host profile, category ratings, house rules. Filters: dates, guests, price, room type, bedrooms.

Pricing

from $2.10 / 1,000 listings

Rating

0.0

(0)

Developer

Sergey Lutsak

Sergey Lutsak

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Search Airbnb by place, search URL, listing URL or listing ID and get clean JSON: name, type, total and per-night price for your dates, rating and review count, Guest-favorite and Superhost badges, bedrooms/beds/baths, host type, coordinates and photos. Turn on details to add amenities, description, property type, capacity, host profile, category ratings, house rules, safety info and all photos. Uses Airbnb's own data endpoints — no browser, no login — so runs are fast and cheap.

Use cases

  • Market research & pricing — compare nightly rates, occupancy signals and ratings across a city or neighbourhood for given dates.
  • Property investment & short-term-rental analysis — count listings by type, bedrooms, price band and host type (individual vs. business).
  • Travel apps & AI agents — feed structured availability and pricing into planners, chatbots or recommendation engines.
  • Monitoring — track a set of listings (by URL/ID) for price and rating changes on a schedule.

Input

FieldTypeDefaultDescription
locationsarray of strings—Places (Warsaw, Poland), Airbnb search URLs (dates, guests and filters in the URL are respected), listing URLs or numeric IDs
maxItemsinteger100Cap per location. Airbnb serves at most ~280 results per search; narrow with dates, price or room type for different sets
checkIn, checkOutYYYY-MM-DD—Stay dates (set both). Prices then reflect the actual stay
adults, children, infants, petsinteger1 / 0 / 0 / 0Guests
currencystringUSDISO 4217 code for prices
priceMin, priceMaxinteger—Per-night price bounds
roomTypesarrayallentire, private, shared, hotel
minBedrooms, minBeds, minBathroomsinteger—Minimum counts
includeDetailsbooleanfalseOne extra request per listing for the full details block
localestringenLanguage of names and descriptions
proxyobjectApify datacenter proxyProxy configuration
{
"locations": ["Lisbon, Portugal", "https://www.airbnb.com/rooms/1224722232392342773"],
"checkIn": "2026-11-10",
"checkOut": "2026-11-13",
"adults": 2,
"currency": "EUR",
"priceMax": 150,
"roomTypes": ["entire"],
"maxItems": 200,
"includeDetails": true
}

Output (one item = one listing)

{
"id": "1654891137786665306",
"url": "https://www.airbnb.com/rooms/1654891137786665306",
"name": "Stylish Atelier | Nowy Świat | Self check-in",
"title": "Apartment in City Centre",
"room_type": "Apartment",
"rating": 5.0,
"reviews_count": 28,
"is_guest_favorite": true,
"is_superhost": false,
"host_type": "individual",
"bedrooms": 2, "beds": 3, "bathrooms": 1,
"price": { "total": 347.0, "total_text": "$347", "currency": "USD", "original_total": null, "qualifier": "total", "nights": 3, "per_night": 115.65 },
"free_cancellation": false,
"lat": 52.2351, "lng": 21.0205,
"images": ["https://a0.muscache.com/im/pictures/hosting/…/original/0740dcf4-….png"],
"check_in": "2026-11-10", "check_out": "2026-11-13", "adults": 2,
"query": "Warsaw, Poland",
// with includeDetails = true:
"description": "Unique studio close to the center. It consists of …",
"property_type": "Entire rental unit",
"space_type": "ENTIRE_HOME",
"person_capacity": 4,
"overview": ["4 guests", "1 bedroom", "2 beds", "1 bath"],
"category_ratings": { "cleanliness": 4.6, "accuracy": 4.8, "checkin": 4.8, "communication": 4.9, "location": 4.8, "value": 4.8 },
"is_new_listing": false,
"location": { "lat": 52.24636, "lng": 20.99172, "is_exact": false, "subtitle": "Warsaw, Masovian Voivodeship, Poland" },
"amenities": [{ "group": "Bathroom", "name": "Hair dryer", "description": null, "available": true }],
"amenities_count": 27,
"host": { "id": "389655643", "name": "Krzysztof", "is_superhost": false, "is_verified": true, "rating": 4.67, "reviews_count": 639,
"years_hosting": 6, "response_rate": "Response rate: 100%", "response_time": "Responds within an hour", "type": "business",
"profile_picture_url": "https://a0.muscache.com/im/pictures/user/….jpg" },
"highlights": ["Self check-in"],
"house_rules": ["Check-in after 1:00 PM", "Checkout before 10:00 AM", "No pets"],
"safety_and_property": ["Smoke alarm not reported"],
"sleeping_arrangements": ["Bedroom", "Living room"],
"photos": ["https://a0.muscache.com/im/pictures/hosting/…/original/….jpeg"]
}

Notes:

  • price is what Airbnb shows for your dates and guests in the requested currency (original_total is set when Airbnb displays a discount). Without dates it is Airbnb's indicative total. Listings queried directly by URL/ID carry no price in this version.
  • Field names are a stable contract: new fields may be added in minor versions; renames only in a major version (see Changelog).

The run's key-value store record OUTPUT holds statistics: requests, blocks, empty or unsupported queries, reason_if_empty.

Pricing

Pay only for results: $3.00 per 1,000 listings. Platform usage is included — no compute bills, no proxy costs. A run that finds nothing costs (almost) nothing.

Discounts on paid Apify plans:

Apify planPrice per 1,000 listings
Free plan$3.00
Starter$2.70
Scale$2.40
Business$2.10

Examples (Free plan price):

  • one city search (~250 listings) → $0.75
  • 1,000 listings across four neighbourhoods → $3.00
  • 10,000 listings for a country-wide study → $30.00

Limitations

  • Airbnb caps every search at ~280 results. To cover a large city, run several narrower searches (price bands, room types, neighbourhoods).
  • Reviews text and the availability calendar are not included in this version.
  • Airbnb changes its internal API from time to time; this actor re-discovers the query signatures automatically and is monitored daily.

API & integrations

Run it from code — Python:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("vulcandata/airbnb-scraper").call(run_input={"locations": ["Lisbon, Portugal"], "checkIn": "2026-11-20", "checkOut": "2026-11-22", "adults": 2, "maxItems": 100})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

…or plain HTTP (returns the dataset items directly):

curl -X POST "https://api.apify.com/v2/acts/vulcandata~airbnb-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \
-H "Content-Type: application/json" -d '{"locations": ["Lisbon, Portugal"], "checkIn": "2026-11-20", "checkOut": "2026-11-22", "adults": 2, "maxItems": 100}'
  • No-code: connect to Make, Zapier, n8n, Google Sheets, Slack or webhooks from the actor's Integrations tab.
  • Schedules: run daily/weekly from Schedules and get fresh data automatically.
  • AI agents (MCP): add vulcandata/airbnb-scraper to the Apify MCP server (mcp.apify.com) and let Claude, ChatGPT or Cursor call it as a tool.
  • Exports: JSON, CSV, Excel, XML, RSS — straight from the dataset.

FAQ

Is this legal? The actor collects public listing information that Airbnb shows to every visitor. No login, no private messages, no guest data.

Why do I get at most ~280 listings per search? That is Airbnb's own cap per search. Split a big city into several searches (price bands, room types, neighbourhoods or search URLs with a map area) — duplicates are removed automatically within a run.

Are prices the real prices for my dates? Yes — with checkIn/checkOut you get the total and per-night price Airbnb shows for those dates and guests, in your currency, including Airbnb's discount display when present.

Can I track a list of specific listings? Yes — put listing URLs or IDs into locations and schedule the actor; add includeDetails for amenities, host and rating breakdown.

What happens when Airbnb changes its site? The actor uses Airbnb's own data API and re-discovers its query signatures automatically; it is also tested daily.

More scrapers by VULCAN

Changelog

See CHANGELOG.md.