Therapist Email List Scraper — Mental Health Professionals
Pricing
from $15.00 / 1,000 professional contact records
Therapist Email List Scraper — Mental Health Professionals
Build therapist email lists by specialty and city: published emails, credentials, phones and source pages for psychologists and counselors. USD 20 per 1,000.
Pricing
from $15.00 / 1,000 professional contact records
Rating
0.0
(0)
Developer
Muhammad Afzal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
14 hours ago
Last modified
Categories
Share
Therapist Email List Scraper finds the websites of therapists, psychologists, counselors, psychiatrists and mental health practices for the specialties and locations you choose, then returns the business emails those sites publish, with credentials, specialties, phone numbers, address and the exact page each email came from. It is built for B2B outreach to practices, partnership and referral programs, and provider market research, and it costs USD 20 per 1,000 contact records on the FREE tier (USD 15 per 1,000 on GOLD), plus a USD 0.005 start fee.
What does the therapist email scraper return?
Each dataset row is one practice or professional website. By default every row has at least one email.
| Field | What it contains |
|---|---|
professionalName | Provider name when the site identifies one, for example Jane Smith, PhD |
credentials | Credentials found on the pages, for example PHD, PSYD, LCSW, LMFT, LPC |
practiceName | Practice or organization name, or the page title |
specialties | Detected areas: anxiety, depression, trauma and PTSD, couples therapy, child and adolescent, addiction, eating disorders, OCD, ADHD, grief, EMDR |
primaryEmail, emails | Published emails, normalized; the best one first |
emailConfidence | high (mailto link or structured data), medium (visible page text) or none |
emailSourceUrls | Pages where an email was found |
phoneNumbers | Phone links and structured-data phone values |
website, pagesVisited | Site origin and the pages inspected |
address, city, region, postalCode, country | Address from the site's structured data, when present |
socialUrls | Social profiles the site links to |
searchQuery, sourceSearchUrl | Specialty and location pair, and the result page that found the site |
pageTitle, description, scrapedAt | Page title, meta description and collection time |
The run summary is saved as OUTPUT: outcome (DATA, EMPTY, BLOCKED or REJECTED), candidates discovered and visited, records delivered, requests and failures, charged events and warnings.
How do I build a therapist email list for a city or specialty?
Enter one or more specialties and locations. The Actor searches each pair on public search result pages, skips large directories and social networks, and visits the practice websites it finds.
| Input | Example | Notes |
|---|---|---|
specialties | ["child psychologist", "trauma counselor"] | 1 to 10 phrases (default therapist) |
locations | ["Chicago, IL", "Milwaukee, WI"] | 1 to 20 cities, states, ZIP codes or countries (default Austin, TX) |
maxResults | 50 | 1 to 500 records (default 10) |
maxSearchPages | 2 | Result pages per pair, 1 to 5 (default 1, about 7 results per page) |
maxWebsitePages | 3 | Pages per site, 1 to 10 (default 3) |
searchEngine | auto | auto tries Yahoo, then Bing and DuckDuckGo; Google rarely serves plain-HTML results |
includeWithoutEmail | false | true also returns practices without a published email |
startUrls | [{ "url": "https://example-therapy.com/" }] | Practice sites you already know; can replace or add to search |
Default local search:
{"specialties": ["therapist"],"locations": ["Austin, TX"],"maxResults": 10}
Two specialties in two cities:
{"specialties": ["child psychologist", "trauma counselor"],"locations": ["Chicago, IL", "Milwaukee, WI"],"maxResults": 50,"maxSearchPages": 2}
A site found through search is kept only when its pages mention mental health and contain every word of the specialty plus part of the location, so results stay on topic.
Where do the emails come from, and are they verified?
Every email was published on the practice's own public pages; the Actor never guesses or builds addresses. It checks robots.txt before each page, reads the page the search found (or your start URL), then follows same-site links that mention contact, about, team, staff, therapists, counselors or providers, up to maxWebsitePages pages per site. The page where each email appeared is listed in emailSourceUrls. It does not send test emails, so run the list through an email validator before a campaign. Duplicate email sets are delivered once.
When should I use it, and when not?
Use it when you need practice-level contact emails for a defined market, for example every trauma therapist with a published email in two metro areas, or you want to enrich a list of known practice websites.
Use another Actor when:
- You need provider listings with NPI numbers and insurance details: Healthline Medical Providers Directory Scraper.
- You need California psychologist license records: California DCA Professional License Scraper.
- You need to screen the emails before a campaign: Email Validator checks syntax, MX records and risk signals.
- You need patient, appointment or insurance data: this Actor never collects it.
How do I run it from code?
JavaScript with apify-client:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('muhammadafzal/mental-health-professionals-email-scraper').call({specialties: ['couples therapist'],locations: ['Denver, CO'],maxResults: 25,});const { items } = await client.dataset(run.defaultDatasetId).listItems();for (const item of items) console.log(item.practiceName, item.primaryEmail, item.emailConfidence);
Python with apify-client:
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("muhammadafzal/mental-health-professionals-email-scraper").call(run_input={"specialties": ["psychiatrist"],"locations": ["Seattle, WA"],"maxResults": 20,})for item in client.dataset(run.default_dataset_id).iterate_items():print(item["website"], item["primaryEmail"], item["credentials"])
Use it from an AI assistant
Therapist Email List Scraper works from Claude, ChatGPT, Cursor or any MCP client through Apify's MCP server. Add the single-tool URL https://mcp.apify.com/?tools=muhammadafzal/mental-health-professionals-email-scraper to your client and ask, for example: "Find 20 trauma therapists in Denver with a published practice email and list their credentials and phone numbers." Each record is charged at the prices below, so include a result limit.
What does the output look like?
Illustrative records in the dataset's shape (placeholder names and .example domains, not real providers):
[{"professionalName": "Jane Smith, PhD","credentials": ["PHD"],"practiceName": "Calm Path Therapy","specialties": ["Anxiety", "Trauma and PTSD"],"primaryEmail": "hello@calmpath.example","emails": ["hello@calmpath.example"],"emailSourceUrls": ["https://calmpath.example/contact"],"emailConfidence": "high","phoneNumbers": ["+1 512 555 0100"],"website": "https://calmpath.example","pagesVisited": ["https://calmpath.example/", "https://calmpath.example/contact"],"city": "Austin","region": "TX","searchQuery": "therapist — Austin, TX","scrapedAt": "2026-10-26T12:00:00.000Z"},{"professionalName": null,"credentials": ["LMFT", "LPC"],"practiceName": "Northside Counseling Group","specialties": ["Couples therapy", "Depression"],"primaryEmail": "intake@northsidecounseling.example","emailConfidence": "medium","website": "https://northsidecounseling.example","searchQuery": "therapist — Austin, TX"}]
How much does a therapist email list cost?
The Actor uses pay-per-event pricing, and platform usage is included in the event prices. Each record saved to the default dataset is charged automatically, so there is no double charging.
| Event | FREE | BRONZE | SILVER | GOLD | PLATINUM / DIAMOND |
|---|---|---|---|---|---|
| Professional contact record (one dataset row) | USD 0.02 | USD 0.019 | USD 0.018 | USD 0.015 | USD 0.015 |
| Actor start (per started GB of allocated memory) | USD 0.005 | USD 0.005 | USD 0.005 | USD 0.005 | USD 0.005 |
Worked totals on the FREE tier at the default 512 MB memory (one start event):
- 10 records (the default input's maximum): 10 × USD 0.02 + USD 0.005 = USD 0.205
- 100 records: 100 × USD 0.02 + USD 0.005 = USD 2.005
Sites without a published email are not charged unless you turn on includeWithoutEmail. If you set a maximum cost per run, the Actor checks the budget before each record and stops cleanly.
Limits and reliability
- Yield: one search result page gives about 7 sites, directories are skipped, and not every practice publishes an email, so the default input (one page) usually returns 3 to 6 records. Raise
maxSearchPagesor add locations for more. - Access: static HTTP requests over the Actor's own datacenter route (proxy settings in older inputs are ignored), up to 5 sites at once (
maxConcurrency), one retry per failed request. Search pages and sites can rate-limit. When no search engine returns result links, or at least half of the requests fail and nothing is delivered, the run ends as failed with outcomeBLOCKEDand no record charges. - Time: the Actor stops collecting 30 seconds before the run timeout (600 seconds by default) and saves what it found.
- Coverage: sites that load their content only with JavaScript can expose fewer fields. No logins, CAPTCHAs or patient portals.
FAQ
Is there a free therapist email list?
Not from this Actor. Records cost USD 0.02 each on the FREE tier, and a run with no matches charges only the USD 0.005 start fee.
Are the emails verified?
They are copied exactly as published and labeled high or medium confidence. The Actor does not test deliverability; use an email validator before sending.
Can I get psychologist or psychiatrist email lists?
Yes. Put psychologist, child psychologist or psychiatrist in specialties. Credentials such as PSYD, MD and PMHNP are extracted when the pages show them.
Does it scrape therapist directories?
No. It skips large directories and social networks and reads the practices' own websites.
Can I use my own list of practice websites?
Yes. Add them to startUrls, with or without specialties and locations.
Is it legal to email therapists?
It depends on your jurisdiction and purpose. You are responsible for CAN-SPAM, GDPR or other local rules, opt-out handling and each site's terms.
Related Actors
- Healthline Medical Providers Directory Scraper: provider listings with NPI and specialties
- NC Contractor License Lookup, Nevada Contractor License Lookup and Pest Control License Lookup Scraper: professional license records from public registries
- Minnesota Franchise Registration Scraper: franchise filings and FDD links
Privacy and compliance
The Actor collects contact details that practices chose to publish on public business websites. It does not collect patient records, appointments, insurance claims, protected health information or anything behind a login, and it respects robots.txt. A specialty label can still be sensitive in context: use the data only for lawful business purposes, honor opt-outs, and do not use it for harassment, discriminatory profiling, clinical decisions or bulk unsolicited messaging. Verify licenses with the relevant state board before relying on them.
Last verified: 2026-10-27