Airbnb Host Listings Scraper
Pricing
from $5.00 / 1,000 results
Airbnb Host Listings Scraper
Paste any Airbnb host URL (or host ID) and get the host profile plus every public listing they manage. Pulls verified-since date, languages, response stats, total listings count, plus per-listing fields (room type, beds, photo, rating, review count). Optionally fetches full PDP detail per listing.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer
Crikit
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 hours ago
Last modified
Categories
Share
Paste an Airbnb host URL (or just a host ID) and the Airbnb Host Listings Scraper returns the host's full public profile plus every listing they manage. One clean record per listing, with the host profile flattened in. Built directly on Airbnb's public GraphQL API, so it is fast, cheap, and does not require a browser, cookies, or login credentials of any kind.
What the Airbnb Host Listings Scraper does
Give the actor a host URL like https://www.airbnb.com/users/show/107434423 and you get back:
- The host's profile: name, location, biography, profile picture, languages spoken, response stats, identity verification status, Superhost flag, years hosting, total listings count, total reviews received, and a structured array of all profile prompts.
- Every public listing the host manages, with: numeric ID, canonical URL, property type, room type, beds, bedrooms, bathrooms, primary photo, thumbnail, instant-book flag, rating average, and review count.
- Optionally (one extra call per listing): the full PDP detail: description HTML, all photos, full amenity list, highlights, location coordinates, cancellation policy, and house rules.
The Airbnb Host Listings Scraper handles single-property Superhosts and large property-management companies on the same code path. Airbnb's public API caps managed-listings responses at 10 per host, and the actor faithfully reports hostManagedListingsTotalCount so you always know whether you have the whole set or the first 10 of a larger portfolio.
When to use this actor
- Real estate market analysis: map portfolio sizes across cities, find professional hosts vs. casual hosts, segment by Superhost status.
- Property management lead generation: identify multi-listing operators by name and location.
- Competitor research: see what a competitor host charges per night across all their listings.
- Investor due diligence: confirm a host's track record and tenure before partnering.
- Data enrichment: hydrate a list of host IDs with structured profile data.
- Aggregating reviews and ratings for sentiment or reputation analysis.
Input
The Airbnb Host Listings Scraper accepts host URLs, host IDs, or both:
{"startUrls": [{ "url": "https://www.airbnb.com/users/show/107434423" },{ "url": "https://www.airbnb.com/users/show/15782486" }],"hostIds": ["10930913"],"includeFullListingDetails": false,"maxItems": 50,"maxConcurrency": 5}
Input fields
startUrls(array of{ url }objects): one or more host profile URLs.hostIds(array of strings): numeric host IDs, equivalent to passing the corresponding URL.includeFullListingDetails(boolean, default false): when on, each listing is enriched with PDP-level fields (description, photos, amenities, coordinates, house rules). Adds one extra API call per listing.maxItems(integer, optional): hard cap on total records pushed.maxConcurrency(integer, default 5): how many hosts to process in parallel.locale(string, defaulten-US): Airbnb locale.currency(string, defaultUSD): currency for price-bearing fields.proxyConfiguration(object): Apify proxy configuration (defaults to automatic).
Output
One record per listing, with the host profile flattened into every record so each row is self-contained. For hosts with no public listings, a single host-only record is emitted with listingId set to null. Records include over 50 host and listing fields; full type definitions live in dataset_schema.json.
Sample output (one listing record)
{"extractionStatus": "ok","hostId": "15782486","hostUrl": "https://www.airbnb.com/users/show/15782486","hostName": "Lodgewell","hostLocation": "Austin, TX","hostIsSuperhost": true,"hostManagedListingsTotalCount": 36,"hostRatingAverage": 4.8,"hostTimeAsHostYears": 11,"hostLanguages": "English, Spanish","listingId": "28254684","listingUrl": "https://www.airbnb.com/rooms/28254684","listingName": "Cozy East Austin Bungalow","listingPropertyType": "House","listingRoomType": "Entire home","listingBeds": 2,"listingBedrooms": 1,"listingBathrooms": 1,"listingRatingAverage": 4.9,"listingReviewCount": 412,"listingPictureUrl": "https://a0.muscache.com/im/pictures/...jpg","scrapedAt": "2026-05-16T14:30:00.000Z"}
How the Airbnb Host Listings Scraper works under the hood
The actor calls Airbnb's public UserProfileLegacyQuery GraphQL endpoint with the persisted query hash, no authentication, no cookies, no API key beyond the public client identifier that Airbnb ships in every page. When includeFullListingDetails is on, it additionally calls StaysPdpSections per listing. Both endpoints return JSON, so no headless browser is ever launched. The actor runs comfortably at 512 MB and processes 5 hosts in parallel by default.
Pricing
Flat pay-per-event pricing: one charge per record written to the dataset. No per-input charges, no per-host start fees, no surprises. Hosts with no listings produce one host-only record; hosts with N listings produce N records.
Limits and constraints of the Airbnb Host Listings Scraper
- Airbnb's public API returns at most 10 listings per host call. The
hostManagedListingsTotalCountfield always reports the full total. For property-management companies with hundreds or thousands of listings, only the most recently surfaced 10 are returned. - Private profiles (users who are not hosts, or who have hidden their profile) return an error record instead of a listing record.
- Output text fields respect the
localeinput.
FAQ
Do I need an Airbnb account or login to scrape with this actor?
No. The Airbnb Host Listings Scraper uses Airbnb's public API surface. No login, no cookies, no session tokens.
Can the Airbnb Host Listings Scraper return more than 10 listings per host?
No. Airbnb's public API hard-caps the response at 10 managed listings, and there is no offset or cursor parameter exposed for this field. The actor returns the same data Airbnb's host profile page shows publicly.
Does the Airbnb Host Listings Scraper work for hosts in any country?
Yes. Airbnb's API is global; pass any host URL from any Airbnb regional domain (.com, .ca, .fr, .co.uk).
How fast is the Airbnb Host Listings Scraper?
About one host per second on default settings with one API call per host. With includeFullListingDetails on, each listing adds one extra call, so a 10-listing host takes roughly 5 seconds end to end.
What Python / Node libraries does this use?
The actor is built on Crawlee and the official Apify SDK for Node.js. It uses got-scraping for the HTTP transport. No browser dependencies.