Booking.com Phone Number Scraper
Pricing
$2.00 / 1,000 phone numbers
Booking.com Phone Number Scraper
Extract publicly listed phone numbers from Booking.com hotel and property pages. Keep each number with its property URL, available property name and location context, and optional ID in your dataset. Properties without a public number are reported with an empty phoneNumbers array.
Pricing
$2.00 / 1,000 phone numbers
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
16 hours ago
Last modified
Categories
Share
📞 Find Booking.com property phone numbers
Hotel researchers, sales teams, and travel data teams can submit public Booking.com property pages, a city, or a public Booking.com search URL. Get structured rows with public phone numbers, property names, location details, and available business contact data so you can review hotel contacts or join them to your own records.
Use it to:
- Find a public contact number for one hotel page with Hotel Contact Number Scraper.
- Build phone rows from several hotel pages with Hotel Phone Number Scraper.
- Keep your own ID beside each property result with Booking Com Property Phone Number.
- Collect public numbers from hotel pages with Booking Com Hotel Phone Number Scraper.
- Run the general Booking.com phone workflow with Booking Com Phone Number Scraper.
🧾 Booking.com property phone rows
Each saved row represents the first eligible match for one property. It keeps the property page URL and phoneNumbers, which can contain several distinct public numbers or be empty when no public number is shown. Optional fields can include the property name, location, emails, business name, website, registration number, business location, and your ID. If the same property appears again through another submitted value, later matches are ignored and the saved row keeps the first match.
▶️ Find property contacts from pages or search
Choose one discovery method per run. Add public property pages, a city, or a public Booking.com search URL, then choose whether to include all public property hosts or focus on professional or business hosts. The Actor reads public pages without requiring a Booking.com account.
Run steps
- Choose
propertyPages,city, orsearchUrlasdiscoveryMethod. - Add the matching pages, city, or public search URL.
- Set
hostScopetoallorprofessional. - Start the run and open the default dataset from the output link.
⚙️ Input
Choose one discovery method per run. Use property page URLs, a city, or a public Booking.com search URL. Fields for the other choices are ignored. Set the host scope for every choice.
Input fields
| Field | Type | What it does |
|---|---|---|
discoveryMethod | string | Required. Choose propertyPages, city, or searchUrl for this run. |
propertyPages | array of objects | Add one or more public Booking.com hotel or property pages when discoveryMethod is propertyPages. |
propertyPages[].url | string | Public Booking.com hotel or property listing URL. |
propertyPages[].id | string | Optional ID returned as id so you can join that property row to your records. |
city | string | City used to find Booking.com property pages when discoveryMethod is city. |
searchUrl | string | Public Booking.com search URL used to find property pages when discoveryMethod is searchUrl. |
hostScope | string | Choose all for all public property hosts or professional for professional or business hosts. |
Successful hosted QA input
This example uses the public input from a successful current-beta default-input run.
{"discoveryMethod": "propertyPages","propertyPages": [{"url": "https://www.booking.com/hotel/pl/golden-apartments-warszawa-mennica-11-big-apartment.en-gb.html"}],"hostScope": "all"}
🧾 Output
The output schema provides a link to the default dataset view. Open results to read one saved row for each eligible property.
Dataset link
| Field | Type | What it does |
|---|---|---|
results | string | Link to the default dataset view for property phone and contact rows. |
Property result row
The dataset has one public row shape. propertyUrl and phoneNumbers are required. phoneNumbers can be empty when no public phone number is shown, while the other fields appear when the source or input provides them.
| Field | Type | What it does |
|---|---|---|
propertyUrl | string | Public Booking.com page checked for this property result. |
propertyName | string | Hotel or property name shown on the public page. |
phoneNumbers | array of objects | Distinct public phone numbers shown on the page, or an empty array when none is shown. |
phoneNumbers[].number | string | Phone number in the form returned by the public page. |
phoneNumbers[].countryCode | string | Phone country calling code when the page provides enough context. |
location | object | Public property location details when available. |
location.address | string | Property address shown on the public page. |
location.city | string | City shown for the property. |
location.region | string | State, province, or region shown for the property. |
location.country | string | Country shown for the property. |
location.countryCode | string | Country code shown or supported by the public page. |
emails | array of strings | Public professional email addresses associated with the property. |
businessName | string | Public business or company name associated with the property. |
website | string | Public property or business website associated with the property. |
registrationNumber | string | Public business registration number associated with the property. |
businessLocation | object | Public business contact location details when available. |
businessLocation.address | string | Public business contact address. |
businessLocation.city | string | City in the public business contact location. |
businessLocation.region | string | State, province, or region in the public business contact location. |
businessLocation.country | string | Country in the public business contact location. |
businessLocation.countryCode | string | Country code in the public business contact location. |
id | string | Optional ID supplied in a propertyPages entry. |
Genuine current-beta row
This complete row comes from a successful current-beta run with an optional input ID.
{"propertyUrl": "https://www.booking.com/hotel/pl/golden-apartments-warszawa-mennica-11-big-apartment.en-gb.html","phoneNumbers": [{"number": "795147966","countryCode": "+48"},{"number": "+48728501133","countryCode": "+48"}],"propertyName": "Close","location": {"address": "Waliców 11, Wola, 00-855 Warsaw, Poland","city": "Waliców 11","region": "Masovia","country": "Poland","countryCode": "PL"},"emails": ["info@golden.apartments"],"businessName": "Golden Apartments & Glamping","website": "https://golden.apartments","registrationNumber": "9662158354","businessLocation": {"address": "Grzybowska 43A/84","city": "Warszawa","region": "Mazowieckie","country": "Poland","countryCode": "PL"},"id": "qa-id-1"}
No public phone outcome
When a page exposes no public phone number, the row keeps its property URL and an empty phoneNumbers array. Other public contact fields can still appear. This complete row comes from a successful current-beta run.
{"propertyUrl": "https://www.booking.com/hotel/gb/rosie-apartment.en-gb.html","phoneNumbers": [],"propertyName": "Rosie Cottage","emails": ["cottages.booking.com@cottages.com"],"businessName": "Awaze Vacation Rentals Ltd.","registrationNumber": "965389"}
💳 Pricing
This Actor uses pay-per-event pricing. One event is charged for each public phone number extracted and saved to the dataset. The current event price is $0.002 per phone number.
🔌 Integrations
Open the default dataset from the output link, export it through Apify, or read it through the Apify API. Use the property URL and optional ID when you pass rows into another workflow.
❓ FAQ
Can I start with a city or a Booking.com search URL?
Yes. Set discoveryMethod to city and enter a city, or set it to searchUrl and enter a public search URL. Use propertyPages to submit pages directly. Use one method per run.
Can I focus on professional or business hosts?
Yes. Set hostScope to professional. The default all choice includes all public property hosts.
What happens when a property has no public phone number?
The Actor saves a row with the property URL and an empty phoneNumbers array. Other public fields can still appear. A public phone number is not guaranteed for every property.
Can one property row contain more than one phone number?
Yes. phoneNumbers can contain distinct phone numbers, with a country calling code when the page provides enough context.
What other contact details can a row include?
When the public source provides them, a row can include professional emails, a business name, a website, a registration number, and a business contact location.
Can I attach my own ID to a page?
Yes. Add id inside a propertyPages entry. The same value is returned as id so you can join the row to your own records.
What happens when the same property appears more than once?
The first eligible match is saved. Later matches for the same property are ignored, so the row keeps the first submitted value that found it.
Does it collect emails, rates, or reservations?
It can include public professional emails when available. Rates, availability, reservations, and booking actions are outside its scope.
Do I need a Booking.com account?
No. The Actor reads public Booking.com pages and does not support private or login-gated content.
Can I read the dataset with the Apify API?
Yes. Use the results output link or the default dataset API link after the run finishes.
Can I use the collected public data for any purpose?
Check current Booking.com terms, applicable laws, and your own data obligations before using the results. This Actor reads public pages and does not provide legal advice.
📝 Changelog
v0.1 (01-10-2026)
- Find property phone numbers from a city or a public Booking.com search URL.
- Filter results to professional or business hosts.
- Include available public business contact details in property rows.
v0.0 (25-09-2026)
- Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Related Actors
- Google Maps Phone Number Scraper: Find public business phone numbers from Google Maps search or listing URLs.
- Google Maps Shared List Scraper: Export public place lists with phone numbers and location context.
- Website Email & Contact Scraper: Find public emails from property or business websites after you collect website links.
- Phone Number Validation API: Check and format phone numbers from your saved property rows.
- Yellow Pages Scraper: Find public US business listings with phone, address, and category data.
Made with ❤️ by Maxime Dupré