Accommodation Partner Lead Finder

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

Data fields

FieldTypeDescription
leadIdstringValue exported as leadId.
propertyNamestringValue exported as propertyName.
bookingPropertyIdstringValue exported as bookingPropertyId.
sourceUrlstringValue exported as sourceUrl.
sourceSearchUrlstringValue exported as sourceSearchUrl.
sourcePlatformstringValue exported as sourcePlatform.
destinationstringValue exported as destination.
rankintegerValue exported as rank.

Input preview

destinationsDestinations *
maxResultsPerDestinationProspects per destination
includeDetailsEnrich property details
minimumRatingMinimum guest rating
minimumReviewCountMinimum review count
propertyTypesProperty types

API and agents

This actor can be run through Apify API, datasets, webhooks, schedules, and the official Apify MCP server.

How this actor works

See example inputs, outputs, API usage, and practical limits before running this actor on Apify.

Open Apify page

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

Field Description
destinations One or more cities, regions, or landmarks (maximum 20)
maxResultsPerDestination Maximum new prospects saved per destination (1–100)
includeDetails Enrich location, property type, coordinates, and amenities
minimumRating Keep properties at or above this guest rating
minimumReviewCount Keep properties with at least this many public reviews
propertyTypes Keep matching public property types
sinceDatasetId Emit only properties absent from a previous dataset
checkIn, checkOut Optional stay dates used for availability and price context
adults, children, rooms Stay occupancy
currency, language Result currency and language
countryCode Optional two-letter proxy country for localized results

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.

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}

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.

Common questions

Questions and answers reused from the canonical actor README.

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.