Airbnb Professional Host Scraper avatar

Airbnb Professional Host Scraper

Pricing

$39.99/month + usage

Go to Apify Store
Airbnb Professional Host Scraper

Airbnb Professional Host Scraper

Extract professional Airbnb host business contacts for B2B lead generation. Get verified company emails, phone numbers, names, addresses and registration details (RCS, SIRET). Search by city, listing URLs or host profile across 55+ Airbnb markets. Built for real estate agencies and sales teams.

Pricing

$39.99/month + usage

Rating

5.0

(1)

Developer

SilentFlow

SilentFlow

Maintained by Community

Actor stats

1

Bookmarked

9

Total users

5

Monthly active users

6 hours ago

Last modified

Share

Turn Airbnb into a B2B lead database. Extract verified business emails, phone numbers, company names, and registration details from professional Airbnb hosts across 55+ markets. In minutes, not days.

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).
  • 🌍 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.
  • πŸ”€ One row per host, not per listing. Deduplication merges multiple listings from the same host into a single lead row with the best contact info.
  • ⚑ Three flexible input modes. Search by city, paste listing URLs, or scrape a host profile page. Combine multiple cities in one run.

🎯 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

ParameterTypeDefaultDescription
modestringcityCity Search, Listing URL(s), or Host Profile
citystring[]-Cities or regions to search (one per line)
listingUrlsarray-Airbnb listing URLs to enrich
hostProfileUrlstring-Host profile URL to scrape
localestringfrMarket / language (55+ options). Determines the Airbnb domain and company detection rules

Result Limit

ParameterTypeDefaultDescription
maxPagesinteger3Pages per city (~18 listings/page). Set to 0 for no limit
deduplicateHostsbooleantrueCollapse multiple listings per host into one row

πŸ“Š 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

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

Scan multiple Spanish cities

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

Enrich a list of Airbnb URLs

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

Get all listings from a specific host

{
"mode": "hostProfileUrl",
"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").call(run_input={
"mode": "city",
"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').call({
mode: 'city',
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~2-4 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 for outreach. One row per host means cleaner lead lists. Disable it only for market-level analysis.
  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. Use bulkUrls mode for targeted enrichment. If you already have a list of Airbnb URLs, paste them directly 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 runs focused.

❓ FAQ

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: Can I scrape any Airbnb market? A: Yes. 55+ locales are supported. Company detection (legal entity parsing) is available for FR, ES, EN, DE, IT, PT, and NL markets.

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.

πŸ“¬ 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