# Pharmacy Lead Generator (`parse-point/pharmacy-lead-generator`) Actor

💊 Pharmacy Lead Generator pulls retail and independent pharmacy leads from Google Maps—phone, website, address & coordinates. 📧 Emails and social links per site. 🏪 For drug distributors & pharmacy software vendors.

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

### Pharmacy Lead Generator

**Pharmacy Lead Generator** helps you replace time-consuming manual research with a faster way to build pharmacy leads, pharmacy lead generation lists, and pharmacy marketing outreach targets. Instead of hunting for contact details one by one, this actor gathers publicly available business contact data and packages it into structured results that are easier to review, segment, and use for pharmacy sales leads and pharmacy customer acquisition.

### What is Pharmacy Lead Generator? 🔍

**Pharmacy Lead Generator** is an Apify automation actor built to find pharmacy businesses from public web data and return their contact information in a structured dataset. It is designed for marketers, data analysts, and researchers who need pharmacy contact finder results without manual copy-pasting. Whether you're working on independent pharmacy leads, retail pharmacy leads, or broader pharmacy business development, this actor helps you turn public business listings into actionable pharmacy lead list data.

It works as a pharmacy email extractor and pharmacy contact scraper that supports automated pharmacy scraping for lead generation workflows. The output is clean, consistent, and ready for pharmacy outreach, prescription services marketing, or internal research.

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

You provide a search term, one or more locations, and an optional limit, and the actor looks for matching businesses, gathers contact details from public sources, and saves the results to your Apify dataset. It also supports proxy configuration for more reliable large-scale runs.

- 🔍 **Finds** businesses based on your search term and location inputs
- 📧 **Extracts** publicly available emails, plus phone numbers and social media links
- 🌍 **Organizes** results by location for easier pharmacy prospecting and pharmacy business development
- 📊 **Structures** output into clean dataset records for analysis and outreach
- 💾 **Supports** proxy configuration for more reliable pharmacy lead generation service runs

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

Here’s an example of the kind of structured pharmacy lead list data you can expect in the dataset.

```json
{
  "name": "Downtown Family Pharmacy",
  "website": "https://www.downtownfamilypharmacy.com",
  "phone": "(212) 555-0198",
  "full_address": "245 W 34th St New York NY 10001 US",
  "city": "New York",
  "state": "NY",
  "zip": "10001",
  "country_code": "US",
  "scraped_emails": [
    "info@downtownfamilypharmacy.com"
  ],
  "scraped_phones": [
    "(212) 555-0198"
  ],
  "scraped_social_media": [
    "https://www.instagram.com/downtownfamilypharmacy"
  ],
  "emails_found": 1,
  "pages_scraped": 4,
  "avg_rating": 4.6,
  "total_reviews": 128,
  "lat": "40.7505",
  "long": "-73.9934",
  "place_id": "ChIJ4zGFAZpYwokRGUGph3Mf37k",
  "scrape_status": "success"
}
```

Export the dataset as JSON from the Apify platform for use in CRM tools, outreach campaigns, or research workflows.

### Capabilities of Pharmacy Lead Generator 🛠️

| Capability | What It Means for You |
|---|---|
| ✅ **Search Term Input** | Target pharmacy businesses using the exact niche or business type you want to research |
| ✅ **Location Input** | Focus on one or more cities or regions for localized pharmacy customer acquisition |
| ✅ **Result Limit** | Control how many businesses with emails you want the run to collect |
| ✅ **Per-Location Option** | Collect up to the set maximum for each location, or combine all locations into one total limit |
| ✅ **Proxy Configuration** | Use built-in proxy support for more stable large-scale pharmacy outreach runs |
| ✅ **Public Contact Data** | Collect emails, phone numbers, and social media profiles from publicly available sources |
| ✅ **Structured Dataset Output** | Get clean records that are easy to sort, filter, and export |
| ✅ **Location-Aware Filtering** | Keep results aligned with your target city for more relevant pharmacy sales leads |

### Launch Your First Pharmacy Lead Generator Task 🚀

#### Required Input Fields

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

| Parameter | Type | Required | Default | Description |
|---|---|---:|---|---|
| `googleMapsSearchTerm` | String | Yes | `Pharmacy` | The business type or niche you want to search for, such as pharmacy businesses. |
| `googleMapsLocation` | Array | Yes | `["New York"]` | One or more target locations for the search, such as a city or region. |
| `maxBusinesses` | Integer | No | `5` | The maximum number of businesses with emails to collect. The run stops when this target is reached. |
| `scrapeMaxBusinessesPerLocation` | Boolean | No | `false` | If enabled, the actor collects up to the maximum number of results for each location separately. |
| `proxyConfiguration` | Object | No | `{ "proxy support": true }` | Proxy settings for more reliable scraping, especially for larger runs. |

#### Required Output Fields

