Airbnb Rooms URLs Scraper — Full Listing Details avatar

Airbnb Rooms URLs Scraper — Full Listing Details

Pricing

from $1.90 / 1,000 listings

Go to Apify Store
Airbnb Rooms URLs Scraper — Full Listing Details

Airbnb Rooms URLs Scraper — Full Listing Details

Paste Airbnb listing URLs or IDs and get one flat, analysis-ready row per listing: nightly and total price, 40+ fields, amenities, host profile, GPS, photos, guest reviews, a per-day availability calendar and occupancy & revenue estimates. 14 languages, 20 currencies. Pure HTTP, no browser.

Pricing

from $1.90 / 1,000 listings

Rating

0.0

(0)

Developer

Muhamed Didovic

Muhamed Didovic

Maintained by Community

Actor stats

0

Bookmarked

14

Total users

14

Monthly active users

19 hours ago

Last modified

Share

Airbnb Rooms URLs Scraper

Paste Airbnb listing URLs, get one flat, analysis-ready row per listing. Nightly and total price, 140+ fields, structured amenities and house rules, host profile, GPS, photos, guest reviews, a per-day availability calendar, and occupancy & revenue estimates.

Pure HTTP. No headless browser, no third-party Cloudflare-bypass service.

You give itYou get back
https://www.airbnb.com/rooms/28198214That listing's full record, one row
A bare listing ID (28198214)The same row
500 listing URLs from a spreadsheet500 rows, one run

Why Use This Scraper?

  • Built for the URL-in workflow. You already have the listing IDs. Paste them, get rows. No search parameters to tune, no city to guess at.
  • Deeper rows than a details scraper. Full reviews with host replies, deep host profiles (Superhost, response rate, years hosting, co-hosts), structured amenities and house rules, and a 6-dimension rating breakdown.
  • The per-day availability calendar. Up to 12 months of day-by-day availability, min/max nights, check-in eligibility and nightly price per listing.
  • Occupancy and revenue estimates. AirDNA-style occupancy rates over 30/90/365 days, booked vs available nights, and an estimated annual revenue figure.
  • Price the stay you care about. Set check-in, check-out and guest counts once; every URL is quoted for that stay, including cleaning fees, service fees and taxes.
  • Localized. 14 languages and 20 currencies, so descriptions and prices come back the way your market reads them.
  • Bare IDs accepted. A column of numeric listing IDs pastes in directly — no need to build URLs first.

Overview

This Actor is built for short-term-rental analysts, property managers, revenue managers and researchers who already know which listings they care about and need the full record for each one.

The output is listing-shaped: one dataset row per URL you supply, with 140+ flat columns. It does not discover listings — there is no city search, no filtering by price or beds, no map area. If you need to find listings first, use Airbnb Scraper, which searches by location and accepts the same listing URLs.

Fields are flat and dot-free (pricing_total_price, host_is_superhost, review_cleanliness), so a CSV export drops straight into a spreadsheet or a warehouse table without reshaping.

Supported Inputs

URL types

Input typePatternExample
Listing URLairbnb.<tld>/rooms/<id>https://www.airbnb.com/rooms/28198214
Localized listing URLany Airbnb country domainhttps://www.airbnb.co.uk/rooms/28198214
Listing URL with trackingquery strings are ignoredhttps://www.airbnb.com/rooms/28198214?check_in=2026-11-14&source_impression_id=p3_abc
Bare listing ID6–20 digits28198214

Copy-pasteable startUrls

{
"startUrls": [
"https://www.airbnb.com/rooms/28198214",
"https://www.airbnb.co.uk/rooms/1703580897464514323",
"50633380"
]
}

Unsupported inputs

  • Search URLs (airbnb.com/s/Paris--France/homes) — use Airbnb Scraper
  • Host / user profile URLs (airbnb.com/users/show/12345) — also in Airbnb Scraper
  • Airbnb Experiences and Luxe-only flows
  • Anything behind the Airbnb login wall (host dashboard, messages, payouts)

Unsupported entries are skipped, named in the run's status message, and never charged.

Use Cases

AudienceUse case
Revenue managersPull nightly rates, fees and taxes for a tracked competitive set on a schedule
Property managersAudit their own portfolio's live pricing, amenities and house rules in one export
Short-term-rental analystsAttach occupancy and revenue estimates to a known list of listings
Real-estate investorsScore candidate properties against comparable listings they already shortlisted
ResearchersBulk-export listing records for housing, tourism or pricing studies
AgenciesDeliver client-ready Airbnb datasets without writing or maintaining a scraper

How It Works

