Airbnb Unique Stays Β· 18 Categories Β· City or URL
Pricing
from $2.99 / 1,000 results
Airbnb Unique Stays Β· 18 Categories Β· City or URL
Scrape Airbnb unique stays by city: castle, treehouse, dome, yurt, igloo, houseboat, barn, island, and 10 more. Full listing detail per row. Apify Actor.
Pricing
from $2.99 / 1,000 results
Rating
0.0
(0)
Developer
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
a month ago
Last modified
Categories
Share
Airbnb Unique Stays Scraper Β· Castles, Treehouses, Domes
Discover and export Airbnb's unique stay inventory by city and category β castles, treehouses, domes, tiny homes, yurts, houseboats, islands, and 18 more verified types. Each run returns a clean dataset with full listing detail: title, amenities, capacity, ratings, GPS coordinates, photos, and host fields.
No API key. No Airbnb account. Public search only.
Built on the same extraction pipeline as Airbnb Property Details Scraper β identical schema, same completeness score, same dataset output.
Where this fits in the Airbnb scraper suite
| Your goal | Use this actor |
|---|---|
| Find castles, treehouses, domes, yurts in a city β full listing detail | This actor |
| Scrape any Airbnb listing (not category-filtered) by URL or city search | Property Details Scraper |
| Find professional hosts / property managers with emails and phones | Professional Host Scraper |
| Get all listings from one specific host's portfolio | Host Portfolio Scraper |
| Monitor price changes on specific listings over time | Price Monitor |
| Find Airbnb Experiences (activities, tours) in a city | Experiences Scraper |
Common workflow: Use this actor to find unique stays in a city β then feed those listing URLs into Professional Host Scraper to get the operator's contact details (email, phone, company) for B2B outreach.
Who is this for?
| You are⦠| Typical goal | Suggested setup |
|---|---|---|
| Travel data team / marketplace | Build a "unique stays" inventory or comp set for a region | City search Β· castle or treehouse Β· export JSON/CSV |
| Market researcher | Compare atypical supply across multiple cities | Add several cities in the location field |
| Revenue manager / host operator | Track local castle or dome competitors | City search Β· your category Β· schedule weekly |
| Data analyst | Consistent output schema across all atypical types | Any category Β· same field names as Property Details actor |
| Agency / scraping operator | Batch collect listings for a client's brief | List of cities or paste /rooms/ URLs directly |
What you get by default: title, description, listing URL, GPS, capacity, bedrooms, bathrooms, amenities list, star rating, review count, host display name, host type, photos, price range indicators, and a completeness score. Around 90β100% of listings returned by Airbnb's search filter yield a full detail row.
When to paste URLs directly: If you already have specific listing URLs, paste them in the location field β the search phase is skipped and only those listings are extracted.
Quick start
- Open the actor and click Try for free.
- Set Stay category (e.g. Castle).
- Enter a City β
Lyon, France,Edinburgh, United Kingdom, etc. - Click Start. Results appear in the Dataset tab as listings are scraped.
What it extracts
| Category | Fields |
|---|---|
| Identity | listingId, title, url, description |
| Location | city, countryCode, lat, lng, fullAddress |
| Capacity | guests, bedrooms, beds, bathrooms |
| Amenities | amenities (array), amenitiesCount |
| Ratings | rating, reviewCount |
| Photos | photos (array of URLs), photoCount |
| Host | hostDisplayName, hostType, isSuperhost, hostId |
| Search metadata | searchAtypicalStayType, searchKgTagId, searchCity |
| Quality | completenessScore (0β100) |
Input
| Parameter | Type | Description | Default |
|---|---|---|---|
atypicalStayType | string | Stay category (see dropdown) | castle |
location | string[] | City names or /rooms/ URLs | ["Lyon, France"] |
API-only parameters (not shown in Console form)
These can be passed via the Apify API or input.json for advanced use:
| Parameter | Type | Default | Description |
|---|---|---|---|
proxyConfiguration | object | RESIDENTIAL (auto) | Override proxy settings. On Apify, residential proxy is used automatically. |
maxPages | number | 0 (all) | Limit search result pages per city. 0 = no limit. |
includeBlockedPdpInDataset | boolean | false | Include hotel/unavailable pages in dataset for debugging. |
debug | boolean | false | Verbose input log. |
JSON example
{"atypicalStayType":"treehouse","location":["Lyon, France","Bordeaux, France"]}
Paste listing URLs directly
{"atypicalStayType":"castle","location":["https://www.airbnb.com/rooms/12345678","https://www.airbnb.com/rooms/87654321"]}
How it works
-
Search phase (Phase 1): For each city, the actor calls Airbnb's search with the correct
kg_and_tagscategory filter, resolves the city'splace_idvia autocomplete, and paginates through all result pages. Only actual search results are collected (no map suggestions, no "you might also like" recommendations). -
Extraction phase (Phase 2): Each listing page is fetched and parsed. Data is extracted from Airbnb's embedded
niobeClientDataJSON payload β no browser needed, pure HTTP. -
Output: Rows are pushed to the dataset as soon as each listing is processed. You see results before the run ends.
Output sample
{"listingId":"12345678","title":"Medieval Castle with Tower View","url":"https://www.airbnb.com/rooms/12345678","city":"Lyon, France","lat":45.748,"lng":4.847,"guests":8,"bedrooms":4,"beds":6,"bathrooms":3,"rating":4.92,"reviewCount":147,"amenities":["WiFi","Pool","Kitchen","Parking","Air conditioning"],"amenitiesCount":32,"isSuperhost":true,"hostDisplayName":"Marie","searchAtypicalStayType":"castle","searchKgTagId":8047,"searchCity":"Lyon, France","completenessScore":91}
Important / Limitations
- Proxy: On Apify, a residential proxy is used automatically β no configuration needed. For local development, pass
proxyConfigurationexplicitly ininput.json. - Category coverage: 18 types are verified against Airbnb's
kg_and_tagsfilter API. Some Airbnb-internal categories (tipi, tent, train) are not supported by the standard search endpoint and are excluded. - Hotel listings: Airbnb occasionally surfaces hotel-type pages in category searches; these are excluded from the dataset (they don't have the same data structure).
- Search precision: The actor targets only the listings Airbnb displays for your category + city combination β typically 12β20 per search page, same as what you see on airbnb.com.
- Tag IDs: Airbnb's internal tag IDs (e.g.
8047for castles) can change. If a category returns 0 results, contact us.
Local development
cd airbnb-atypical-stays-scrapernpminstall# Edit storage/key_value_stores/default/INPUT.json with your test input# then run:apify run# Or pass input directly:apify run --input-file=input.json
storage/ is git-ignored. Results appear in storage/datasets/default/ and as output.csv.
To use a proxy locally, add to your input.json:
{"atypicalStayType":"castle","location":["Lyon, France"],"proxyConfiguration":{"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"]}}
Related actors
| Actor | What it does |
|---|---|
| Property Details Scraper | Full listing detail for any city or URL β no category filter, same output schema |
| Professional Host Scraper | Find property managers by city β emails, phones, company name, RCS. EU-focused |
| Host Portfolio Scraper | All listings from one host profile β useful upstream of this actor or Property Details |
| Price Monitor | Track price changes on saved listings over time |
| Experiences Scraper | Airbnb Experiences (activities, tours) by city |
| Calendar Availability Scraper | Availability calendar for specific listings |
Support
Contact corentin@outreacher.fr for custom scraping, scheduled exports, or bespoke automation.
