# Transplant Surgeons Contact Scraper (`scrapido/transplant-surgeons-contact-scraper`) Actor

🫀 Transplant Surgeons Contact Scraper pulls transplant surgery practice listings from Google Maps with full address, ZIP, phone & website. 📧 Emails and social links per site. 🏥 Built for organ care technology vendors & surgical sales.

- **URL**: https://apify.com/scrapido/transplant-surgeons-contact-scraper.md
- **Developed by:** [Scrapido](https://apify.com/scrapido) (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 $2.50 / 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

### Transplant Surgeons Contact Scraper 🩺📬

**Transplant Surgeons Contact Scraper** helps you automate transplant surgeon directory lead generation by scraping transplant surgeon contact information from publicly available business sources. It uses your search term and location filters to find relevant practices, then extracts emails, phone numbers, and social media profiles for faster outreach and list building.

***

### What Does Transplant Surgeons Contact Scraper Do? 🤖

Transplant Surgeons Contact Scraper **scrapes**, **extracts**, and **collects** business contact information for transplant surgeons using your provided search term and target locations. During a run, it finds relevant businesses, follows each business website (when available), and gathers contact details such as **scraped emails**, **scraped phones**, and **scraped\_social\_media**. It also applies built-in limits so you can control how many businesses you want. The output is exported as structured dataset rows you can filter, analyze, and import—making it a practical alternative to manual healthcare contact scraping when you’re building a transplant surgeon database.

***

### What Can Transplant Surgeons Contact Scraper Extract? 📊

The dataset includes business identity, address/location details, and multiple contact channels. It collects contact data from associated websites (when present) and exports everything in a structured format for downstream CRM import or analysis.

| Data Type | Field Name | Description |
|---|---|---|
| Identity | `name` | Business name of the transplant surgeon practice. |
| Website | `website` | The business website URL (when available). |
| Contact | `phone` | Primary phone number captured for the business. |
| Address | `full_address` | Full address as a single combined string. |
| Location | `city` | City where the business is located. |
| Location | `state` | State where the business is located. |
| Location | `zip` | ZIP/postal code for the business. |
| Location | `country_code` | Country code for the business location. |
| Contact | `scraped_emails` | List of emails found on the business’s website(s) during scraping. |
| Contact | `scraped_phones` | List of phone numbers found on the business’s website(s) during scraping. |
| Contact | `scraped_social_media` | List of social media profile links found on the business’s website(s). |
| Counts | `emails_found` | Number of emails found for the business. |
| Activity | `pages_scraped` | Number of pages processed during the website scraping step for that business. |
| Quality | `avg_rating` | Average rating value captured for the business. |
| Quality | `total_reviews` | Total review count captured for the business. |
| Geodata | `lat` | Latitude value for the business location. |
| Geodata | `long` | Longitude value for the business location. |
| Tracking | `place_id` | Place identifier associated with the business. |
| Status | `scrape_status` | Scraping status (for example: success, failed, no\_website, or error). |

#### Key Features of Transplant Surgeons Contact Scraper ⚡

- ✅ **Keyword-driven search term**: Uses `googleMapsSearchTerm` (pre-filled with “Transplant Surgeons”) to target the transplant surgeon directory niche.
- 🌍 **Location targeting**: Lets you provide `googleMapsLocation` values (e.g., cities/regions) to focus on where you want leads.
- 🧾 **Business-level lead export**: Outputs a clean dataset row per business (with contact lists included), ready for medical provider lead generation workflows.
- 📧 **Email and contact extraction**: Captures `scraped_emails` and can also extract `scraped_phones` and `scraped_social_media`.
- 🔗 **Website-first enrichment**: Extracts contact details from associated business websites when they’re available.
- 🛡️ **Proxy-ready execution**: Includes `proxyConfiguration` support for more reliable web data extraction at scale.
- ⏱️ **Configurable output limits**: Control volume with `maxBusinesses` and optionally `scrapeMaxBusinessesPerLocation` to shape your transplant surgeon database size.

***

### How to Use Transplant Surgeons Contact Scraper 🚀

1. **Find the Actor** — Search **Transplant Surgeons Contact Scraper** on [Apify Store](https://apify.com/store)
2. **Open Input Tab** — Open the **Input** tab in the Apify Console
3. **Set Search Term** — Use `googleMapsSearchTerm` (default: `Transplant Surgeons`)
4. **Choose Locations** — Add one or more entries for `googleMapsLocation` (default: `New York`)
5. **Set Maximum Businesses** — Use `maxBusinesses` to cap how many results you want (default: `5`)
6. **(Optional) Control Per-Location Limits** — Toggle `scrapeMaxBusinessesPerLocation` if you want a per-location cap
7. **(Optional) Configure Proxies** — Provide `proxyConfiguration` for more reliable scraping
8. **Click Start** — Run the actor and monitor progress in logs
9. **Download Results** — Export from the **Dataset** tab as JSON/CSV

*No coding required.* 🎯

***

### Transplant Surgeons Contact Scraper Output Format 📦

The actor saves results to your Apify dataset in JSON format with a consistent set of fields.

#### ⬇️ Input Example

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

#### ⬆️ Output Example

```json
[
  {
    "name": "Hudson Transplant Center",
    "website": "https://www.hudsontransplantcenter.com",
    "phone": "(212) 555-0184",
    "full_address": "450 W 34th St New York NY 10001 US",
    "city": "New York",
    "state": "NY",
    "zip": "10001",
    "country_code": "US",
    "scraped_emails": [
      "referrals@hudsontransplantcenter.com",
      "info@hudsontransplantcenter.com"
    ],
    "scraped_phones": [
      "+1-212-555-0199"
    ],
    "scraped_social_media": [
      "https://www.linkedin.com/company/hudson-transplant-center/",
      "https://www.facebook.com/hudsontransplantcenter/"
    ],
    "emails_found": 2,
    "pages_scraped": 6,
    "avg_rating": 4.7,
    "total_reviews": 286,
    "lat": "40.7531823",
    "long": "-73.9998456",
    "place_id": "ChIJ0fP9dB9ZwokR8pY2o0b7x4Q",
    "scrape_status": "success"
  }
]
```

#### Output Fields

| Field | Label | Format | Description |
|---|---|---|---|
| `name` | Business Name | text | Business name of the transplant surgeon practice. |
| `website` | Website | link | Website URL associated with the business. |
| `phone` | Phone | text | Primary phone captured for the business. |
| `full_address` | Address | text | Combined address string for the business. |
| `city` | City | text | City portion of the business location. |
| `state` | State | text | State portion of the business location. |
| `zip` | zip | text | ZIP/postal code for the business. |
| `country_code` | country\_code | text | Country code for the business location. |
| `scraped_emails` | Emails Found | array | List of email addresses found during website scraping. |
| `scraped_phones` | Phone Numbers | array | List of phone numbers found during website scraping. |
| `scraped_social_media` | Social Media | array | List of social media links found during website scraping. |
| `emails_found` | # Emails | number | Count of emails found for the business. |
| `pages_scraped` | Pages Scraped | number | Number of pages processed for that business. |
| `avg_rating` | Rating | number | Average rating value for the business. |
| `total_reviews` | Reviews | number | Total review count for the business. |
| `lat` | lat | text | Latitude for the business location. |
| `long` | long | text | Longitude for the business location. |
| `place_id` | place\_id | text | Place identifier tied to the business listing. |
| `scrape_status` | Status | text | Scraping result status (success/failed/no\_website/error). |

***

### 🎯 Use Cases of Transplant Surgeons Contact Scraper

Transplant Surgeons Contact Scraper is designed for healthcare outreach and lead building, especially when you’re working from a transplant surgeon directory and need contact details at scale.

- **Medical provider lead generation**: Build targeted outreach lists from surgeon contact sources and enrich them with emails and phone numbers.
- **List building for transplant specialists**: Assemble a transplant surgeon database by city/region for referral sourcing and patient referral sourcing initiatives.
- **Medical SEO outreach leads**: Use extracted website contact details to support outreach for medical SEO campaigns and partnership proposals.
- **Research and directory scraping tools**: Combine business identity and location fields with contact channels for analysis and reporting.
- **Consent-based data acquisition workflows**: Streamline the extraction step so teams can focus on compliant, consent-based follow-up.

***

### How Much Will Transplant Surgeons Contact Scraper Cost You? 💰

Pricing on Apify is typically based on usage/events rather than a fixed subscription, and your volume is largely controlled by `maxBusinesses` (and optionally `scrapeMaxBusinessesPerLocation`). To manage spend and align with your medical provider lead generation goals, start small (like the default `maxBusinesses: 5`), then scale up once you’re satisfied with yield from the scraped emails and contact channels.

***

### Is It Legal to Scrape Transplant Surgeons? ⚖️

Transplant Surgeons Contact Scraper is intended to work with **publicly available data** to extract business contact information such as emails, phone numbers, and social media profiles. You should still review and follow applicable laws and responsibilities in your region, including data protection and anti-spam requirements, and respect each website’s terms and platform policies. If you have questions or concerns about data handling, contact <scrapidocontact@gmail.com>.

***

### Transplant Surgeons Contact Scraper Input Parameters 📋

Example input:

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

| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| `googleMapsSearchTerm` | string | ✅ Yes | `Transplant Surgeons` | Business type or niche to search for. This actor uses it to focus on transplant surgeons for your directory scraping tools workflow. |
| `googleMapsLocation` | array | ✅ Yes | `["New York"]` | Target geographic locations to search for transplant surgeon contacts (e.g., `["New York"]`). |
| `maxBusinesses` | integer | No | `5` | Target number of businesses to find (1–1000). The scraper stops when this target is reached. |
| `scrapeMaxBusinessesPerLocation` | boolean | No | `false` | If enabled, collects up to `maxBusinesses` results per location; if disabled, combines all locations up to a single total limit. |
| `proxyConfiguration` | object | No | `{ "proxy support": true }` | Proxy settings for scraping. Using proxies can help avoid IP blocks and rate limits during website data extraction. |

***

### During the Actor Run ⏱️

While Transplant Surgeons Contact Scraper runs, you’ll see log progress as it processes the requested locations and builds the contact dataset. Results are generated for businesses and include email/phone/social lists where available, plus a `scrape_status` so you can quickly spot successes versus failures or missing websites. For reliable healthcare contact scraping at higher volumes, keep `proxyConfiguration` enabled.

***

### Final Note ✉️

Get structured transplant surgeon contact data for your outreach and research projects—faster than manual searching. Run **Transplant Surgeons Contact Scraper** in Apify today, then export your dataset for CRM import, list building, or analysis. Questions? Email <scrapidocontact@gmail.com>.

***

### FAQ — Transplant Surgeons Contact Scraper ❓

#### How does the Transplant Surgeons Contact Scraper find emails?

It takes your `googleMapsSearchTerm` and `googleMapsLocation` inputs to identify relevant transplant surgeon businesses, then extracts contact details from their associated websites when a website is available. The emails you see in `scraped_emails` are collected during that website scraping step.

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

If a business has no website, the actor sets `scrape_status` accordingly and records empty contact lists: `scraped_emails`, `scraped_phones`, and `scraped_social_media`, with `emails_found` set to `0` and `pages_scraped` set to `0`.

#### Can I control how many leads I get?

Yes. Use `maxBusinesses` to cap the target number of businesses. If you enable `scrapeMaxBusinessesPerLocation`, the actor will target up to `maxBusinesses` per location; otherwise, it enforces a single combined total limit across all locations.

#### Does it extract phones and social media too?

Yes. Along with `scraped_emails`, the dataset includes `scraped_phones` and `scraped_social_media`, plus counts like `emails_found` and scraping activity like `pages_scraped`.

#### Is it legal to scrape transplant surgeons?

The actor is intended to work with publicly available sources. Whether a specific use is permitted depends on your local laws, data privacy obligations, and the recipient’s applicable regulations (including anti-spam rules). Use the results responsibly, and for concerns contact <scrapidocontact@gmail.com>.

#### How can I request data removal or report a data issue?

If you need help with data removal or have a data-related concern, contact <scrapidocontact@gmail.com>. Include the dataset details so the team can locate the relevant records.

***

### 🆘 Support & Feedback

Have feedback, a bug report, or a feature request for Transplant Surgeons Contact Scraper? Email <scrapidocontact@gmail.com>. We’re happy to help and improve the experience for medical provider lead generation and directory scraping tool use cases.

### Multiple Email Type

**Email Types** keeps only the kinds of mailbox you want. Every row records what
it was classified as in `emailType`.

| Type | What it matches |
| --- | --- |
| Personal | Free webmail (Gmail, Outlook, Yahoo, iCloud, ...) |
| Business | Company domains — free webmail and institutions excluded |
| Education | `.edu`, `.ac.uk`, `.edu.au` and other academic suffixes |
| Government | `.gov`, `.mil`, `.gov.uk`, `.gc.ca`, ... |
| Non-profit | `.org`, `.ngo`, `.org.uk`, ... |

A business found with no email at all is unaffected — whether those rows are
wanted is already governed by the existing email-only setting.

### Multiple Phone Type

**Phone Types** does the same for numbers, checked against the line's *real*
type rather than a guess. Numbers on ranges where mobile and landline cannot be
told apart are kept rather than dropped, since discarding them would lose good
leads.

### Outreach links

| Field | Meaning |
| --- | --- |
| `telLink` | A clickable `tel:` link for the primary number |
| `whatsappLink` | A `wa.me` chat link, or empty for a landline or an invalid number |
| `whatsappCapable` | Whether the line could support WhatsApp |
| `phoneContacts` | Every kept number with its own type, links and validity |

`whatsappCapable` never claims the person uses WhatsApp — only that the number
is of a kind that could. Turn the links off with **Include WhatsApp links**; the
capability flag is still reported.

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

## `validateEmails` (type: `boolean`):

Run DNS/MX validation and confidence scoring on every email found, and include the results (confidence score, validation status, role-based/catch-all flags) in the output.

## `minRating` (type: `integer`):

Skip businesses rated below this (1-5 stars). Leave at 0 for no filter.

## `minReviews` (type: `integer`):

Skip businesses with fewer than this many Google reviews. Leave at 0 for no filter.

## `requireWebsite` (type: `boolean`):

Skip businesses with no website listed on Google Maps (they can't be crawled for contact info anyway).

## `leadMode` (type: `string`):

Business Contacts (default) returns the business's generic contact info (info@, main phone, socials). Decision-Maker Finder instead looks for a named person with a job title (e.g. "Jane Smith, Owner") on the business's team/about pages — a best-effort heuristic, not guaranteed on every site.

## `proxyConfiguration` (type: `object`):

Proxy settings for scraping. Recommended for large-scale scraping.

## `emailTypes` (type: `array`):

Which kinds of mailbox to keep. Pick as many as you like; leave empty for every type. A business with no email at all is unaffected by this - whether those rows are wanted is governed by the existing email-only setting.

## `phoneTypes` (type: `array`):

Which kinds of line to keep. Leave empty for every type. Numbers on ranges where mobile and landline cannot be told apart are always kept rather than silently dropped.

## `includeWhatsappLinks` (type: `boolean`):

Add a ready-made wa.me chat link for numbers on a line WhatsApp can run on. The link means the number is in a form WhatsApp accepts - not proof that an account exists.

## Actor input object example

```json
{
  "googleMapsSearchTerm": "Transplant Surgeons",
  "googleMapsLocation": [
    "New York"
  ],
  "maxBusinesses": 5,
  "scrapeMaxBusinessesPerLocation": false,
  "validateEmails": false,
  "minRating": 0,
  "minReviews": 0,
  "requireWebsite": false,
  "leadMode": "Business Contacts",
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "emailTypes": [
    "Business"
  ],
  "phoneTypes": [
    "Mobile",
    "Landline"
  ],
  "includeWhatsappLinks": 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": "Transplant Surgeons",
    "googleMapsLocation": [
        "New York"
    ],
    "maxBusinesses": 5,
    "proxyConfiguration": {
        "useApifyProxy": true
    },
    "emailTypes": [
        "Business"
    ],
    "phoneTypes": [
        "Mobile",
        "Landline"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapido/transplant-surgeons-contact-scraper").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": "Transplant Surgeons",
    "googleMapsLocation": ["New York"],
    "maxBusinesses": 5,
    "proxyConfiguration": { "useApifyProxy": True },
    "emailTypes": ["Business"],
    "phoneTypes": [
        "Mobile",
        "Landline",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("scrapido/transplant-surgeons-contact-scraper").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": "Transplant Surgeons",
  "googleMapsLocation": [
    "New York"
  ],
  "maxBusinesses": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "emailTypes": [
    "Business"
  ],
  "phoneTypes": [
    "Mobile",
    "Landline"
  ]
}' |
apify call scrapido/transplant-surgeons-contact-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapido/transplant-surgeons-contact-scraper"
        }
    }
}

```

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/qgAdLtyFqdFZZVvSR/builds/DwE3PzlrFEVcG7EoM/openapi.json