How It Works

  1. Input — paste Airbnb listing URLs or bare listing IDs into startUrls
  2. Validate — each entry is resolved to a listing URL; anything that is not a listing is reported and skipped, not charged
  3. Fetch — listings are fetched in parallel batches over plain HTTP through built-in residential proxies
  4. Optional enrichment — reviews, the per-day availability calendar, occupancy & revenue estimates, and host contact-email discovery are each opt-in
  5. Output — one flat row per listing, exportable as JSON, CSV, Excel, HTML, JSONL or RSS

Input Configuration

Input fields

FieldTypeRequiredNotes
startUrlsarray<string>yesListing URLs or bare listing IDs, at least one
checkInstringoptionalYYYY-MM-DD; prices are quoted for this stay
checkOutstringoptionalYYYY-MM-DD; must be after checkIn
adultsintegeroptionalDefaults to 2
childrenintegeroptionalAges 2–12
infantsintegeroptionalUnder 2
petsintegeroptionalAffects pet fees where charged
localestringoptionalDefaults to en-US; 14 languages
currencystringoptionalDefaults to USD; 20 currencies
includeReviewsbooleanoptionalDefaults to false
maxReviewsPerListingintegeroptionalDefaults to 100; 0 means every review
calendarMonthsintegeroptional012; 0 (default) is off
includeRevenueEstimatebooleanoptionalDefaults to false; fetches a 12-month calendar
enrichEmailsbooleanoptionalDefaults to false; host/management contact discovery
qualifyByPaymentbooleanoptionalRequires enrichEmails
maxItemsintegeroptionalDefaults to 10000; also a cost cap
maxConcurrencyintegeroptionalDefaults to 10
minConcurrencyintegeroptionalDefaults to 1
maxRequestRetriesintegeroptionalDefaults to 3
proxyobjectoptionalLeave empty; built-in residential proxy is used

Common scenarios

1. Price a competitive set for a specific stay

{
"startUrls": [
"https://www.airbnb.com/rooms/28198214",
"https://www.airbnb.com/rooms/50633380"
],
"checkIn": "2026-11-14",
"checkOut": "2026-11-18",
"adults": 2,
"currency": "EUR"
}

2. Full record with reviews and a 6-month calendar

{
"startUrls": ["https://www.airbnb.com/rooms/28198214"],
"includeReviews": true,
"maxReviewsPerListing": 200,
"calendarMonths": 6
}

3. Occupancy and revenue estimate for a shortlist

{
"startUrls": ["28198214", "50633380", "1703580897464514323"],
"includeRevenueEstimate": true,
"maxItems": 3
}

Output Overview

Each dataset item is one listing row, with roughly 140 flat fields grouped by prefix:

  • Coreid, title, listing_url, property_type, room_type, property_name
  • Location — city, country, latitude, longitude, neighborhood description, transit notes
  • Pricing — per-night and all-in total for your dates, discounts, taxes, an itemized pricing_fees_breakdown[], and pricing_is_available / pricing_unavailable_reason so a 0 is never ambiguous
  • Capacity — guests, bedrooms, beds, bathrooms
  • Booking — minimum and maximum nights, instant-book, pet policy, cancellation policy
  • Host — id, name, Superhost and verified flags, response rate and time, years hosting, co-hosts
  • Ratings — overall plus the six sub-scores (accuracy, cleanliness, check-in, communication, location, value)
  • Amenities — a flat amenities[] list, a structured amenities_structured[] tree, and normalized amenity_* booleans
  • House rules — structured rules plus normalized house_rules_* booleans
  • Mediamain_image_url, images[], photos_with_captions[]
  • Availability — requested check-in/check-out and whether the listing is available
  • Optionalreviews[], the per-day calendar, and occupancy/revenue estimates

Fields a given listing does not publish come back empty rather than missing, so the column set stays stable across rows.

Output Samples

Listing URL start, hotel-type property, no enrichments

