Airbnb Pro Host Contact & Email Scraper avatar

Airbnb Pro Host Contact & Email Scraper

Pricing

from $4.00 / 1,000 host results

Go to Apify Store
Airbnb Pro Host Contact & Email Scraper

Airbnb Pro Host Contact & Email Scraper

Airbnb host email and phone scraper for B2B lead generation. Find property managers, agencies and cohosts with company names, addresses and registration numbers (RCS, SIRET). Search a city, listing URLs or a host profile across 55+ markets. Pay only for hosts that carry contact details.

Pricing

from $4.00 / 1,000 host results

Rating

0.0

(0)

Developer

SilentFlow

SilentFlow

Maintained by Community

Actor stats

1

Bookmarked

33

Total users

1

Monthly active users

3 days ago

Last modified

Share

Airbnb Pro Host Scraper - Pay Per Event

Turn Airbnb into a B2B lead database. Pay only for the results you get. Extract verified business emails, phone numbers, company names, and registration details from professional Airbnb hosts across 55+ markets.

How it works

How it works

โœจ Why use this scraper?

Spending hours scrolling Airbnb looking for property managers? Copy-pasting host details one by one? Getting incomplete data from other scrapers?

  • ๐Ÿ“ง Verified business contacts in every result. Company email, phone, address, and registration numbers (RCS, SIRET, SIREN) extracted directly from Airbnb listing pages.
  • ๐Ÿข Professional hosts separated from individuals. Each result includes a host type classification and contact quality score (email_and_phone, email_only, phone_only).
  • ๐Ÿ’ฐ Pay per lead, not per run. You are charged only for professional hosts that come with a company name, an email or a phone number. Hosts we flag as professional but cannot attach any contact to are still in your dataset, free. No results? No charge. Deduplication avoids paying twice for the same host.
  • ๐ŸŒ 55+ Airbnb markets worldwide. Company detection adapts to local business formats: FR (SAS/SARL/SCI), ES (SL/SRL), EN (LLC/LTD), DE (GmbH/AG), IT (SRL/SPA), and more.
  • โšก Three ways in, no setup. Search by city, paste listing URLs, or point at a host profile. Fill in whichever box fits, combine them, and the run picks it up.

๐ŸŽฏ Use cases

TeamWhat they build
Real estate agenciesProspect list of professional Airbnb hosts to pitch property management services
B2B sales teamsQualified leads with verified emails for outreach campaigns targeting short-term rental operators
Market researchersMap of professional vs. individual hosts by city, with company types and listing counts
Proptech startupsDatabase of property managers for partnership or acquisition opportunities
Tourism boardsCensus of commercial hosts and their registration compliance in a given region

๐Ÿ“ฅ Input parameters

What to scrape

Fill in whichever one you need. You can combine them, and anything you leave empty is skipped.

ParameterTypeDefaultDescription
citystring[]-Cities or regions to search, one per line
listingUrlsarray-Airbnb listing URLs to enrich, each as { "url": "..." }. Host profile URLs work here too
hostProfileUrlstring-Host profile URL. Returns every listing that host has online
localestringfrMarket / language (55+ options). Determines the Airbnb domain and company detection rules

Result Limit

ParameterTypeDefaultDescription
maxPagesinteger3Pages per city (~18 listings/page). Controls cost: more pages = more results = higher charge
deduplicateHostsbooleantrueCollapse multiple listings per host into one row. Saves cost by avoiding duplicate charges

๐Ÿ“Š Output data

{
"listingId": "1234567",
"name": "Charming studio in Vieux Lyon",
"url": "https://www.airbnb.fr/rooms/1234567",
"companyName": "Lyon Apparts SAS",
"companyEmail": "contact@lyon-apparts.fr",
"companyPhone": "+33 4 78 12 34 56",
"companyAddress": "12 Rue de la Republique, 69002 Lyon",
"companyRCS": "RCS Lyon 831 626 353",
"companySiret": "83162635300039",
"companySiren": "831626353",
"hostName": "Lyon Apparts",
"hostType": "professional",
"contactStatus": "email_and_phone",
"isProHost": true,
"isSuperhost": true,
"yearsHosting": 5,
"city": "Lyon",
"neighborhood": "Vieux Lyon, Auvergne-Rhone-Alpes",
"latitude": 45.7623,
"longitude": 4.8271,
"rating": 4.92,
"numberOfReviews": 187,
"roomType": "Entire home/apt",
"pricePerNight": "85 EUR",
"photos": ["https://a0.muscache.com/..."],
"scrapedAt": "2026-04-01T12:00:00Z"
}

