# Restaurant Lead Generator (`parse-point/restaurant-lead-generator`) Actor

🍽️ Restaurant Lead Generator collects restaurant and eatery leads from Google Maps—name, phone, website, address, coordinates & reviews. 📧 Emails and social links from every site. 🍕 For POS vendors, suppliers & food tech sales.

- **URL**: https://apify.com/parse-point/restaurant-lead-generator.md
- **Developed by:** [Parse Point](https://apify.com/parse-point) (community)
- **Categories:** Lead generation
- **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/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

### Restaurant Lead Generator

**Restaurant Lead Generator** helps you discover restaurant contact details from publicly available web data, turning manual research into a scalable workflow for lead generation for restaurants, restaurant sales leads, and restaurant marketing leads. It’s built for marketers, sales teams, researchers, and anyone who needs dining leads and restaurant prospecting results without spending hours collecting contacts one by one.

### What is Restaurant Lead Generator? 🔍

**Restaurant Lead Generator** is an Apify actor that collects business contact information for restaurants from publicly available sources and saves it into a structured dataset. It helps you build a restaurant contact list, support restaurant outreach, and speed up restaurant customer acquisition with less manual work. In practice, it acts as a restaurant email extractor and restaurant lead generator for marketers, sales teams, recruiters, and data analysts who need automated restaurant scraping at scale.

### What Data Does Restaurant Lead Generator Collect? 📊

If you’re asking “what exactly do I get?”, this actor returns business-level contact data in a clean dataset format. It includes identity details, contact fields, location information, engagement indicators, and scrape status so you can quickly review which restaurant leads are usable for restaurant lead management, restaurant CRM leads, or local restaurant marketing.

| Data Category | Field Name | Description | Available |
|---|---|---|---|
| Contact | `scraped_emails` | Emails found from publicly available sources | ✅ As available |
| Contact | `scraped_phones` | Phone numbers found from publicly available sources | ✅ As available |
| Contact | `scraped_social_media` | Social media links found from publicly available sources | ✅ As available |
| Identity | `name` | Business name | ✅ Always |
| Identity | `website` | Business website link | ✅ As available |
| Identity | `phone` | Main phone number | ✅ As available |
| Location | `full_address` | Full address | ✅ As available |
| Location | `city` | City | ✅ As available |
| Location | `state` | State | ✅ As available |
| Location | `zip` | ZIP code | ✅ As available |
| Location | `country_code` | Country code | ✅ As available |
| Performance | `avg_rating` | Average rating | ✅ As available |
| Performance | `total_reviews` | Number of reviews | ✅ As available |
| Scrape Metrics | `emails_found` | Number of emails found | ✅ As available |
| Scrape Metrics | `pages_scraped` | Number of pages scraped | ✅ As available |
| Coordinates | `lat` | Latitude | ✅ As available |
| Coordinates | `long` | Longitude | ✅ As available |
| Reference | `place_id` | Unique place identifier | ✅ As available |
| Status | `scrape_status` | Result status | ✅ Always |

### Types of Data I Can Extract with Restaurant Lead Generator 🗂️

Restaurant Lead Generator is designed to help you build practical restaurant business leads from public web data. That means you can use it for restaurant appointment setting, food service leads, or restaurant CRM enrichment depending on your campaign goals.

**Contact Data**

- Email addresses from publicly available sources
- Phone numbers for direct outreach
- Social media profiles for multi-channel follow-up

**Business Identity Data**

- Restaurant name
- Website
- Main phone number

**Location Data**

- Full address
- City, state, ZIP, and country code
- Latitude and longitude for mapping and territory planning

**Qualification Data**

- Average rating
- Total reviews
- Pages scraped
- Scrape status

### Key Features of Restaurant Lead Generator ⚡

| Feature | Benefit |
|---|---|
| ✅ **Search Term Targeting** | Focus on the exact business type or niche you want, such as restaurants or related dining leads |
| ✅ **Location Filtering** | Narrow results to the cities or regions most relevant for local restaurant marketing |
| ✅ **Result Limits** | Use the maximum business limit to control the size of each run and keep campaigns focused |
| ✅ **Per-Location Option** | Collect up to the target number of results for each location, or use one combined total across locations |
| ✅ **Proxy Support** | Built-in proxy support for reliable scraping on larger runs |
| ✅ **Real-Time Dataset Saving** | Results are saved as the actor runs, reducing the risk of data loss |
| ✅ **Contact Enrichment** | Collect emails, phones, and social media in one workflow for stronger restaurant outreach |
| ✅ **Structured Output** | Easy-to-use dataset format that works well for CRM import, analysis, and lead generation for restaurants |

### Restaurant Lead Generator User Guide 📖

#### Required Input Fields

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

| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| `googleMapsSearchTerm` | String | Yes | `Restaurant` | Business type or niche to search for, such as restaurants, coffee shops, or dentists. |
| `googleMapsLocation` | Array | Yes | `["New York"]` | One or more target locations to focus your search. |
| `maxBusinesses` | Integer | No | `5` | Maximum number of businesses with emails to return. Must be between 1 and 1000. |
| `scrapeMaxBusinessesPerLocation` | Boolean | No | `false` | If enabled, the actor collects up to the max business limit for each location separately. |
| `proxyConfiguration` | Object | No | `{"proxy support": true}` | Proxy settings for scraping. Recommended for larger runs. |

#### Required Output Fields

```json
{
  "name": "La Trattoria Ristorante",
  "website": "https://www.latrattoriaristorante.com",
  "phone": "(212) 555-0188",
  "full_address": "123 Mulberry St New York NY 10013 US",
  "city": "New York",
  "state": "NY",
  "zip": "10013",
  "country_code": "US",
  "scraped_emails": [
    "info@latrattoriaristorante.com"
  ],
  "scraped_phones": [
    "(212) 555-0188"
  ],
  "scraped_social_media": [
    "https://www.instagram.com/latrattoriaristorante"
  ],
  "emails_found": 1,
  "pages_scraped": 4,
  "avg_rating": 4.6,
  "total_reviews": 287,
  "lat": "40.7208",
  "long": "-73.9960",
  "place_id": "ChIJL_P_CXMEDTkRw0ZdG-0GVvw",
  "scrape_status": "success"
}
```

| Field | Label | Format | Description |
|---|---|---|---|
| `name` | Business Name | text | Name of the business. |
| `website` | Website | link | Website URL for the business. |
| `phone` | Phone | text | Main phone number listed for the business. |
| `full_address` | Address | text | Full address assembled from the available location parts. |
| `city` | City | text | City for the business. |
| `state` | State | text | State or region for the business. |
| `zip` | zip | text | ZIP or postal code. |
| `country_code` | country\_code | text | Country code associated with the business location. |
| `scraped_emails` | Emails Found | array | List of emails found from publicly available sources. |
| `scraped_phones` | Phone Numbers | array | List of phone numbers found from publicly available sources. |
| `scraped_social_media` | Social Media | array | List of social media links found from publicly available sources. |
| `emails_found` | # Emails | number | Count of emails found for the business. |
| `pages_scraped` | Pages Scraped | number | Number of pages processed for the business website. |
| `avg_rating` | Rating | number | Average rating of the business. |
| `total_reviews` | Reviews | number | Total number of reviews. |
| `lat` | lat | text | Latitude value for the business location. |
| `long` | long | text | Longitude value for the business location. |
| `place_id` | place\_id | text | Unique place identifier for the business. |
| `scrape_status` | Status | text | Scraping result status such as success, failed, no\_website, or error. |

### Solving Real Problems with Restaurant Lead Generator 💼

- 🎯 **Cold Outreach** — Build restaurant sales leads for targeted email and phone outreach campaigns
- 📣 **Restaurant Marketing** — Find restaurant marketing leads for promotions, partnerships, and local campaigns
- 🤝 **Business Development** — Discover dining leads for supplier outreach, software demos, or service offers
- 🔬 **Market Research** — Analyze restaurant customer acquisition opportunities by city, region, or niche
- 📊 **CRM Enrichment** — Add restaurant CRM leads and contact details to your existing database
- ⚙️ **Ongoing Prospecting** — Repeat runs to keep your restaurant lead management pipeline fresh

### Why Choose Restaurant Lead Generator? 🏆

- 💰 **Focused Result Limits** — Keep each run controlled with a clear maximum number of businesses
- 🔄 **Location Flexibility** — Search one city or multiple locations in the same workflow
- ⚡ **Contact Enrichment** — Collect emails, phones, websites, and social media from public sources
- 📧 **Support That Responds** — Contact <hello.parsepoint@gmail.com> for help, feedback, or feature requests

### How Many Results Can You Scrape? 📈

- Use `maxBusinesses` to cap output from 1 to 1000 businesses per run
- If `scrapeMaxBusinessesPerLocation` is enabled, the limit applies separately to each location
- Actual yield depends on how many businesses in your target area have public contact details
- For larger restaurant prospecting workflows, use proxy support to improve reliability

### Legal Guidelines for Scraping Restaurant Leads ⚖️

This actor only accesses publicly available data. It does not require logins or access to private profiles. Users are responsible for following applicable laws and regulations, including privacy, spam, and data-use rules. Always review the source website’s terms before using restaurant outreach data for campaigns. Data-removal requests: <hello.parsepoint@gmail.com>.

### FAQ — Restaurant Lead Generator ❓

#### How does Restaurant Lead Generator work?

You provide a search term and one or more locations, and the actor collects public business contact details that match those filters. The results are saved as structured dataset rows you can use for restaurant lead management, analysis, or outreach.

#### What kinds of restaurant lead generation can I do with this actor?

You can use it for lead generation for restaurants, restaurant sales leads, restaurant marketing leads, dining leads, and food service leads. It’s also useful for restaurant appointment setting and restaurant customer acquisition workflows.

#### What output fields will I get?

The dataset includes business name, website, phone, full address, city, state, ZIP, country code, scraped emails, scraped phones, scraped social media, emails found, pages scraped, average rating, total reviews, latitude, longitude, place ID, and scrape status.

#### Can I use this for restaurant CRM leads?

Yes. The structured output is suitable for CRM enrichment and restaurant CRM leads, especially when you need contact details, location data, and basic qualification signals in one place.

#### Does Restaurant Lead Generator work for multiple locations?

Yes. You can provide multiple locations in the input array and choose whether the business limit is applied per location or across all locations combined.

#### What if a restaurant has no website?

Businesses without a website are still handled in the dataset output, but they will have empty contact arrays and a `no_website` status.

#### How can I get help or request a feature?

For support, feedback, or custom feature requests, contact <hello.parsepoint@gmail.com>.

### Final Word ✉️

Restaurant Lead Generator gives you a practical shortcut to restaurant outreach data, restaurant prospecting lists, and public contact records without the manual grind. If you need restaurant lead generation at scale, this actor helps you move from search to usable leads faster.

### 🆘 Support & Feedback

Have a question or want a custom feature for Restaurant Lead Generator?

- 🐞 **Bug Reports:** Open a ticket in the repository's Issues section
- ✨ **Custom Solutions & Feature Requests:** Contact our team
- 📧 **Email:** <hello.parsepoint@gmail.com>

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

## Actor input object example

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

# 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": "Restaurant",
    "googleMapsLocation": [
        "New York"
    ],
    "maxBusinesses": 5,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("parse-point/restaurant-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": "Restaurant",
    "googleMapsLocation": ["New York"],
    "maxBusinesses": 5,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("parse-point/restaurant-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": "Restaurant",
  "googleMapsLocation": [
    "New York"
  ],
  "maxBusinesses": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call parse-point/restaurant-lead-generator --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parse-point/restaurant-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/lPix4eGuiiCBUegpg/builds/UH16JF2fS9eU6EAAJ/openapi.json