{
"id": "1744240166940757035",
"title": "Nemea Appart Hôtel Paris Levallois · ★New · Hotel in Levallois-Perret",
"listing_url": "https://www.airbnb.com/rooms/1703580897464514323",
"property_name": "Hotel in Levallois-Perret, France",
"property_type": "Room in hotel",
"room_type": "Private room",
"location_city": "Levallois-Perret",
"location_latitude": 48.8979,
"location_longitude": 2.2916,
"accommodation_guests": 2,
"pricing_currency": "USD",
"pricing_base_price": 169.44,
"pricing_total_price": 847.2,
"pricing_nights": 5,
"pricing_is_available": true,
"pricing_unavailable_reason": null,
"pricing_fees_breakdown": [{ "label": "Taxes", "amount": 40 }],
"booking_min_nights": 2,
"review_overall_rating": 5,
"review_count": 1,
"review_cleanliness": 5,
"review_location": 5,
"amenity_wifi": true,
"amenity_gym": true,
"amenity_parking": true,
"amenity_kitchen": false,
"availability_check_in": "2026-09-01",
"availability_check_out": "2026-09-06",
"availability_is_available": true,
"main_image_url": "https://a0.muscache.com/im/pictures/hosting/…",
"meta_pdp_type": "HOTEL",
"meta_scraped_at": "2026-08-28T08:24:34.932Z"
/* …plus ~110 more fields: host_*, description_*, house_rules_*, images[], amenities_structured[], highlights[] */
}

Same listing with includeReviews: true

{
"id": "1744240166940757035",
"review_count": 1,
"reviews": [
{
"rating": 5,
"comments": "Clean, quiet and a two-minute walk from the station…",
"createdAt": "2026-07-19",
"reviewer": { "firstName": "…" },
"response": "…"
}
]
/* review objects are appended to the same listing row, not pushed as separate rows */
}

Key Output Fields

Listing core

  • id, title, listing_url, property_name, property_type, room_type
  • android_link, ios_link, meta_pdp_type, meta_language, meta_scraped_at

Pricing

  • pricing_base_price (per night), pricing_total_price (all-in for your dates, after discounts), pricing_nights, pricing_currency
  • pricing_discounted_price, pricing_original_price, pricing_discount_total, pricing_monthly_price, pricing_monthly_discount
  • pricing_taxes, pricing_cleaning_fee, pricing_service_fee, and pricing_fees_breakdown[] — every fee and discount line as Airbnb labelled it, in your chosen language. Airbnb now folds cleaning and service fees into the nightly rate on most listings and itemizes only some charges, so read the breakdown when the individual fee columns are 0.
  • pricing_is_available, pricing_unavailable_reason — Airbnb refuses to quote dates you cannot book and says why ("Minimum stay is 30 nights"), which separates that from a missing price
  • pricing_price_qualifier, pricing_source

Booking

  • booking_min_nights, booking_max_nights — filled on every listing
  • booking_can_instant_book, booking_allows_pets, booking_cancellation_policy, booking_cancellation_policy_name

Location & capacity

  • location_city, location_country, location_latitude, location_longitude
  • location_neighborhood_name, location_neighborhood_overview, location_public_transit
  • accommodation_guests, accommodation_bedrooms, accommodation_beds, accommodation_bathrooms

Host

  • host_id, host_name, host_profile_url, host_profile_picture_url
  • host_is_superhost, host_is_verified, host_response_rate, host_response_time
  • host_years_hosting, host_months_hosting, host_location, host_about, host_cohosts[]

Ratings

  • review_overall_rating, review_count, review_visible_count
  • review_accuracy, review_cleanliness, review_checkin, review_communication, review_location, review_value

Amenities, rules & media

  • amenities[], amenities_structured[], amenity_wifi, amenity_kitchen, amenity_parking, amenity_pool (and more)
  • house_rules_structured[], house_rules_check_in_after, house_rules_pets_allowed, house_rules_self_check_in
  • main_image_url, images[], photos_with_captions[], highlights[]

Optional enrichments

  • reviews[] — when includeReviews: true
  • availability_calendar[] — when calendarMonths is 1–12
  • occupancy_rate_365d, booked_nights_365d, est_revenue_365d, avg_min_nights — when includeRevenueEstimate: true

FAQ

Which Airbnb URLs are supported?

Listing URLs only — airbnb.<tld>/rooms/<id> on any country domain, with or without query strings, plus bare numeric listing IDs. Search URLs and host profile URLs are not supported here; Airbnb Scraper handles those and listing URLs too.

Can I search by city instead of pasting URLs?

Not in this Actor. That is deliberate — this one is the URL-in tool. Use Airbnb Scraper to search by location, price, dates, beds or bathrooms.

What happens if I paste an unsupported URL?

It is skipped, counted, and named in the run's status message. It costs nothing, and the rest of your URLs still run.

Do the prices include fees and taxes?

pricing_total_price is the all-in figure for your dates. The individual fee columns often read 0 now, because Airbnb folds cleaning and service fees into the nightly rate and itemizes only some charges — pricing_fees_breakdown[] carries every line it does itemize, labelled the way Airbnb labels it. A 0 total is never ambiguous: pricing_is_available and pricing_unavailable_reason say whether Airbnb declined to quote those dates and why.

Are the dates required?

