Airbnb Guest Origin Scraper – Guest Demographics by Country avatar

Airbnb Guest Origin Scraper – Guest Demographics by Country

Pricing

from $2.50 / 1,000 results

Go to Apify Store
Airbnb Guest Origin Scraper – Guest Demographics by Country

Airbnb Guest Origin Scraper – Guest Demographics by Country

Discover WHERE Airbnb guests come from. Extracts reviewer locations from listing reviews (public data, no login) and aggregates guest demographics by country and region — per listing and per market. Search by location, bounding box, URL, or listing IDs.

Pricing

from $2.50 / 1,000 results

Rating

0.0

(0)

Developer

Luis Segura

Luis Segura

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Discover where Airbnb guests actually come from. This actor extracts reviewer locations from Airbnb listing reviews (100% public data — no account or login required) and turns them into ready-to-use guest demographic breakdowns by country and region, per listing and per market.

No account required. No API key needed.


Why this data is valuable

Official tourism statistics tell you who enters a country — they never tell you who stays in short-term rentals, or in which exact neighborhood. This actor fills that gap:

  • Hosts & property managers — adapt your listing to your real guest mix (hot water expectations, plug adapters, welcome book language, coffee vs. tea) and target your ads where your guests actually live. If 40% of your guests are Canadian, advertise in Canada.
  • STR investors — before buying in a zone, see which nationalities visit it and whether they match your price segment.
  • Tourism boards & DMOs — hyperlocal source-market data for vacation rentals that exists in no official statistic.
  • Market researchers & consultancies — origin-of-demand studies by micro-zone, with year-over-year trend data included.

What You Get

Three row types in one dataset:

1. review rows — one per review

FieldDescription
listingId, listingUrl, listingTitleThe listing
reviewerName, reviewerIdThe guest
date, rating, languageReview metadata
reviewerLocationRawLocation exactly as shown on Airbnb, e.g. "Brooklyn, New York"
countryNormalized country — "United States"
countryCodeISO code — "US"
region"North America", "Europe", "Caribbean", ...

2. listing_summary rows — one per listing

Full demographic profile: byCountry (count + % per country), byRegion, topCountry, locationCoveragePct, distinctCountries.

3. global_summary row — one per run

The whole market aggregated, plus byYearTopCountries — top source countries per review year, so you can see demand trends (e.g. Canadian share growing 2022→2025).

How to Use It

Analyze a whole market (easiest):

{ "location": "Lisbon, Portugal", "maxListings": 50 }

Analyze specific listings:

{ "urls": ["https://www.airbnb.com/rooms/48711480"], "maxReviewsPerListing": 0 }

Summaries only (cheapest for market studies):

{ "location": "Tulum, Mexico", "maxListings": 100, "emitReviewRows": false }

Also supports Airbnb search URLs and raw GPS bounding boxes.

Sample Output

{
"type": "listing_summary",
"listingId": "48711480",
"reviewsScraped": 100,
"reviewsWithLocation": 87,
"locationCoveragePct": 87,
"distinctCountries": 12,
"topCountry": "United States",
"topCountryPct": 43.68,
"byCountry": [
{ "country": "United States", "countryCode": "US", "count": 38, "pct": 43.68 },
{ "country": "Canada", "countryCode": "CA", "count": 14, "pct": 16.09 },
{ "country": "France", "countryCode": "FR", "count": 9, "pct": 10.34 }
],
"byRegion": [
{ "region": "North America", "count": 52, "pct": 59.77 },
{ "region": "Europe", "count": 21, "pct": 24.14 }
]
}

How it works

The actor reads the same public reviews data Airbnb shows on every listing page, including the reviewer's self-reported location. Locations are then normalized (handles English, Spanish, French, German and Portuguese location strings, US states, Canadian provinces, and 200+ major cities) into canonical countries and regions.

  • Reviews are fetched most-recent-first.
  • maxReviewsPerListing: 0 fetches every review for maximum accuracy.
  • Not every reviewer sets a location — expect 60–90% coverage; the exact coverage is reported per listing (locationCoveragePct).

Pricing & Cost

Pay per result. Every dataset row (review, listing summary, global summary) is one result.

ScenarioRows (approx.)
1 listing, 100 reviews~101
50 listings × 100 reviews~5,051
100 listings, summaries only~101

Tip: for market studies, emitReviewRows: false gives you the full demographic picture at ~1% of the cost.

Proxy Recommendations

VolumeProxy
< 20 listingsNone needed
20–100 listingsApify residential recommended
100+ listingsApify residential required

Limitations

  • Reviewer location is self-reported and optional — coverage is typically 60–90%, never 100%.
  • Locations resolve to country level; city-level analysis is possible from reviewerLocationRaw.
  • Unrecognized/ambiguous locations are kept raw with country: null so you never lose data.

This actor collects only publicly visible data shown to any anonymous visitor on airbnb.com listing pages. It does not access private profiles, does not log in, and does not collect contact information. Please use the data in compliance with applicable laws and Airbnb's terms.