๐Ÿ—‚๏ธ Data fields

CategoryFields
Business contactscompanyName, companyEmail, companyPhone, companyAddress
RegistrationcompanyRCS, companySiret, companySiren, companyRegister, companyType
Host infohostName, hostId, hostType, isProHost, isSuperhost, yearsHosting, hostProfileUrl
Contact qualitycontactStatus (email_and_phone, email_only, phone_only, no_contact), emailDomain, contactFirstName, contactLastName
Locationcity, neighborhood, searchCity, latitude, longitude
Performancerating, numberOfReviews, badges, hasGuestFavorite
ListinglistingId, name, url, description, roomType
Pricingprice, pricePerNight, priceFull, taxes, priceTotal, pricePerNightValue, numberOfNights
Mediaphotos, mainPhoto
DeduplistingCount, listingUrls (when deduplication is enabled)
MetascrapedAt

๐Ÿš€ Examples

Find professional hosts in Lyon

{
"city": ["Lyon"],
"locale": "fr",
"maxPages": 3
}

Scan multiple Spanish cities

{
"city": ["Barcelona", "Madrid", "Valencia"],
"locale": "es",
"maxPages": 5,
"deduplicateHosts": true
}

Enrich a list of Airbnb URLs

{
"listingUrls": [
{ "url": "https://www.airbnb.fr/rooms/12345678" },
{ "url": "https://www.airbnb.es/rooms/87654321" }
],
"locale": "fr"
}

Get all listings from a specific host

{
"hostProfileUrl": "https://www.airbnb.fr/users/show/12345678",
"locale": "fr"
}

๐Ÿ’ป Integrations

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("silentflow/airbnb-professional-host-scraper-ppe").call(run_input={
"city": ["Lyon"],
"locale": "fr",
"maxPages": 3
})
for host in client.dataset(run["defaultDatasetId"]).iterate_items():
if host.get("isProHost"):
print(f"{host['companyName']}: {host.get('companyEmail', 'N/A')}")

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('silentflow/airbnb-professional-host-scraper-ppe').call({
city: ['Barcelona'],
locale: 'es',
maxPages: 5
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
const proHosts = items.filter(i => i.isProHost);
console.log(`Found ${proHosts.length} professional hosts`);

๐Ÿ“ˆ Performance & limits

MetricValue
Listings per page~18
Enrichment speed~4-5 listings/second
Supported markets55+
Data fields per result40+
Company detection7 countries (FR, ES, EN, DE, IT, PT, NL)

๐Ÿ’ก Tips for best results

  1. Start with 2-3 pages per city. Each page returns ~18 listings. Scale up once you confirm the data matches your needs.
  2. Enable deduplication to save costs. One row per host means you pay once per host, not once per listing.
  3. Match the locale to your target market. Use fr for France, es for Spain, en for UK/US. This controls which Airbnb domain is scraped and how companies are detected.
  4. Paste URLs you already have. If you already hold a list of Airbnb listing or host URLs, put them straight in the URL box instead of running a full city search.
  5. Large cities can have 50+ pages. Paris, London, Barcelona have thousands of listings. Limit with maxPages to keep costs predictable.

โ“ FAQ

Q: What if no professional hosts are found? A: You pay nothing. Only professional hosts carrying a company name, an email or a phone number are charged.

Q: What if the run fails? A: You pay nothing. Failed runs do not charge you.

Q: How does pro host detection work? A: The scraper reads the host type classification and "Professional Host Details" section on each listing page. Only hosts with verified business registrations are flagged as professional.

Q: Why are some pro hosts missing emails or phones? A: Not all professional hosts provide all contact fields to Airbnb. The scraper extracts everything available on the page.

Q: What does contactStatus mean? A: It tells you what contact info was found: email_and_phone (both), email_only, phone_only, or no_contact (professional host but no direct contact available).

Q: What happens with deduplication enabled? A: Multiple listings from the same host are merged into one row. The result keeps the best contact info found across all their listings, plus a listing count and URLs list. You pay once per unique host.

๐Ÿ“ฌ Support

Need something this scraper does not do yet? We ship features fast.

  • Feature requests go straight to our backlog
  • Enterprise needs? We do custom integrations

Check out our other scrapers: SilentFlow on Apify