# Orthodontist Lead Generator (`parse-point/orthodontist-lead-generator`) Actor

😁 Orthodontist Lead Generator collects braces and aligner practice leads from Google Maps—coordinates, ratings & reviews. 📧 Site enrichment adds emails and social links. 🦷 For orthodontic suppliers & practice marketing.

- **URL**: https://apify.com/parse-point/orthodontist-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, 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

### Orthodontist Lead Generator

**Orthodontist Lead Generator** helps you turn time-consuming manual research into a fast, repeatable workflow for finding orthodontic patient leads. It’s built for marketers, researchers, and local outreach teams who need orthodontic lead generation without the hassle. Use it to support orthodontist marketing, dental lead generation, and patient acquisition for orthodontists while saving hours and improving ROI.

### What is Orthodontist Lead Generator? 🔍

**Orthodontist Lead Generator** is an Apify automation actor designed to find orthodontic businesses and collect publicly available contact details in a structured dataset. It supports orthodontic practice growth by gathering business names, websites, phone numbers, addresses, ratings, reviews, coordinates, and contact signals that can help with local orthodontic marketing and outreach. Whether you’re a sales professional, researcher, or marketer, this tool makes orthodontic lead generation much easier with organized results ready for analysis.

It works as an orthodontist email extractor and orthodontist contact scraper for public web data, helping you build a practical orthodontic email list for outreach and market research.

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

This actor takes your search term and location, processes publicly available business data, and returns clean records in an Apify dataset. It’s useful for teams focused on braces patient acquisition, invisalign leads, and lead generation for dentists who want to identify relevant practices and contact points quickly. The output is structured so you can review, filter, and act on the data with less manual work.

- 🔍 **Searches** for orthodontic businesses using your chosen niche and location
- 📧 **Extracts** publicly available emails, phones, and social media details when found
- 🌍 **Filters** results by the locations you provide
- 📊 **Structures** output as clean JSON records for easy analysis
- 💾 **Stores** results in the Apify dataset for export and downstream workflows

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

Here’s an example of the kind of structured business contact data you can expect from an orthodontic lead generation run.

```json
{
  "name": "Bright Smile Orthodontics",
  "website": "https://www.brightsmileortho.com",
  "phone": "+1 212-555-0148",
  "full_address": "245 W 34th St New York NY 10001 US",
  "city": "New York",
  "state": "NY",
  "zip": "10001",
  "country_code": "US",
  "scraped_emails": [
    "info@brightsmileortho.com",
    "appointments@brightsmileortho.com"
  ],
  "scraped_phones": [
    "+1 212-555-0148"
  ],
  "scraped_social_media": [
    "https://www.instagram.com/brightsmileortho",
    "https://www.facebook.com/brightsmileortho"
  ],
  "emails_found": 2,
  "pages_scraped": 6,
  "avg_rating": 4.8,
  "total_reviews": 126,
  "lat": "40.7505",
  "long": "-73.9934",
  "place_id": "ChIJd8BlQ2BZwokRAFUEcm_qrcA",
  "scrape_status": "success"
}
```

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

### Capabilities of Orthodontist Lead Generator 🛠️

| Capability | What It Means for You |
|---|---|
| ✅ **Search Term Targeting** | Focus on orthodontic patient leads by using a business type or niche that matches your campaign goals |
| ✅ **Location Targeting** | Find orthodontic practice growth opportunities in specific cities or regions |
| ✅ **Maximum Results Control** | Limit how many businesses with emails you want in each run |
| ✅ **Per-Location Mode** | Collect up to your target number of businesses for each location separately when enabled |
| ✅ **Proxy Support** | Built-in proxy support for more reliable scraping on larger runs |
| ✅ **Real-Time Dataset Saving** | Results are saved as they are processed, which helps reduce data loss during long runs |
| ✅ **Contact-Enriched Output** | Returns websites, phones, social media, ratings, reviews, and location details in one dataset |
| ✅ **Structured Export** | Easy to export for orthodontist marketing, research, and CRM workflows |

### Launch Your First Orthodontist Lead Generator Task 🚀

#### Required Input Fields

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

| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| `googleMapsSearchTerm` | String | ✅ Yes | `Orthodontist` | Enter the business type or niche you want to search for, such as orthodontists or related dental businesses. |
| `googleMapsLocation` | Array | ✅ Yes | `["New York"]` | Provide one or more target locations to focus your search on. |
| `maxBusinesses` | Integer | No | `5` | Sets the maximum number of businesses with emails to collect before stopping. |
| `scrapeMaxBusinessesPerLocation` | Boolean | No | `false` | When enabled, the actor collects up to the maximum number of businesses for each location separately. |
| `proxyConfiguration` | Object | No | `{ "proxy support": true }` | Proxy settings for large-scale or more reliable scraping runs. |

#### Required Output Fields

