# Hospitality Lead Generator (`parse-point/hospitality-lead-generator`) Actor

🛎️ Hospitality Lead Generator mines Google Maps for hospitality business leads with name, phone, website, coordinates and ratings. 📧 Emails and socials from every site. ✈️ For travel tech vendors & supplier prospecting.

- **URL**: https://apify.com/parse-point/hospitality-lead-generator.md
- **Developed by:** [Parse Point](https://apify.com/parse-point) (community)
- **Categories:** Lead generation, Travel, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.99 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

### Hospitality Lead Generator

**Hospitality Lead Generator** is an Apify automation actor built to solve time-consuming manual research for hospitality teams and sales professionals. If you need hospitality lead generation and hotel lead generation contacts fast, it streamlines the process of scraping publicly available business info and exporting it into a CRM-ready dataset. Get more targeted guest acquisition leads with less effort—starting from your own location and niche inputs.

### What is Hospitality Lead Generator? 🔍

**Hospitality Lead Generator** is an Apify automation actor that helps you generate B2B hospitality leads by scraping hospitality business listings in specified locations, then extracting contact details from their public web presence. It returns structured JSON records that include business identity, website, phone, address, and collections of scraped emails and phone numbers—exactly what you need for your hotel lead generation workflow.

Whether you’re a marketer, a corporate hospitality sales rep, a researcher, or running marketing automation for hospitality, this hospitality email extractor works as your hospitality contact scraper for automated hospitality scraping—so you can focus on outreach, not research.

### What Does Hospitality Lead Generator Do? ⚙️

**Hospitality Lead Generator** takes your hospitality niche and target areas, searches for matching businesses, then enriches them with contact details found on their public websites. In the end, you get clean, structured output in your Apify dataset—useful for hotel booking funnel optimization, appointment setting for hotels, and building a CRM for hospitality sales.

- 🔍 **Searches** hospitality businesses using your `googleMapsSearchTerm` and `googleMapsLocation` inputs
- 📧 **Extracts** publicly listed email addresses from business websites it finds
- 🌍 **Filters** results by location and stops when your target number of businesses with emails is reached
- 📊 **Structures** output as clean JSON records in the Apify dataset
- 💾 **Exports** data from the dataset tab (JSON view is ready; CSV export is available from the dataset UI)

### What Would Results from Hospitality Lead Generator Look Like? 👀

You’ll receive one dataset row per business record captured by the actor, including emails, phones, and social links.

```json
{
  "name": "Oceanview Hotel & Suites",
  "website": "https://oceanviewhotels.com",
  "phone": "+1 305-555-0198",
  "full_address": "210 Ocean Ave Miami FL 33139 US",
  "city": "Miami",
  "state": "FL",
  "zip": "33139",
  "country_code": "US",
  "scraped_emails": [
    "sales@oceanviewhotels.com",
    "reservations@oceanviewhotels.com"
  ],
  "scraped_phones": [
    "+1 305-555-0198",
    "+1 305-555-0122"
  ],
  "scraped_social_media": [
    "https://www.linkedin.com/company/oceanview-hotels/"
  ],
  "emails_found": 2,
  "pages_scraped": 7,
  "avg_rating": 4.6,
  "total_reviews": 1284,
  "lat": "25.7617",
  "long": "-80.1918",
  "place_id": "ChIJbXq0t9cWwokRk3oQ2vQwRkY",
  "scrape_status": "success"
}
```

Export as JSON or CSV from the Apify dataset tab.

### Capabilities of Hospitality Lead Generator 🛠️

| Capability | What It Means for You |
|---|---|
| ✅ **Keyword Search** | Target hospitality businesses matching your niche using `googleMapsSearchTerm` |
| ✅ **Location Filter** | Focus hotel lead generation by running against one or more `googleMapsLocation` values |
| ✅ **Maximum Businesses With Emails** | Control run scope with `maxBusinesses` (the actor stops when it reaches your target) |
| ✅ **Per-Location Limits** | Use `scrapeMaxBusinessesPerLocation` to decide whether the cap applies per location or as a single combined total |
| ✅ **Proxy Integration** | Uses proxy settings via `proxyConfiguration` to support reliable scraping for larger tasks |
| ✅ **Structured Output** | Exports consistent dataset rows with emails, phones, social media, and business details |
| ✅ **Dataset Ready for Outreach** | Clean fields for CRM enrichment (e.g., website, address, scraped\_emails, scraped\_social\_media) |
| ✅ **Fast Iteration for Marketing Teams** | Quickly generate B2B hospitality leads for boutique hotel marketing, travel and tourism marketing, and revenue generation strategy projects |

### Launch Your First Hospitality Lead Generator Task 🚀

#### Required Input Fields

Provide input in the Apify console. Use this JSON example first:

```json
{
  "googleMapsSearchTerm": "Hospitality",
  "googleMapsLocation": ["New York"],
  "maxBusinesses": 5,
  "scrapeMaxBusinessesPerLocation": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| `googleMapsSearchTerm` | string | ✅ Yes | `Hospitality` | The hospitality niche or business type you want to find (e.g., “coffee shops”, “dentists”; here it defaults to “Hospitality”). |
| `googleMapsLocation` | array | ✅ Yes | `["New York"]` | Target geographic locations for lead generation (for example, cities like “New York”). |
| `maxBusinesses` | integer | No | `5` | Target number of businesses to find with emails (range: 1–1000). The run stops once this target is reached. |
| `scrapeMaxBusinessesPerLocation` | boolean | No | `false` | If `true`, collects up to `maxBusinesses` results per location. If `false`, combines locations under one total limit. |
| `proxyConfiguration` | object | No | `{ "proxy support": true }` | Proxy settings for scraping (recommended for larger-scale runs). |

**Step-by-step launch guide:**

1. **Open** the actor in Apify Console
2. **Paste** the input (or use the prefilled values)
3. **Set** your `googleMapsSearchTerm` and one or more `googleMapsLocation` entries
4. **Tune** `maxBusinesses` for how many hospitality leads you want
5. **Start** the run and monitor progress in logs
6. **Download** results from the Dataset tab for CRM, outreach tools, or analysis

### Solving Real Problems with Hospitality Lead Generator 💼

This hospitality lead generator is built for teams who need reliable contact data without manual hours of property management marketing work:

- 🎯 **Sales Prospecting** — Build targeted hotel lead generation lists for cold outreach
- 📣 **Campaign Targeting** — Segment B2B hospitality leads for targeted guest acquisition
- 🤝 **Hiring & Partnerships** — Find hospitality professionals and businesses for business development
- 🔬 **Market Intelligence** — Map the hotel landscape for travel and tourism marketing research
- ⚙️ **Automation at Scale** — Use it as an automated hospitality scraping step to keep your CRM updated

### What Sets Hospitality Lead Generator Apart? 🏆

- 💰 **Focused lead targeting** — You control output scope using `maxBusinesses`, so you can align to budgets and timelines for CRM for hospitality sales.
- 🔄 **Flexible limits per location** — Toggle `scrapeMaxBusinessesPerLocation` to match your workflow (single combined target vs per-location caps).
- 🛡️ **Proxy-ready scraping** — Built to support reliable web scraping at scale using `proxyConfiguration`.
- 📊 **Straight-to-CRM dataset** — Consistent JSON fields (website, address, scraped\_emails, scraped\_social\_media) for fast downstream use.

### Search Limits and Capacity 📈

- Use `maxBusinesses` to cap how many businesses you want to find with emails (allowed range: 1–1000).
- Your dataset includes multiple email/phone/social entries via `scraped_emails`, `scraped_phones`, and `scraped_social_media`.
- For large-scale runs, keep `proxyConfiguration` enabled (it’s prefilled with `proxy support: true`) and plan longer runs in the Apify environment.
- There’s no hard limit to dataset size conceptually—you can export any volume from the dataset tab once the run completes.

### Is It Legal to Scrape Hospitality? ⚖️

This actor accesses only **publicly available data** from websites and publicly listed business information. Users are responsible for ensuring compliance with applicable laws and platform terms (including GDPR/CCPA and anti-spam regulations). Avoid using scraped data in ways that violate policies. For data-removal and compliance questions, contact <helloparsepoint@gmail.com>.

### Ending Note ✉️

Stop spending hours manually searching for hospitality contacts. **Hospitality Lead Generator** delivers structured business contact data—perfect for hospitality lead generation, hotel lead generation, and targeted guest acquisition—directly into your Apify dataset. Run it, export it, and turn it into outreach faster.

### FAQ — Hospitality Lead Generator ❓

#### How Does the Hospitality Lead Generator Work?

You provide a hospitality niche (`googleMapsSearchTerm`) and one or more locations (`googleMapsLocation`). The actor gathers matching businesses, then scrapes contact information from their public web presence. The results are saved as structured dataset records that include fields like `scraped_emails`, `scraped_phones`, and `scraped_social_media`.

#### What Types of Hospitality Leads Can I Target?

You can target hospitality business types that match your `googleMapsSearchTerm` and the regions in `googleMapsLocation`. This makes it suitable for hotel lead generation, resort lead generation, and outreach lists for boutique hotel marketing and corporate hospitality sales.

#### What Would Success Look Like for This Actor?

Success means the actor finds businesses and extracts contact details, especially email addresses. Your dataset rows will include `emails_found` along with arrays of `scraped_emails` (and optionally `scraped_phones` and `scraped_social_media`) plus address and website details.

#### Why Scrape Hospitality Leads Instead of Buying a List?

Scraping publicly available data helps you build niche-specific lists that are easier to tailor for targeted guest acquisition and revenue generation strategy. Lists can become outdated quickly—this approach supports ongoing sourcing based on your selected locations and hospitality keyword intent.

#### How Much Control Do I Have Over Output Volume?

Use `maxBusinesses` to cap the number of businesses the actor aims to collect (range 1–1000). If you set `scrapeMaxBusinessesPerLocation` to `true`, the cap applies per location; otherwise, locations share a single combined total limit.

#### Can I Run Multiple Locations in One Job?

Yes. Provide multiple entries in `googleMapsLocation`. If `scrapeMaxBusinessesPerLocation` is `true`, the actor collects up to `maxBusinesses` results per location; if `false`, it combines locations under one total limit.

#### What If I Need Help or Have a Feature Request?

Reach out anytime at <helloparsepoint@gmail.com>. We’re happy to help with setup questions, dataset usage, or suggestions for improving this hospitality lead generator for your workflow.

### 🆘 Support & Feedback

Have a question or want to suggest improvements to **Hospitality Lead Generator**?

- ✨ **Custom Solutions & Feature Requests:** Contact our team
- 📧 **Email:** <helloparsepoint@gmail.com>

### Complete number formats

| Field | Meaning |
| --- | --- |
| `phoneRaw` | The exact text the number was read from, before any normalisation |
| `phoneE164` | International dialable form, e.g. `+442079460958` |
| `phoneNational` | As someone inside that country would dial it |
| `phoneInternational` | Readable international form, e.g. `+44 20 7946 0958` |
| `phoneRfc3966` | `tel:` URI for VoIP systems (optional) |
| `phoneExtension` | The internal extension, when one was published |
| `phoneNumbers` | Every number on the row, each in all of the above forms |

Numbers are parsed against the business's own country from its Maps listing.
`phoneRaw` is never derived, so it stays trustworthy even when parsing the rest
fails.

### Contact Memory

| Field | Meaning |
| --- | --- |
| `firstSeenAt` | The date this contact was first delivered to you, across all runs |
| `isNewSinceLastRun` | `false` for a contact an earlier run already returned |

These carry real information because repeats are still delivered by default —
a scraper that dropped duplicates before delivery would mark every row new and
tell you nothing. If you would rather not receive repeats at all, **Skip
contacts delivered by a previous run** suppresses them, and **Reset contact
memory** starts the record over.

A contact is identified by its email address where there is one, otherwise by
its phone number.

# Actor input Schema

## `googleMapsSearchTerm` (type: `string`):

Enter the business type or niche for email scraper (e.g., 'coffee shops', 'dentists').

## `googleMapsLocation` (type: `array`):

Target geographic location for the email scraper (e.g., 'Miami, Florida').

## `maxBusinesses` (type: `integer`):

Target number of businesses to find (1-1000). The scraper will stop when this target is reached.

## `scrapeMaxBusinessesPerLocation` (type: `boolean`):

If enabled, the scraper will collect up to `maxBusinesses` results per location. If disabled, it combines all locations up to a single total limit.

## `proxyConfiguration` (type: `object`):

Proxy settings for scraping. Recommended for large-scale scraping.

## `includeDialerUri` (type: `boolean`):

Add the tel: URI form some VoIP and telephony systems expect. It duplicates information already in the other number columns - keep it only if your phone system asks for this exact format.

## `skipPreviouslySeenContacts` (type: `boolean`):

Suppress any contact an earlier run already returned, so a scheduled job only pays for what is new. Off by default - leave it off if you want the full list each time and would rather filter on the New column yourself.

## `resetContactMemory` (type: `boolean`):

Clear the remembered contacts before this run, so everything counts as new again. Use after changing your target list.

## Actor input object example

```json
{
  "googleMapsSearchTerm": "Hospitality",
  "googleMapsLocation": [
    "New York"
  ],
  "maxBusinesses": 5,
  "scrapeMaxBusinessesPerLocation": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "includeDialerUri": true,
  "skipPreviouslySeenContacts": false,
  "resetContactMemory": false
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "googleMapsSearchTerm": "Hospitality",
    "googleMapsLocation": [
        "New York"
    ],
    "maxBusinesses": 5,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("parse-point/hospitality-lead-generator").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "googleMapsSearchTerm": "Hospitality",
    "googleMapsLocation": ["New York"],
    "maxBusinesses": 5,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("parse-point/hospitality-lead-generator").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "googleMapsSearchTerm": "Hospitality",
  "googleMapsLocation": [
    "New York"
  ],
  "maxBusinesses": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call parse-point/hospitality-lead-generator --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parse-point/hospitality-lead-generator"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/HdP5iWz4bxweWjCAN/builds/DnrNjNj5qV31GVaSZ/openapi.json
