# Google Maps Hospitality Scraper (`techforce.global/google-maps-hospitality-lead-scraper`) Actor

Scrape hotels, resorts, restaurants & cafes from Google Maps. Get emails, contact info, ratings, and lead-scoring for sales outreach. No coding required.

- **URL**: https://apify.com/techforce.global/google-maps-hospitality-lead-scraper.md
- **Developed by:** [Techforce Global](https://apify.com/techforce.global) (community)
- **Categories:** Automation, Social media, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $9.09 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#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

## Google Maps Hospitality Scraper - Hotel, Restaurant & Cafe Leads

This actor combines the Hotel/Resort and Restaurant/Cafe Google Maps lead workflows into one hospitality-focused actor.

### Workflow

1. Select a category: Hotels, Resorts, Restaurants, or Cafes.
2. Select one or more mapped business types.
3. Enter a target location.
4. Set the maximum number of businesses to process.
5. Enable the analysis sections you want in the dataset.

The actor distributes the run target evenly across selected business types. For example, 20 maximum businesses and 2 selected business types means 10 businesses per type.

### Output

Each dataset item includes business name, category, address, phone, website, company email, email status, working hours, Google rating, total reviews, Google Maps URL, search query, and any selected analysis sections.

# Actor input Schema

## `category` (type: `string`):

Select the hospitality category to search.

## `subcategory` (type: `string`):

Compatibility field for older saved inputs.

## `subcategories` (type: `array`):

Select one or more business types. The actor uses only the options mapped to the selected category.

## `location` (type: `string`):

Enter one city/area/state/country.

## `maxResults` (type: `integer`):

Maximum total number of Google Maps businesses to analyze across the whole run.

## `batchSize` (type: `integer`):

Number of businesses processed at once. Lower this if Google Maps or websites load slowly.

## `includeLeadOverview` (type: `boolean`):

Generate lead priority, revenue opportunity level, sales angle, recommended pitch, and estimated service potential.

## `includePitchStrategy` (type: `boolean`):

Generate opening hook, services to pitch, pain points, outcomes, and closing strategy.

## `includeWebsiteHealthScorecard` (type: `boolean`):

Analyze website quality and generate final grade, final classification, and grade breakdown.

## `includeServiceRecommendations` (type: `boolean`):

Generate prioritized service recommendations with what to fix, why it matters, expected outcome, and selling point.

## `includeTechnicalIntel` (type: `boolean`):

Analyze tech stack, SSL/security status, robots.txt, sitemap, audited pages, audited URLs, navigation notes, and key technical issues.

## `maxAuditPagesPerSite` (type: `integer`):

Maximum website pages to audit when any analysis section is enabled.

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

Google Maps often blocks or shows cookie-consent walls to requests from datacenter IPs. Apify Proxy is strongly recommended for reliable scraping.

## `mcpConnector` (type: `string`):

Optionally deliver scraped leads into a connector you have authorized — Notion, Slack, Airtable, Google Sheets, HubSpot, or any MCP-compatible connector. Leave empty to only save results to the dataset.

## `deliveryMode` (type: `string`):

How to deliver to the connector: 'summary' (one call with an aggregate summary and the full lead list), 'chunked' (split a large lead list across multiple calls so services like Notion never time out), 'perLead' (one call per scraped business), or 'none' (save to dataset only).

## `mcpTool` (type: `string`):

Name of the tool to call on the connector (e.g. 'create\_page' for Notion, 'send\_message' for Slack, 'append\_row' for Google Sheets/Airtable, 'create\_contact' for HubSpot). If unsure, run once with a connector selected — the log lists the connector's available tools.

## `mcpArguments` (type: `object`):

Arguments passed to the connector tool. String values support {placeholders}. In 'summary' and 'chunked' modes: {totalLeads}, {locations}, {categories}, {leadList} (formatted list of leads — in 'chunked' mode this holds one part), {part}/{partCount} (chunked mode only), and {message} (the rendered template below). In 'perLead' mode: {businessName}, {category}, {address}, {phone}, {website}, {companyEmail}, {emailStatus}, {workingHours}, {googleRating}, {totalReviews}, {googleMapsUrl}, {searchQuery}, and {message}. Example for Slack: {"channel": "#hospitality-leads", "text": "{message}"}. Example for Notion (perLead): {"parent": {"database\_id": "YOUR\_DB\_ID"}, "properties": {"Name": {"title": \[{"text": {"content": "{businessName}"}}]}}}.

## `mcpMessageTemplate` (type: `string`):

Optional template rendered and exposed as the {message} placeholder in the tool arguments. Summary example: 'Found {totalLeads} leads across {locations} ({categories}):\n\n{leadList}'. Per-lead example: '{businessName} - {category}, {address} - {phone} - {companyEmail} - Google rating {googleRating} ({totalReviews} reviews) - {googleMapsUrl}'.

## Actor input object example

```json
{
  "category": "Hotels",
  "subcategory": "",
  "location": "Ahmedabad",
  "maxResults": 20,
  "batchSize": 4,
  "includeLeadOverview": false,
  "includePitchStrategy": false,
  "includeWebsiteHealthScorecard": false,
  "includeServiceRecommendations": false,
  "includeTechnicalIntel": false,
  "maxAuditPagesPerSite": 6,
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "deliveryMode": "summary",
  "mcpTool": "",
  "mcpArguments": {},
  "mcpMessageTemplate": ""
}
```

# Actor output Schema

## `results` (type: `string`):

Default dataset items produced by this actor.

# 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 = {
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("techforce.global/google-maps-hospitality-lead-scraper").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 = { "proxyConfiguration": { "useApifyProxy": True } }

# Run the Actor and wait for it to finish
run = client.actor("techforce.global/google-maps-hospitality-lead-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call techforce.global/google-maps-hospitality-lead-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=techforce.global/google-maps-hospitality-lead-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/aezqjvjdv80fsovax/builds/5Bn82ZgmIPiFiLB0b/openapi.json