No. Without checkIn / checkOut you get the listing's default quote. With them, prices and availability_is_available reflect that specific stay.

How many reviews do I get?

100 per listing by default. Raise maxReviewsPerListing for more, or set it to 0 for every review — that is slower, since reviews page 20 at a time, and a very review-heavy batch can push a long run against its timeout.

Are host details always populated?

No. Airbnb omits host fields on some property types, notably hotel and professional rate-plan listings, where host_id and host_name come back empty. Consumer listings normally populate them.

Can I scrape private or login-gated data?

No. Only publicly visible listing pages are accessed — nothing behind the Airbnb login, and no host dashboard data.

What export formats are available?

JSON, CSV, Excel, HTML table, JSONL and RSS — anything an Apify dataset supports.

Support

Found a bug or need a field that isn't here? Open an issue on the Actor's Issues tab. Include the input you ran and the listing URL so it's reproducible.

Additional Services

Need a custom field, a scheduled feed into your warehouse, or contact enrichment on top of the listing rows? Custom scraping and data-pipeline work is available — reach out via the author profile.

Explore More Scrapers

More scrapers by the same author on the Apify Store:

  • Airbnb Scraper — search by location, price and dates; also takes listing and host URLs
  • Expedia Scraper — hotel search, prices & availability
  • Zillow Agents Scraper — agent profiles & contact data
  • Yelp Scraper — business details & reviews

🤖 For AI Agents & LLM Apps

Compact reference for AI agents calling this actor via the Apify MCP server or the Apify API (actor: memo23/airbnb-rooms-urls-scraper).

Purpose: Turns Airbnb listing URLs or bare listing IDs into one flat row per listing, with opt-in reviews, a per-day availability calendar, and occupancy/revenue estimates. URL-in only — it does not search.

Minimal input:

{
"startUrls": ["https://www.airbnb.com/rooms/28198214"],
"maxItems": 5
}

Output: one row per listing — id, title, listing_url, property_type, room_type, property_name, location_city, location_country, location_latitude, location_longitude, pricing_currency, pricing_base_price, pricing_total_price, pricing_nights, pricing_is_available, pricing_unavailable_reason, pricing_fees_breakdown[], booking_min_nights, booking_max_nights, accommodation_guests, accommodation_bedrooms, accommodation_beds, accommodation_bathrooms, review_overall_rating, review_count, review_accuracy, review_cleanliness, review_checkin, review_communication, review_location, review_value, host_id, host_name, host_is_superhost, host_response_rate, host_years_hosting, flat amenities[] plus normalized amenity_* booleans, house_rules_structured[], images[], availability_is_available, opt-in reviews[], opt-in availability_calendar[], opt-in occupancy_rate_365d/booked_nights_365d/est_revenue_365d.

Behaviors an agent should know:

  • Only airbnb.<tld>/rooms/<id> URLs and 6–20 digit listing IDs are accepted; search and /users/ URLs are skipped, reported in the status message, and not charged. For search, call memo23/airbnb-scraper instead.
  • maxItems defaults to 10000 — set it to the number of URLs supplied to get an exact cost ceiling.
  • checkIn/checkOut/adults/children/infants/pets apply to every URL that doesn't carry its own dates, and change the price quoted.
  • includeReviews, calendarMonths (0–12), includeRevenueEstimate and enrichEmails are each opt-in and add requests per listing. maxReviewsPerListing defaults to 100; 0 means every review and can run long.
  • Host fields are empty on hotel and professional rate-plan listings; that is Airbnb's data, not a scrape failure.
  • Pay-per-event billing — see the Pricing tab on the actor page.

⚠️ Disclaimer

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Airbnb, Inc. or any of its subsidiaries. "Airbnb" and related marks are trademarks of Airbnb, Inc. All trademarks mentioned are the property of their respective owners.

The scraper accesses only publicly available Airbnb listing pages — no authenticated endpoints, paid features, or content behind the airbnb.com login wall. Users are responsible for ensuring their use complies with Airbnb's Terms of Service, applicable data-protection law (GDPR, CCPA, etc.), and any contractual obligations of their own organization.

SEO Keywords

airbnb scraper, scrape airbnb, airbnb url scraper, airbnb rooms scraper, airbnb listing scraper, airbnb API, airbnb.com scraper, Apify airbnb, airbnb listing details, airbnb price scraper, airbnb reviews scraper, airbnb calendar scraper, airbnb availability data, short term rental data, vacation rental scraper, str market analysis, airbnb occupancy data, airbnb revenue estimate, rental pricing intelligence, property data extraction, travel data scraping, real estate market data