| Field | Type | Description |
|---|---|---|
| `name` | String | Business name returned in the dataset. |
| `website` | URL | Website associated with the business, if available. |
| `phone` | String | Main phone number listed for the business. |
| `full_address` | String | Combined street address and location details. |
| `city` | String | City where the business is located. |
| `state` | String | State or region for the business. |
| `zip` | String | Postal code for the location. |
| `country_code` | String | Country code for the business location. |
| `scraped_emails` | Array | List of emails found from publicly available sources. |
| `scraped_phones` | Array | List of phone numbers found during scraping. |
| `scraped_social_media` | Array | List of social media links discovered during scraping. |
| `emails_found` | Integer | Number of emails found for the business. |
| `pages_scraped` | Integer | Number of pages processed during contact discovery. |
| `avg_rating` | Number | Average business rating. |
| `total_reviews` | Integer | Total number of reviews. |
| `lat` | String | Latitude value for the business location. |
| `long` | String | Longitude value for the business location. |
| `place_id` | String | Unique place identifier for the business. |
| `scrape_status` | String | Status of the scrape for that business, such as success or failed. |

1. **Open** the actor in Apify.
2. **Enter** your orthodontic search term and location.
3. **Set** your maximum business target and choose whether to split the limit per location.
4. **Add** proxy settings if you plan to run larger batches.
5. **Start** the run and review results in the dataset once processing finishes.

### Solving Real Problems with Orthodontist Lead Generator 💼

- 🎯 **Sales Prospecting** — Build a targeted orthodontic email list for outreach without spending hours on manual research
- 📣 **Campaign Targeting** — Support orthodontist marketing and local orthodontic marketing with location-specific business data
- 🤝 **Practice Outreach** — Identify orthodontic practices for referral marketing, partnerships, and new patient appointments
- 🔬 **Market Research** — Analyze orthodontic practice growth opportunities and compare local competition
- ⚙️ **Automated Pipelines** — Reuse the actor for recurring orthodontic lead generation workflows and ongoing data refreshes

### What Sets Orthodontist Lead Generator Apart? 🏆

- 💰 **Efficient Result Collection** — Designed to stop when your target number of businesses with emails is reached
- 🔄 **Reliable Processing** — Includes retries and fallbacks for resilience when working with public web data
- 📧 **Contact-Enriched Records** — Goes beyond names by collecting websites, phones, ratings, reviews, and social media details
- ⚡ **Built for Actionable Leads** — Helps teams move faster on orthodontic advertising, outreach, and follow-up

### Search Limits and Capacity 📈

- Set `maxBusinesses` from 1 to 1000
- Turn on `scrapeMaxBusinessesPerLocation` if you want up to the target number for each location instead of one combined limit
- Results depend on how many businesses match your search term and have publicly available contact details
- Built-in proxy support helps with larger runs and more reliable scraping
- Output is saved to the dataset in a structured format for export and analysis

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

This actor accesses only publicly available data — no logins, private records, or restricted content. Public web scraping is generally lawful when done responsibly, but you are responsible for complying with applicable laws, the relevant website’s terms, and any privacy or anti-spam rules that apply to your use case. Use Orthodontist Lead Generator for legitimate research, marketing, and data analysis only. For data-removal or compliance inquiries, contact <helloparsepoint@gmail.com>.

### Ending Note ✉️

Stop spending hours manually building orthodontic patient leads. **Orthodontist Lead Generator** gives you a practical way to collect clean, structured data for orthodontic lead generation, patient acquisition for orthodontists, and dental marketing services — all in one place.

### FAQ — Orthodontist Lead Generator ❓

#### How Does Orthodontist Lead Generator Work?

It uses your search term and location to find relevant businesses, then collects publicly available contact details and stores the results in your Apify dataset.

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

You can target orthodontic businesses by using a relevant search term and one or more locations. It’s useful for orthodontic seo, dental lead generation, and local orthodontic marketing.

#### What Kind of Data Does It Return?

It returns business names, websites, phone numbers, addresses, city, state, zip, country code, scraped emails, scraped phones, scraped social media, ratings, reviews, coordinates, place IDs, and scrape status.

#### Can I Use It for Invisalign Leads?

Yes. If your search term and location match practices that serve invisalign leads, the actor can help you identify those businesses and collect their public contact details.

#### How Many Results Can I Collect?

You control the run with `maxBusinesses`, which accepts values from 1 to 1000. You can also choose whether that limit applies per location or across all locations combined.

#### Does It Support Larger Runs?

Yes. Proxy support is included for more reliable scraping on larger batches, and results are saved to the dataset as they are processed.

#### What Are the Best Use Cases?

It’s ideal for orthodontic practice growth, braces patient acquisition, new patient appointments, orthodontic referral marketing, and other outreach-focused workflows.

#### How Do I Get Help?

For questions, feedback, or data-removal requests, email <helloparsepoint@gmail.com>.

### 🆘 Support & Feedback

Have a question or found an issue with Orthodontist Lead Generator?

- 🐞 **Bug Reports:** Share the issue with the team so it can be reviewed
- ✨ **Custom Solutions & Feature Requests:** Reach out with your workflow needs or improvement ideas
- 📧 **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": "Orthodontist",
  "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": "Orthodontist",
    "googleMapsLocation": [
        "New York"
    ],
    "maxBusinesses": 5,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

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

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

```

## MCP server setup

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