# Ophthalmologist Lead Generator (`parse-point/ophthalmologist-lead-generator`) Actor

👁️ Ophthalmologist Lead Generator pulls eye care practice leads from Google Maps with address, coordinates, ratings and reviews. 📧 Site enrichment adds emails and socials. 🏥 For ophthalmic device sales & vision brands.

- **URL**: https://apify.com/parse-point/ophthalmologist-lead-generator.md
- **Developed by:** [Parse Point](https://apify.com/parse-point) (community)
- **Categories:** Lead generation, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 0.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

### Ophthalmologist Lead Generator

**Ophthalmologist Lead Generator** helps you turn time-consuming manual research into a fast, structured workflow for finding public business contact details. It’s built for ophthalmology lead generation, eye doctor leads, and ophthalmologist marketing, helping marketers, data analysts, and researchers uncover ophthalmology patient acquisition opportunities with less effort and better ROI. 👀

### What is Ophthalmologist Lead Generator? 🔍

Ophthalmologist Lead Generator is an Apify automation actor that finds businesses matching your search term and location, then collects publicly available contact information into a clean dataset. It’s designed for anyone building an ophthalmology contact list, whether you’re focused on eye clinic lead generation, vision care leads, or specialist doctor leads. In practice, Ophthalmologist Lead Generator helps support automated ophthalmology lead generation by returning structured business data and contact details that can be used for outreach, research, or prospecting.

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

You provide a search term, one or more locations, and a result target. The actor then finds matching businesses in public web data, enriches them with contact details from publicly available sources, and saves the results to an Apify dataset. It’s useful for teams looking for ophthalmologist appointment booking opportunities, LASIK leads, cataract surgery leads, retina specialist leads, and broader optometry and ophthalmology leads.

- 🔍 **Searches** for businesses using your chosen term and location list
- 📧 **Extracts** public contact details such as emails, phone numbers, and social media profiles
- 🌍 **Filters** results by location, helping you focus on the right market
- 📊 **Structures** the output as clean dataset records for easy analysis
- 💾 **Saves** results in Apify’s dataset format for export and downstream use

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

Each row in the dataset represents a business contact record with location, contact, and scraping-status fields. Below is a realistic example of the output you can expect from Ophthalmologist Lead Generator. ✨

```json
{
  "name": "Manhattan Eye Center",
  "website": "https://www.manhattaneyecenter.com",
  "phone": "+1 212-555-0198",
  "full_address": "120 W 72nd St New York NY 10023 US",
  "city": "New York",
  "state": "NY",
  "zip": "10023",
  "country_code": "US",
  "scraped_emails": [
    "info@manhattaneyecenter.com"
  ],
  "scraped_phones": [
    "+1 212-555-0198"
  ],
  "scraped_social_media": [
    "https://www.instagram.com/manhattaneyecenter"
  ],
  "emails_found": 1,
  "pages_scraped": 4,
  "avg_rating": 4.7,
  "total_reviews": 186,
  "lat": "40.7794",
  "long": "-73.9800",
  "place_id": "ChIJN1t_tDeuEmsRUsoyG83frY4",
  "scrape_status": "success"
}
```

Export the dataset as JSON or CSV from the Apify Dataset tab.

### Capabilities of Ophthalmologist Lead Generator 🛠️

| Capability | What It Means for You |
|---|---|
| ✅ **Keyword Search** | Find businesses that match your ophthalmology lead generation criteria |
| ✅ **Location Filtering** | Focus on cities, regions, or countries where you want eye doctor leads |
| ✅ **Multiple Locations** | Run one search across several areas for broader ophthalmologist marketing coverage |
| ✅ **Result Targeting** | Set the number of businesses you want to collect, up to 1000 |
| ✅ **Per-Location Control** | Choose whether the limit applies per location or across all locations combined |
| ✅ **Proxy Support** | Built-in proxy configuration helps with reliable large-scale scraping |
| ✅ **Real-Time Dataset Output** | Results are saved as they are found, so you don’t lose progress |
| ✅ **Structured Contact Data** | Returns business names, websites, addresses, emails, phones, ratings, and more |
| ✅ **Outreach-Ready Records** | Helpful for medical lead generation for ophthalmologists and eye clinic lead generation workflows |

### Launch Your First Ophthalmologist Lead Generator Task 🚀

#### Required Input Fields

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

| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| `googleMapsSearchTerm` | String | ✅ Yes | `Ophthalmologist` | The business type or niche you want to search for. For example, you can use it for ophthalmology practice growth or eyecare patient leads. |
| `googleMapsLocation` | Array | ✅ Yes | `["New York"]` | One or more target locations where the actor should look for matching businesses. |
| `maxBusinesses` | Integer | No | `5` | The target number of businesses to find. The actor stops once it reaches this number, up to 1000. |
| `scrapeMaxBusinessesPerLocation` | Boolean | No | `false` | When enabled, the actor collects up to `maxBusinesses` results for each location. When disabled, all locations share one total limit. |
| `proxyConfiguration` | Object | No | `{"proxy support":true}` | Proxy settings for large-scale runs and more reliable scraping. |

#### Required Output Fields

| Field | Label | Format | Description |
|---|---|---|---|
| `name` | Business Name | text | The business name returned in the dataset. |
| `website` | Website | link | The business website, if available. |
| `phone` | Phone | text | The main phone number listed for the business. |
| `full_address` | Address | text | The full address assembled from the available location details. |
| `city` | City | text | The city value associated with the business. |
| `state` | State | text | The state value associated with the business. |
| `zip` | zip | text | The postal code or ZIP value. |
| `country_code` | country\_code | text | The country code value. |
| `scraped_emails` | Emails Found | array | A list of extracted email addresses found for the business. |
| `scraped_phones` | Phone Numbers | array | A list of phone numbers collected during scraping. |
| `scraped_social_media` | Social Media | array | A list of social media links collected during scraping. |
| `emails_found` | # Emails | number | The number of email addresses found for the business. |
| `pages_scraped` | Pages Scraped | number | How many pages were processed for that business. |
| `avg_rating` | Rating | number | The business rating value. |
| `total_reviews` | Reviews | number | The total number of reviews. |
| `lat` | lat | text | The latitude value returned for the business. |
| `long` | long | text | The longitude value returned for the business. |
| `place_id` | place\_id | text | The unique place identifier for the business. |
| `scrape_status` | Status | text | The scraping result status, such as success, failed, error, or no\_website. |

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

1. **Open** the actor in Apify.
2. **Enter** your ophthalmology search term and one or more target locations.
3. **Set** your desired business limit and choose whether it should apply per location.
4. **Enable** proxy configuration if you plan to run larger jobs.
5. **Run** the actor and monitor progress in the logs.
6. **Download** the dataset once the run completes.

### Solving Real Problems with Ophthalmologist Lead Generator 💼

- 🎯 **Sales Prospecting** — Build a targeted ophthalmology contact list for outreach campaigns without manually checking each business
- 📣 **Campaign Targeting** — Support ophthalmology patient acquisition by finding relevant practices in selected areas
- 🤝 **Research Projects** — Gather eye doctor leads and specialist doctor leads for market mapping and competitive analysis
- 🏥 **Practice Growth** — Identify businesses that may support ophthalmology practice growth, from general eye care to LASIK leads
- ⚙️ **Operational Workflows** — Feed clean lead data into CRM systems, enrichment tools, or analyst workflows

### What Sets Ophthalmologist Lead Generator Apart? 🏆

- 💰 **Focused on Results** — Collects structured business records with contact data you can actually use
- 🔄 **Built for Reliability** — Includes proxy support for larger jobs and more stable runs
- 📧 **Public-Data Only** — Works with publicly available information, making it suitable for ethical lead generation workflows
- ⚡ **Fast Dataset Output** — Results are saved during the run, so you can start reviewing leads quickly

### Search Limits and Capacity 📈

- Set `maxBusinesses` anywhere from 1 to 1000 per run
- Use `scrapeMaxBusinessesPerLocation` to control whether the limit applies per location or across all locations
- Results depend on how many publicly available businesses match your ophthalmologist marketing query
- Proxy configuration is available for larger or more demanding runs

### Is It Legal to Scrape Ophthalmologist Lead Generator? ⚖️

Ophthalmologist Lead Generator works with publicly available data only, not private accounts or restricted content. Users are responsible for following applicable laws and regulations, including privacy and anti-spam rules, as well as any relevant site terms. Use the data responsibly for legitimate ophthalmology lead generation, eye clinic lead generation, and research purposes only. For data-removal or compliance inquiries: <helloparsepoint@gmail.com>.

### Ending Note ✉️

Stop spending hours manually searching for ophthalmologist appointment booking opportunities and eye doctor leads. The **Ophthalmologist Lead Generator** helps you build clean, structured lead lists for ophthalmology patient acquisition in minutes. 🚀

### FAQ — Ophthalmologist Lead Generator ❓

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

You enter a search term and one or more locations, then the actor finds matching businesses and saves their public contact details into an Apify dataset. It is designed for practical ophthalmology lead generation and related research workflows.

#### What Types of Businesses Can I Target?

You can target any business type or niche by using the search term field. Many users apply it to eye doctor leads, optometry and ophthalmology leads, vision care leads, and specialist doctor leads.

#### What Data Do I Get Back?

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

#### Can I Use Multiple Locations?

Yes. The `googleMapsLocation` field accepts an array of locations, so you can run eye clinic lead generation across multiple cities or regions in one task.

#### How Many Businesses Can I Collect?

You can set `maxBusinesses` from 1 to 1000. You can also decide whether that limit applies to each location separately or across all locations together.

#### Is Proxy Configuration Required?

No, but it is available and recommended for larger runs. Proxy support helps make the actor more reliable when collecting broader ophthalmology practice growth data.

#### What Are Common Use Cases for This Actor?

Common use cases include ophthalmologist marketing, ophthalmology patient acquisition, LASIK leads, cataract surgery leads, retina specialist leads, and broader medical lead generation for ophthalmologists.

#### How Can I Get Help?

If you need support, want to report an issue, or have a data-removal request, contact <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": "Ophthalmologist",
  "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": "Ophthalmologist",
    "googleMapsLocation": [
        "New York"
    ],
    "maxBusinesses": 5,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

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

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

```

## MCP server setup

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