Booking.com Phone Number Scraper avatar

Booking.com Phone Number Scraper

Pricing

$2.00 / 1,000 phone numbers

Go to Apify Store
Booking.com Phone Number Scraper

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é

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

16 hours ago

Last modified

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:

🧾 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.

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

  1. Choose propertyPages, city, or searchUrl as discoveryMethod.
  2. Add the matching pages, city, or public search URL.
  3. Set hostScope to all or professional.
  4. 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

FieldTypeWhat it does
discoveryMethodstringRequired. Choose propertyPages, city, or searchUrl for this run.
propertyPagesarray of objectsAdd one or more public Booking.com hotel or property pages when discoveryMethod is propertyPages.
propertyPages[].urlstringPublic Booking.com hotel or property listing URL.
propertyPages[].idstringOptional ID returned as id so you can join that property row to your records.
citystringCity used to find Booking.com property pages when discoveryMethod is city.
searchUrlstringPublic Booking.com search URL used to find property pages when discoveryMethod is searchUrl.
hostScopestringChoose 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

FieldTypeWhat it does
resultsstringLink 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.

FieldTypeWhat it does
propertyUrlstringPublic Booking.com page checked for this property result.
propertyNamestringHotel or property name shown on the public page.
phoneNumbersarray of objectsDistinct public phone numbers shown on the page, or an empty array when none is shown.
phoneNumbers[].numberstringPhone number in the form returned by the public page.
phoneNumbers[].countryCodestringPhone country calling code when the page provides enough context.
locationobjectPublic property location details when available.
location.addressstringProperty address shown on the public page.
location.citystringCity shown for the property.
location.regionstringState, province, or region shown for the property.
location.countrystringCountry shown for the property.
location.countryCodestringCountry code shown or supported by the public page.
emailsarray of stringsPublic professional email addresses associated with the property.
businessNamestringPublic business or company name associated with the property.
websitestringPublic property or business website associated with the property.
registrationNumberstringPublic business registration number associated with the property.
businessLocationobjectPublic business contact location details when available.
businessLocation.addressstringPublic business contact address.
businessLocation.citystringCity in the public business contact location.
businessLocation.regionstringState, province, or region in the public business contact location.
businessLocation.countrystringCountry in the public business contact location.
businessLocation.countryCodestringCountry code in the public business contact location.
idstringOptional 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 🫡

Made with ❤️ by Maxime Dupré