Airbnb Unique Stays · 18 Categories · City or URL avatar

Airbnb Unique Stays · 18 Categories · City or URL

Pricing

from $2.99 / 1,000 results

Go to Apify Store
Airbnb Unique Stays · 18 Categories · City or URL

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

Corentin Robert

Corentin Robert

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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 goalUse this actor
Find castles, treehouses, domes, yurts in a city → full listing detailThis actor
Scrape any Airbnb listing (not category-filtered) by URL or city searchProperty Details Scraper
Find professional hosts / property managers with emails and phonesProfessional Host Scraper
Get all listings from one specific host's portfolioHost Portfolio Scraper
Monitor price changes on specific listings over timePrice Monitor
Find Airbnb Experiences (activities, tours) in a cityExperiences 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 goalSuggested setup
Travel data team / marketplaceBuild a "unique stays" inventory or comp set for a regionCity search · castle or treehouse · export JSON/CSV
Market researcherCompare atypical supply across multiple citiesAdd several cities in the location field
Revenue manager / host operatorTrack local castle or dome competitorsCity search · your category · schedule weekly
Data analystConsistent output schema across all atypical typesAny category · same field names as Property Details actor
Agency / scraping operatorBatch collect listings for a client's briefList 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

  1. Open the actor and click Try for free.
  2. Set Stay category (e.g. Castle).
  3. Enter a CityLyon, France, Edinburgh, United Kingdom, etc.
  4. Click Start. Results appear in the Dataset tab as listings are scraped.

What it extracts

CategoryFields
IdentitylistingId, title, url, description
Locationcity, countryCode, lat, lng, fullAddress
Capacityguests, bedrooms, beds, bathrooms
Amenitiesamenities (array), amenitiesCount
Ratingsrating, reviewCount
Photosphotos (array of URLs), photoCount
HosthostDisplayName, hostType, isSuperhost, hostId
Search metadatasearchAtypicalStayType, searchKgTagId, searchCity
QualitycompletenessScore (0–100)

Input

ParameterTypeDescriptionDefault
atypicalStayTypestringStay category (see dropdown)castle
locationstring[]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:

ParameterTypeDefaultDescription
proxyConfigurationobjectRESIDENTIAL (auto)Override proxy settings. On Apify, residential proxy is used automatically.
maxPagesnumber0 (all)Limit search result pages per city. 0 = no limit.
includeBlockedPdpInDatasetbooleanfalseInclude hotel/unavailable pages in dataset for debugging.
debugbooleanfalseVerbose 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

  1. Search phase (Phase 1): For each city, the actor calls Airbnb's search with the correct kg_and_tags category filter, resolves the city's place_id via autocomplete, and paginates through all result pages. Only actual search results are collected (no map suggestions, no "you might also like" recommendations).

  2. Extraction phase (Phase 2): Each listing page is fetched and parsed. Data is extracted from Airbnb's embedded niobeClientData JSON payload — no browser needed, pure HTTP.

  3. 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 proxyConfiguration explicitly in input.json.
  • Category coverage: 18 types are verified against Airbnb's kg_and_tags filter 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. 8047 for castles) can change. If a category returns 0 results, contact us.

Local development

cd airbnb-atypical-stays-scraper
npm install
# 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"]
}
}

ActorWhat it does
Property Details ScraperFull listing detail for any city or URL — no category filter, same output schema
Professional Host ScraperFind property managers by city — emails, phones, company name, RCS. EU-focused
Host Portfolio ScraperAll listings from one host profile — useful upstream of this actor or Property Details
Price MonitorTrack price changes on saved listings over time
Experiences ScraperAirbnb Experiences (activities, tours) by city
Calendar Availability ScraperAvailability calendar for specific listings

Support

Contact corentin@outreacher.fr for custom scraping, scheduled exports, or bespoke automation.