# Med Spa Lead Generator (`parse-point/med-spa-lead-generator`) Actor

✨ Med Spa Lead Generator pulls medical spa and aesthetics clinic leads from Google Maps with phone, website and coordinates. 📧 Emails and socials per site. 💉 For aesthetic device sales & med spa marketing agencies.

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

### Med Spa Lead Generator

**Med Spa Lead Generator** helps you find med spa leads and public contact details from businesses that match your search term and location. It’s built for marketers, sales teams, recruiters, and researchers who need med spa lead generation without hours of manual research. Use it for medical spa marketing, spa lead generator workflows, and local med spa marketing to uncover more opportunities at scale. ✨

### What is Med Spa Lead Generator? 🔍

**Med Spa Lead Generator** is an Apify actor that collects business contact data from publicly available sources for your chosen search term and location. It’s designed for med spa lead generation, medical spa lead generation, and client acquisition for med spas by turning public business listings into structured contact records. If you work with aesthetic clinic leads, beauty clinic leads, or anti-aging clinic marketing, this tool gives you a practical way to build a targeted med spa sales funnel.

### What Data Does a Med Spa Lead Generator Collect? 📊

This actor returns business-level contact information plus useful enrichment fields, so you can quickly see what data you’ll get before you run it. The dataset is focused on public business identity, contact details, location details, engagement signals, and scrape status — all useful for high intent spa leads and cosmetic treatment leads.

| Data Category | Field Name | Description | Available |
|---|---|---|---|
| Identity | `name` | Business name | ✅ Always |
| Website | `website` | Business website URL | ✅ Always |
| Contact | `phone` | Main phone number | ✅ Always |
| Address | `full_address` | Full business address | ✅ Always |
| Location | `city` | City from the business record | ✅ Always |
| Location | `state` | State from the business record | ✅ Always |
| Location | `zip` | ZIP code from the business record | ✅ Always |
| Location | `country_code` | Country code from the business record | ✅ Always |
| Contact | `scraped_emails` | Emails found on public web pages | ✅ When found |
| Contact | `scraped_phones` | Phone numbers found on public web pages | ✅ When found |
| Social | `scraped_social_media` | Social media links found on public web pages | ✅ When found |
| Enrichment | `emails_found` | Number of emails found | ✅ When found |
| Enrichment | `pages_scraped` | Number of pages scraped | ✅ When found |
| Trust Signals | `avg_rating` | Average rating | ✅ Always |
| Trust Signals | `total_reviews` | Total reviews | ✅ Always |
| Coordinates | `lat` | Latitude | ✅ Always |
| Coordinates | `long` | Longitude | ✅ Always |
| Identity | `place_id` | Place identifier | ✅ Always |
| Status | `scrape_status` | Scraping status | ✅ Always |

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

The actor is built for practical med spa marketing workflows, so the output is grouped around contact data, business identity, and enrichment. That makes it useful whether you’re building med spa leads, researching aesthetic clinic leads, or compiling a spa lead generator list for outreach.

**Contact Data**

- Public email addresses found on business websites
- Phone numbers found on business websites
- Social media links found on business websites

**Identity Data**

- Business name
- Website
- Phone
- Place identifier

**Location Data**

- Full address
- City
- State
- ZIP code
- Country code
- Latitude and longitude

**Performance Data**

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

#### Key Features of Med Spa Lead Generator ⚡

| Feature | Benefit |
|---|---|
| ✅ Search term filtering | Focus on a specific med spa niche, clinic type, or local market |
| ✅ Location targeting | Build localized med spa leads for one or more cities |
| ✅ Result limit control | Stop once you reach your target number of businesses |
| ✅ Per-location option | Collect up to the target number for each location when needed |
| ✅ Proxy configuration | Built-in proxy support for reliable scraping at scale |
| ✅ Immediate dataset saving | Results are saved as they are found for safer long runs |
| ✅ Public contact extraction | Captures emails, phones, and social links from publicly available sources |
| ✅ Structured dataset output | Easy to export into spreadsheets, CRMs, and outreach tools |

### Med Spa Lead Generator User Guide 📖

#### Required Input Fields

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

| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| `googleMapsSearchTerm` | String | Yes | `Med Spa` | The business type or niche you want to target, such as med spa, cosmetic clinic, or beauty clinic. |
| `googleMapsLocation` | Array | Yes | `["New York"]` | One or more target locations for the search, such as a city or region. |
| `maxBusinesses` | Integer | No | `5` | Maximum number of businesses with emails to return. The allowed range is 1 to 1000. |
| `scrapeMaxBusinessesPerLocation` | Boolean | No | `false` | If enabled, the actor collects up to the target number for each location. If disabled, all locations share one total limit. |
| `proxyConfiguration` | Object | No | `{"proxy support": true}` | Proxy settings used for scraping. Recommended for larger runs. |

#### Required Output Fields

```json
{
  "name": "Serenity Med Spa",
  "website": "https://serenitymedspa.com",
  "phone": "(212) 555-0147",
  "full_address": "145 W 57th St New York NY 10019 US",
  "city": "New York",
  "state": "NY",
  "zip": "10019",
  "country_code": "US",
  "scraped_emails": [
    "hello@serenitymedspa.com",
    "appointments@serenitymedspa.com"
  ],
  "scraped_phones": [
    "(212) 555-0147"
  ],
  "scraped_social_media": [
    "https://www.instagram.com/serenitymedspa/"
  ],
  "emails_found": 2,
  "pages_scraped": 4,
  "avg_rating": 4.8,
  "total_reviews": 126,
  "lat": "40.7641",
  "long": "-73.9797",
  "place_id": "ChIJ2QeB5d...serenity",
  "scrape_status": "success"
}
```

