Airbnb Host Contact & Lead Scraper
Pricing
$14.99/month + usage
Airbnb Host Contact & Lead Scraper
Airbnb Host Contact & Lead Scraper helps you collect host phone numbers directly from Airbnb pages. Use the data for property services, partnerships, and local sales outreach at scale.
Pricing
$14.99/month + usage
Rating
0.0
(0)
Developer
Scrapio
Maintained by CommunityActor stats
0
Bookmarked
15
Total users
2
Monthly active users
6 days ago
Last modified
Categories
Share
π Airbnb Host Contact & Lead Scraper Plus
Find Airbnb entities (listings, hosts, experiences) through Google and extract genuine, confidence-tagged contact data β phone numbers and emails β from the public search snippets, together with reliable entity identity (listing / host / experience IDs and the host profile URL).
β οΈ Read this first β honest coverage reality
Airbnb does not publish host phone numbers. The platform deliberately hides host contact details behind its in-app messaging. This actor is a Google SERP ("dork") scraper: it searches site:airbnb.com and reads what Google shows in the result snippets. Because of that:
- Phone coverage is inherently low. Most Airbnb results contain no phone at all. When a phone genuinely appears in a snippet (usually a professional/property-management host or an off-platform listing), it is extracted and tagged with a confidence level. When none is present the phone fields are
null. - Phone numbers are NEVER fabricated. Earlier versions prepended the country dial code to any long digit-run in a snippet (listing IDs, prices, coordinates, "2 guests Β· 1 bedroom") and emitted fake host phones. That is fixed: a number is only accepted when the snippet itself carries a genuine
+/00country prefix (strict mode), or β in loose mode β a clearly phone-formatted national number of plausible length. A bare digit run is never turned into a phone. - Emails are often more findable than phones and are extracted from the same snippets.
- The one thing this engine produces with 100% reliability is entity identity β the listing ID, host user ID or experience ID parsed from the Airbnb URL, plus the host profile URL. That is the durable value here.
If you need verified host phone numbers at scale, no tool can reliably produce them from Airbnb β they are not public. Use this actor for lead identity + emails + occasional professional-host phones, always confidence-tagged and never faked.
β¨ What it does
- π Keyword search β builds
site:airbnb.com "+<dialcode>" "<keyword>"and paginates Google. - π Direct URL mode β paste Airbnb listing / host / experience URLs to get their entity identity directly (no Google, no page fetch).
- π·οΈ Entity extraction β
airbnbEntityType(room / user / experience / other),listingId,hostUserId,experienceId,hostProfileUrl. - π Genuine phone extraction β
phoneE164,phoneNational,allPhoneNumbers, withphoneConfidence(high / medium) andphoneSource. - βοΈ Email extraction β
email+allEmailsfrom the snippet. - π§Ή Data quality β canonical URLs, dedup within a run and (optionally) across runs,
null(never a fake) when data is absent. - π― Filters β
requireContact,entityTypes,includeKeywords,excludeKeywords. - π§ Provenance β
keyword,googleQuery,serpRank,serpPage,inputMode,scrapedAt.
π§© Input
| Field | Type | Description |
|---|---|---|
keywords | array | Search terms for the Google dork. Empty if you only use startUrls. |
startUrls | array | Direct Airbnb listing / host / experience URLs (entity identity only). |
country | enum | Country whose dial code seeds the dork and phone plausibility check. |
maxResultsPerKeyword | integer | Row cap per keyword (default 20). |
maxResults | integer | Global row cap for the run (0 = unlimited). |
requireContact | boolean | Only emit rows that have a phone or email. |
phoneCountryStrict | boolean | Strict (default) accepts only +/00-prefixed numbers; loose also accepts plausible national numbers. |
entityTypes | array | Keep only room / user / experience / other. |
includeKeywords | array | Row must contain one of these in title/snippet. |
excludeKeywords | array | Drop rows containing any of these. |
dedupAcrossRuns | boolean | Remember canonical URLs across runs (default true). |
proxyConfiguration | object | Uses the Apify GOOGLE_SERP proxy group. |
Example input
{"keywords": ["property management", "superhost"],"country": "United Kingdom (+44)","maxResultsPerKeyword": 20,"phoneCountryStrict": true,"requireContact": false,"entityTypes": ["room", "user"],"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["GOOGLE_SERP"] }}
π€ Output
Each row:
{"airbnbEntityType": "room","listingId": "12345678","hostUserId": null,"experienceId": null,"hostProfileUrl": null,"title": "Cosy flat in central London","phoneE164": "+447911123456","phoneNational": "7911123456","phoneConfidence": "high","phoneSource": "serp-snippet","allPhoneNumbers": ["+447911123456"],"email": "host@example.com","allEmails": ["host@example.com"],"country": "United Kingdom","dialCode": "+44","url": "https://www.airbnb.com/rooms/12345678","description": "β¦snippetβ¦","keyword": "property management","googleQuery": "site:airbnb.com \"+44\" \"property management\"","serpRank": 3,"serpPage": 1,"inputMode": "search","scrapedAt": "2026-07-02T10:00:00Z"}
Fields are null when the datum is genuinely absent β never a placeholder or a fabricated value.
π« Deferred (not yet implemented β no dead toggles)
These require fetching the Airbnb listing/host page or external sites (residential proxies, higher cost, anti-bot risk) and are intentionally not shipped as fake toggles:
- Listing / host page fetch for real title, host name, superhost status, coordinates, photos.
- Off-platform contact enrichment (following external sites from a listing).
- City / location discovery (Airbnb search β listings).
βοΈ Compliance
Collects only publicly available information returned by Google. Respect Airbnb's Terms, Google's Terms, and applicable data-protection law (GDPR/CCPA); use extracted contact data lawfully.