| Field | Type | Description |
|---|---|---|
| `name` | String | Business name returned in the dataset. |
| `website` | URL | Website associated with the business. |
| `phone` | String | Main phone number listed for the business. |
| `full_address` | String | Combined address string for the business. |
| `city` | String | City associated with the business. |
| `state` | String | State associated with the business. |
| `zip` | String | Postal or ZIP code. |
| `country_code` | String | Country code for the business location. |
| `scraped_emails` | List | Emails found from publicly available sources. |
| `scraped_phones` | List | Phone numbers found during scraping. |
| `scraped_social_media` | List | Social media links found during scraping. |
| `emails_found` | Number | Count of emails found for the business. |
| `pages_scraped` | Number | Number of pages scraped for the business. |
| `avg_rating` | Number | Average rating value returned for the business. |
| `total_reviews` | Number | Total number of reviews returned for the business. |
| `lat` | String | Latitude value for the business location. |
| `long` | String | Longitude value for the business location. |
| `place_id` | String | Unique place identifier returned for the business. |
| `scrape_status` | String | Scraping status such as success, failed, error, or no\_website. |

1. **Open** the actor in Apify and set your pharmacy lead generation inputs.
2. **Add** one or more locations to focus on your target market.
3. **Choose** your result limit for the number of businesses with emails.
4. **Run** the actor and monitor the live logs.
5. **Download** the dataset when the run finishes.

### Solving Real Problems with Pharmacy Lead Generator 💼

- 🎯 **Sales Prospecting** — Build pharmacy sales leads for outreach without spending hours on manual research
- 📣 **Pharmacy Marketing** — Create targeted pharmacy marketing lists for campaigns and promotions
- 🤝 **Business Development** — Discover independent pharmacy leads for partnership or acquisition outreach
- 🔬 **Market Research** — Analyze retail pharmacy leads across cities or regions
- ⚙️ **Automated Lead Flow** — Repeat runs for ongoing pharmacy lead generation and pharmacy advertising workflows

### What Sets Pharmacy Lead Generator Apart? 🏆

- 💰 **Targeted Output** — Focuses on businesses with contact information, which makes it practical for pharmacy lead generation service use cases
- 🔄 **Proxy Support** — Includes built-in proxy configuration for more reliable public web scraping
- 📧 **Real Contact Data** — Returns public emails, phones, and social links rather than generic business records
- ⚡ **Fast Dataset Saving** — Results are stored as the run progresses, so you can work with partial data sooner

### Search Limits and Capacity 📈

The actor lets you set a clear target using `maxBusinesses`, with a default of 5 and a maximum of 1000. You can also choose whether that limit applies per location or across all locations together. Performance depends on the number of matching businesses and how many publicly available contacts exist for your pharmacy prospecting target.

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

This actor works with publicly available data only. It does not require logins or access restricted content. As with any public web data workflow, you are responsible for following applicable laws, privacy rules, and the terms of the websites or services you use. For compliance questions or data-removal requests, contact <helloparsepoint@gmail.com>.

### Ending Note ✉️

Stop spending hours manually building pharmacy lead lists. **Pharmacy Lead Generator** gives you structured, public contact data in minutes, helping you move faster on pharmacy outreach, pharmacy advertising, and pharmacy business development.

### FAQ — Pharmacy Lead Generator ❓

#### How does Pharmacy Lead Generator work?

You enter a search term and one or more locations, then the actor collects matching public business records and saves the structured results to your Apify dataset.

#### What kinds of businesses can I target with Pharmacy Lead Generator?

You can target pharmacy-related businesses using the search term field, which makes it useful for pharmacy lead generation, pharmacy prospecting, and related outreach workflows.

#### What data does Pharmacy Lead Generator return?

The dataset includes business name, website, phone, address fields, city, state, ZIP, country code, emails found, phone numbers, social media links, number of pages scraped, ratings, review count, coordinates, place ID, and scrape status.

#### Can I use Pharmacy Lead Generator for independent pharmacy leads?

Yes. It is well suited for independent pharmacy leads, retail pharmacy leads, and similar pharmacy customer acquisition campaigns when you need public contact data.

#### Does Pharmacy Lead Generator support proxy configuration?

Yes. The input includes a proxy configuration object, which is recommended for more reliable large-scale scraping.

#### How much can I collect in one run?

You can set `maxBusinesses` anywhere from 1 to 1000. The actor stops when it reaches that target.

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

Businesses without websites are still handled in the dataset with their scraping status set to `no_website`, depending on your output mode and run results.

#### How do I get support?

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

### Support & Feedback

Have a question or want to improve Pharmacy Lead Generator?

- 🐞 **Bug Reports:** Share issues through your Apify workspace or repository workflow
- ✨ **Feature Requests:** Reach out with ideas for better pharmacy lead generation, pharmacy lead list exports, or additional research filters
- 📧 **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": "Pharmacy",
  "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": "Pharmacy",
    "googleMapsLocation": [
        "New York"
    ],
    "maxBusinesses": 5,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

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

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

```

## MCP server setup

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