| Field | Label | Format | Description |
|---|---|---|---|
| `name` | Business Name | text | The business name returned for the record. |
| `website` | Website | link | The website URL associated with the business. |
| `phone` | Phone | text | The main phone number shown for the business. |
| `full_address` | Address | text | The full address combined into one field. |
| `city` | City | text | The city associated with the business. |
| `state` | State | text | The state associated with the business. |
| `zip` | zip | text | The ZIP code associated with the business. |
| `country_code` | country\_code | text | The country code associated with the business. |
| `scraped_emails` | Emails Found | array | A list of public email addresses found during scraping. |
| `scraped_phones` | Phone Numbers | array | A list of phone numbers found during scraping. |
| `scraped_social_media` | Social Media | array | A list of social media links found during scraping. |
| `emails_found` | # Emails | number | The total number of emails found for the business. |
| `pages_scraped` | Pages Scraped | number | The number of pages processed for that business. |
| `avg_rating` | Rating | number | The average rating value in the source data. |
| `total_reviews` | Reviews | number | The total number of reviews in the source data. |
| `lat` | lat | text | The latitude value from the business record. |
| `long` | long | text | The longitude value from the business record. |
| `place_id` | place\_id | text | The place identifier from the business record. |
| `scrape_status` | Status | text | The scraping status for the record, such as success, failed, error, or no\_website. |

### Solving Real Problems with Med Spa Lead Generator 💼

- 🎯 **Cold Outreach for Med Spa Leads** — Build targeted med spa leads for email campaigns and follow-up sequences
- 📣 **Medical Spa Marketing** — Find businesses that fit your ideal service category and location
- 🤝 **Client Acquisition for Med Spas** — Discover new prospects for partnerships, services, and B2B offers
- 🔬 **Market Research** — Study beauty clinic leads and anti-aging clinic marketing opportunities across regions
- 📊 **CRM Enrichment** — Append business names, websites, and contact details to your lead records
- ⚙️ **Sales Funnel Building** — Feed a med spa sales funnel with structured, location-based contact data

### Why Choose Med Spa Lead Generator? 🏆

- 💰 **Targeted Lead Collection** — Focus on med spa lead generation instead of generic business data
- 🔄 **Multi-Location Support** — Useful for local med spa marketing across one or many cities
- ⚡ **Structured Output** — Clean dataset fields make exports easy for analysts and outreach teams
- 📧 **Direct Support** — Questions and feature requests go to <helloparsepoint@gmail.com>

### How Many Results Can You Scrape? 📈

The `maxBusinesses` setting lets you cap results from 1 to 1000 per run. Actual yield depends on your search term, location, and how many businesses have publicly available websites and contact details. For broader med spa marketing and lead generation for med spas, using multiple locations or adjusting the search term can help you find more matches.

### Legal Guidelines for Scraping Med Spa Lead Generator ⚖️

This actor accesses only publicly available data. It does not require private access, logins, or restricted content. You are responsible for complying with applicable laws, platform terms, and anti-spam rules when using this data for medical spa lead generation, outreach, or research. For data-removal requests, contact <helloparsepoint@gmail.com>.

### FAQ — Med Spa Lead Generator ❓

#### How does Med Spa Lead Generator work?

You provide a search term and one or more locations, and the actor collects public business data that matches your med spa lead generation criteria. It then visits publicly available business websites to find emails, phone numbers, and social links, saving the results into your Apify dataset.

#### What kinds of businesses can I target?

You can target any business type that fits the search term you enter, such as med spas, cosmetic treatment leads, beauty clinic leads, or other local service businesses. The results depend on what public business data is available for the locations you choose.

#### Can I use more than one location?

Yes. `googleMapsLocation` accepts an array, so you can run local med spa marketing campaigns across multiple cities or regions in one run.

#### What happens if a business has no website?

If a business has no website, the record is marked with `scrape_status` set to `no_website`. When email-only filtering is not in use, the business can still be saved with empty contact arrays.

#### How is this useful for spa lead generator workflows?

It gives you a clean and structured list of public business contacts, making it easier to build outreach lists, enrich CRM records, and support client acquisition for med spas.

#### Does it help with high intent spa leads?

Yes. By using a focused search term and location filters, you can collect more relevant businesses and prioritize high intent spa leads for outreach.

#### How should I choose my search term?

Use a specific niche when possible. For example, terms tied to medical spa lead generation, aesthetic clinic leads, or anti-aging clinic marketing usually produce more relevant results than broad terms.

#### How can I get support?

If you need help or want to request a feature, contact <helloparsepoint@gmail.com>.

### Final Word ✉️

**Med Spa Lead Generator** is a practical way to build a public-contact list for med spa leads, medical spa marketing, and local outreach. It saves time, structures your data, and helps you turn public business information into usable opportunities for your sales funnel. 🚀

### 🆘 Support & Feedback

Have a question or want a custom feature for Med Spa Lead Generator?

- 🐞 **Bug Reports:** Contact support if you run into an issue
- ✨ **Custom Solutions & Feature Requests:** Share what you need
- 📧 **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": "Med Spa",
  "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": "Med Spa",
    "googleMapsLocation": [
        "New York"
    ],
    "maxBusinesses": 5,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

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

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

```

## MCP server setup

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