Accommodation Partner Lead Finder avatar

Accommodation Partner Lead Finder

Pricing

from $0.14 / 1,000 accommodation prospect saveds

Go to Apify Store
Accommodation Partner Lead Finder

Accommodation Partner Lead Finder

Find and qualify public Booking.com accommodation prospects by destination with lead scoring, segmentation, and new-property monitoring.

Pricing

from $0.14 / 1,000 accommodation prospect saveds

Rating

0.0

(0)

Developer

Hanna Nosova

Hanna Nosova

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Share

Build qualified accommodation prospect lists from public Booking.com property data. Search several destinations in one run, prioritize properties with explainable lead scores, and compare each export with a previous dataset for ongoing market monitoring.

What you can do

  • Discover hotels, apartments, and other accommodation prospects by destination
  • Export public identity, location, reputation, property, pricing, and amenity signals
  • Rank outreach targets with a transparent 0–100 qualification score
  • Segment prospects by market class, popularity, and guest quality
  • Monitor newly discovered properties with a stable identity and previous-dataset comparison

This Actor does not fabricate or infer private contacts. Booking.com does not expose verified property emails, phone numbers, social profiles, or first-party websites through the public source used here, so those fields are not advertised.

Input example

{
"destinations": ["Lisbon", "Porto"],
"maxResultsPerDestination": 25,
"includeDetails": true,
"minimumRating": 8,
"minimumReviewCount": 100,
"currency": "EUR",
"language": "en-us"
}

Output example

{
"leadId": "booking:example-hotel",
"propertyName": "Example Hotel",
"bookingPropertyId": "example-hotel",
"sourceUrl": "https://www.booking.com/hotel/pt/example-hotel.html",
"sourceSearchUrl": "https://www.booking.com/searchresults.html?ss=Lisbon",
"sourcePlatform": "booking.com",
"destination": "Lisbon",
"rank": 1,
"address": "Central Lisbon, Portugal",
"city": "Lisbon",
"country": "Portugal",
"latitude": 38.72,
"longitude": -9.14,
"rating": 8.9,
"reviewCount": 1240,
"stars": 4,
"propertyType": "Hotel",
"price": "€180",
"currency": "EUR",
"amenities": ["Free WiFi", "Restaurant"],
"imageUrls": ["https://example.com/property.jpg"],
"qualificationScore": 82,
"qualificationTier": "high",
"qualificationReasons": ["Strong guest rating", "High review volume"],
"outreachAngle": "Established property: focus on scalable distribution partnerships.",
"marketSegment": "upscale",
"popularitySegment": "high-volume",
"qualitySegment": "strong",
"monitoringKey": "booking:example-hotel",
"scrapedAt": "2026-08-03T12:00:00.000Z"
}

Input settings

FieldDescription
destinationsOne or more cities, regions, or landmarks (maximum 20)
maxResultsPerDestinationMaximum new prospects saved per destination (1–100)
includeDetailsEnrich location, property type, coordinates, and amenities
minimumRatingKeep properties at or above this guest rating
minimumReviewCountKeep properties with at least this many public reviews
propertyTypesKeep matching public property types
sinceDatasetIdEmit only properties absent from a previous dataset
checkIn, checkOutOptional stay dates used for availability and price context
adults, children, roomsStay occupancy
currency, languageResult currency and language
countryCodeOptional two-letter proxy country for localized results

Output fields

Each row has these 30 fields: leadId, propertyName, bookingPropertyId, sourceUrl, sourceSearchUrl, sourcePlatform, destination, rank, address, city, country, latitude, longitude, rating, reviewCount, stars, propertyType, price, currency, amenities, imageUrls, qualificationScore, qualificationTier, qualificationReasons, outreachAngle, marketSegment, popularitySegment, qualitySegment, monitoringKey, and scrapedAt.

Some source-dependent fields can be null when Booking.com does not display them. Detail enrichment improves completeness but takes longer.

Monitoring new prospects

Run the Actor once, then pass that run's dataset ID as sinceDatasetId. The next run compares stable monitoringKey values and emits only newly discovered properties. If every property is already known, the run succeeds with an empty dataset and records an expected_empty_delta summary in the key-value store.

Who is it for?

Use this Actor if you work in travel partnerships, accommodation distribution, destination research, hospitality sales operations, or property-market monitoring and need structured public prospect data.

Pricing

Pay per event: one run-start charge plus one item charge for each prospect saved. Empty, filtered, duplicate, or unchanged properties are not charged as items. See the live Apify Pricing tab for current rates by subscription tier.

Tips and limits

  • Start with 10 prospects and one destination to validate your filters cheaply.
  • Use detail enrichment when location and property-type segmentation matter.
  • Prices and availability depend on dates, occupancy, currency, and public availability.
  • Public pages can change or omit optional facts; saved output is preserved if one detail page fails.
  • A run approaching its timeout saves a partial summary and pending work rather than discarding completed rows.

API usage and integrations

cURL

curl -X POST "https://api.apify.com/v2/acts/fetch_cat~accommodation-partner-lead-finder/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"destinations":["Lisbon"],"maxResultsPerDestination":10}'

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/accommodation-partner-lead-finder').call({ destinations: ['Lisbon'], maxResultsPerDestination: 10 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('fetch_cat/accommodation-partner-lead-finder').call(run_input={'destinations': ['Lisbon'], 'maxResultsPerDestination': 10})
items = client.dataset(run['defaultDatasetId']).list_items().items

MCP and AI agents

Add the Actor to Claude Code:

$claude mcp add apify --transport http "https://mcp.apify.com/?tools=fetch_cat/accommodation-partner-lead-finder"

Or add this server configuration to an MCP-compatible client:

{"mcpServers":{"apify":{"url":"https://mcp.apify.com/?tools=fetch_cat/accommodation-partner-lead-finder"}}}

Example prompts: “Find 25 highly rated accommodation partners in Lisbon” or “Compare new Berlin hotel prospects with my previous dataset.”

Input recipes

Fast market sample

{"destinations":["Lisbon"],"maxResultsPerDestination":10,"includeDetails":false}

Qualified multi-market list

{"destinations":["Berlin","Barcelona"],"maxResultsPerDestination":25,"includeDetails":true,"minimumRating":8.5,"minimumReviewCount":250}

FAQ

Does it return contact information?

No. It returns truthful public property and qualification signals, not fabricated contact details.

Why did my delta run return zero rows?

All discovered properties may already exist in sinceDatasetId. Check RUN_SUMMARY for expected_empty_delta.

Can the same property appear twice?

Rows are deduplicated by stable Booking.com property identity across all destinations in one run.

Support

Use the Issues tab on the Actor page and include the run ID, destination, and expected result. Do not include credentials or private personal data.