Psychology Today Scraper - Therapist & Psychiatrist Database
Pricing
from $3.00 / 1,000 therapist profiles
Psychology Today Scraper - Therapist & Psychiatrist Database
Export public Psychology Today therapist and psychiatrist profiles: name, credentials, phone, practice address, specialties, insurance, session fees and license. Search by city, ZIP or directory URL in 26 countries. Built for mental health lead generation.
Pricing
from $3.00 / 1,000 therapist profiles
Rating
0.0
(0)
Developer
SR
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
18 days ago
Last modified
Categories
Share
Psychology Today Scraper
Psychology Today Scraper turns public therapist and psychiatrist directory profiles into a structured therapist database for mental health lead generation, provider research and referral networks. Search by city, state, ZIP code, postal district or a directory URL, then export the profiles you need as CSV, Excel or JSON.
Each dataset row represents one unique profile. Names, qualifications, displayed phone numbers, practice locations and profile links are available from search results. Profile details add published specialties, insurance providers, treatment approaches, education and license information. An optional website lookup returns the therapist's own public website link.
Psychology Today Scraper coverage
The therapist directory supports 26 country editions: United States, Canada, United Kingdom, Australia, Hong Kong, Ireland, New Zealand, Singapore, South Africa, Austria, Belgium, Denmark, Sweden, Switzerland, France, Spain, Argentina, Chile, Colombia, Costa Rica, Guatemala, Mexico, Panama, Peru, Puerto Rico and Uruguay. The actor uses each country's directory route. Psychiatrist searches are available in the United States.
Start with a specific city or postal district when building a regional provider list. Broad searches can contain more profiles than the directory makes available. The source caps accessible search results at 10,000 profiles for an individual search. Multiple city searches help describe separate areas, although adjacent areas can contain the same providers. The actor removes repeated profile IDs from the dataset.
How to scrape Psychology Today
- Choose a
countryand type a city, state or postal code inlocation, or paste a search URL from the directory intosearchUrls. - Optionally narrow the search with
specialties,insuranceorfilters, and setmaxItems. - Keep
includeDetailson for specialties, insurance, fees and license, and turn onincludeWebsiteif you need the practice website. - Run the actor and download the dataset. Larger requests continue page by page within the same run.
Input
Provide at least one of location, searchUrls or profileUrls. country defaults to us and accepts upper- or lowercase country codes. directory defaults to therapists; use psychiatrists with country: "us" for psychiatrist searches.
A location can be a city, a state, a city and state abbreviation, or a postal code. For example, the research examples use New York and the London directory. To reproduce an existing browser search, copy its complete URL into searchUrls. Those URLs retain their source filters and take precedence over location, specialties, insurance and filters.
Use profileUrls when you already have individual provider links. These are read directly and return the published profile details. If both profile and search URL lists are supplied, direct profiles are processed first and repeated profiles are removed. Direct profile URLs always involve reading the profile, including when includeDetails is false.
| Field | Type | Default | Purpose |
|---|---|---|---|
country | string | us | Country edition of the directory, such as us, ca, gb or au |
location | string | City, state, city and state, or postal code | |
directory | string | therapists | therapists, or psychiatrists in the United States |
searchUrls | array | Complete directory search URLs, filters included | |
profileUrls | array | Individual provider profile URLs | |
specialties | array | Specialty slugs, such as anxiety | |
insurance | array | Insurance slugs, such as aetna | |
filters | array | Other refinement slugs, such as online-counseling | |
maxItems | integer | 20 | Maximum unique profiles for the run (1 to 10,000) |
includeDetails | boolean | true | Read each profile for specialties, insurance, fees and license |
includeWebsite | boolean | false | Add the provider's public website link |
cursor | string | For direct API use: the returned next_cursor, with the original search unchanged |
maxItems limits the number of unique profiles delivered across the run. It defaults to 20 and accepts values from 1 to 10,000. You can request a smaller sample before collecting a wider area. A requested maximum is a limit, not a promise that the directory contains that many matching providers.
Specialty, insurance and availability filters
For location searches, provide source filter slugs in arrays. specialties: ["anxiety"] selects the anxiety specialty. insurance: ["aetna"] selects providers listed under Aetna. Other refinement slugs go in filters, such as online-counseling, in-person, female or spanish, where the selected country and directory offer them.
Multiple filters are combined by the source. Supported choices differ across countries. Unknown slugs produce a clear input error with available choices. A specialty placed in the insurance array is rejected instead of being interpreted as an insurance company. Browser search URLs are useful when you want to retain exactly the filters selected on the site.
Detail and website options
includeDetails defaults to true. Disable it for a compact directory list when you only need the fields shown in search results. Without details, specialties, insurance and other detail lists are empty, while unpublished street and license fields are null. The row's details_loaded flag shows whether a profile was successfully read.
includeWebsite defaults to false. Enable it to retrieve the public external website link. This option does not crawl that website or extract email addresses. A provider without an available website produces a warning and a null website value.
Output: therapist database fields and exports
The default dataset contains one profile per row and supports Apify's JSON, CSV and Excel exports. Core fields include place_id, url, name, category, phone, address, street, city, state, postal_code, country_code, lat, lng and website. fetched_at records when the profile data was processed, and source and platform identify its origin.
Additional fields include credentials, title_line, phone_e164, online, in_person, accepting_clients, fee_individual, fee_couples, currency, specialties, insurance, treatment_approaches, age_focus, languages, education, years_in_practice and license. Arrays preserve individual labels instead of combining unrelated values into one comma-separated cell.
Phone numbers preserve the site's displayed formatting. Fees are numeric session amounts; missing or zero source amounts become null. Currency is inferred from the profile's country. An unpublished street address remains null. The actor does not infer contact details from nearby providers or fill missing fees with regional averages.
The source does not provide email addresses, customer reviews or star ratings. Peer endorsements are a separate count and should not be treated as reviews. Fields can change when providers update their profiles, and a directory record describes what was publicly listed at retrieval time.
Example output
Input {"profileUrls": ["https://www.psychologytoday.com/us/therapists/susan-morgenstein-new-york-ny/1070080"], "includeWebsite": true} returns this row (the statement text and photo_url are shortened here; the dataset holds them in full):
{"place_id": "1070080","url": "https://www.psychologytoday.com/us/therapists/susan-morgenstein-new-york-ny/1070080","name": "Susan Morgenstein","first_name": "Susan","last_name": "Morgenstein","credentials": ["LCSW"],"category": "Clinical Social Work/Therapist","title_line": "Clinical Social Work/Therapist, LCSW","phone": "(646) 699-4552","phone_e164": "+16466994552","address": "New York, NY 10019","street": null,"city": "New York","state": "New York","state_code": "NY","postal_code": "10019","country_code": "US","online": true,"in_person": true,"accepting_clients": "YES","fee_individual": 275,"fee_couples": null,"sliding_scale": true,"currency": "USD","verified": "VERIFIED","endorsements": 2,"statement": "I take a holistic approach to psychotherapy, prioritizing understanding the entirety of a person, ...","specialties": ["ADHD", "Anxiety", "Cancer", "Chronic Illness", "Chronic Pain", "Depression", "Divorce", "Family Conflict", "Grief", "Life Transitions", "Marital and Premarital", "Obsessive-Compulsive (OCD)", "Parenting", "Peer Relationships", "Pregnancy, Prenatal, Postpartum", "Relationship Issues", "Self Esteem", "Sexual Abuse", "Trauma and PTSD", "Women's Issues"],"insurance": [],"out_of_network": true,"treatment_approaches": ["Attachment-based", "Culturally Sensitive", "Exposure Response Prevention (ERP)", "Psychoanalytic", "Psychodynamic", "Relational", "Trauma Focused"],"modalities": ["Individuals"],"communities": ["Jewish", "Fat Acceptance"],"pronouns": "she, her","license": {"state": "NY", "number": "092494-01", "expiration": "2027-04-01", "type": "license"},"years_in_practice": 33,"education": "NYU School of Social Work 1993","free_consultation": true,"last_updated": "2026-09-09T00:41:59-07:00","website": "http://www.susanmorgensteinlcsw.com","directory": "therapists","details_loaded": true,"warnings": []}
Example: filtered search by specialty and insurance
Input {"location": "New York, NY", "specialties": ["anxiety"], "insurance": ["aetna"], "maxItems": 1, "includeDetails": false} delivers one compact row and a run summary that confirms which filters the directory applied and how it resolved the location:
{"query": "New York, NY","applied_filters": [{"group": "issues", "slug": "anxiety", "id": 14, "title": "Anxiety"},{"group": "insurance", "slug": "aetna", "id": 3153, "title": "Aetna"}],"resolved_location": {"type": "City", "name": "New York", "country_code": "US", "region": "New York", "region_code": "NY"},"results_count": 9351,"billing": {"therapist_details": 0, "therapist_website": 0},"partial": false,"warnings": []}
The row itself is Amanda Pelcher Marriage and Family Therapy PLLC, a Marriage & Family Therapist (MS, LMFT) in New York, NY 10013, phone (914) 685-6558, online sessions, accepting clients. Because includeDetails is false, the specialty and insurance arrays on the row stay empty and only the therapist event is charged; the filters still apply to the search itself. results_count shows how many matching providers the directory reports for this filtered search, which helps you size a collection before raising maxItems.
Use cases for therapist and psychiatrist data
- Mental health lead generation. Build a regional list of practices with phone, city, credentials and website for vendors of practice-management software, billing services, telehealth platforms and continuing education.
- Referral networks. Clinics, hospitals and employee assistance programs can map which providers in an area accept a given insurer, treat a specialty such as trauma or ADHD, or offer online sessions.
- Market and pricing research. Compare published session fees, sliding-scale availability and out-of-network billing across cities or countries, using the numeric
fee_individualandcurrencyfields. - Network adequacy and coverage studies. Count providers per postal code, insurer or language to find areas where care is hard to find.
- CRM enrichment. Use
place_idandurlas stable keys to refresh provider records on a schedule and spot new, moved or updated profiles.
Psychology Today Scraper compared with other options
| Option | What you get | Trade-off |
|---|---|---|
| This actor | Fresh public profiles on demand, filtered by place, specialty and insurer, with one row per unique provider | Only what providers publish; no email addresses |
| Bought therapist email lists | Static lists with emails, often sold per thousand records | Age and sourcing are unclear, no specialty or insurance detail, and you cannot choose the exact area or filters |
| Copying profiles by hand | Full control | Slow for more than a few dozen providers and hard to keep current |
| Open-source scripts | Free code | Usually US-only, break when the site changes, and leave pagination, duplicates and exports to you |
Among the Psychology Today actors in the Apify Store, this one charges the directory row and the full profile as separate events, so a compact list costs less than a full export. It keeps phone numbers as displayed next to an international format, returns fees as numbers with a currency, separates labels into arrays, and covers the therapist directory in 26 countries as well as the US psychiatrist directory.
Pricing and free users
Charging follows delivered profiles and successful enrichment. The therapist event counts delivered unique rows. The details event counts rows whose profile was successfully read, and the website event counts rows with a retrieved website link. Missing enrichment is not counted as successful enrichment. Empty results do not incur result or enrichment charges.
| Event | Charged for |
|---|---|
therapist | Each unique profile delivered to the dataset |
therapist_details | Each delivered row whose full profile was read (details_loaded: true) |
therapist_website | Each delivered row with a public website link (includeWebsite: true) |
A compact list with includeDetails: false incurs only the therapist event. Repeated profiles are removed before charging.
The current event prices displayed on the Apify actor page determine the price of your run. Check that price table before starting a larger collection and use Apify's spending limit to control your budget. Users without a paid Apify plan receive up to ten profiles per run. Paid users can request their chosen maximum, subject to source coverage and run limits.
Limitations and warnings
The run output record contains counts, warnings and a partial flag. applied_filters lists the filters confirmed by the search page with their group, slug, source ID and displayed title. resolved_location reports the location name, source type, country and region; for example, a postcode search can resolve to a postcode district. These fields describe the last search page processed, including when you supply a search URL. Direct profile requests return an empty filter list and a null resolved location. query retains your requested location or URLs.
A profile detail failure preserves the search row and adds a warning identifying the unsuccessful phase. A website failure likewise preserves the provider record. This lets you distinguish an unpublished value from a phase that could not be completed.
A missing location or unsupported directory produces an input error. An unknown location or a search with no matching providers produces an empty result. Temporary source failures can interrupt a larger collection; inspect the run output to see whether the returned dataset is complete.
FAQ
Can I collect psychiatrists outside the United States?
The psychiatrist directory is supported only in the United States. Therapist searches use the relevant country edition, including counselling and psychology directories where those names are used by the source.
Why does a provider have no street address or phone number?
Providers choose which contact information to publish. Some list only a city or postal district, and some offer online appointments without a physical practice location. Missing public values remain null.
Does this actor export email addresses or ratings?
No. The directory offers a contact form rather than a public email field and does not publish customer ratings. The actor returns the public website link when requested, without following it for additional contact information.
How can I reduce repeated providers across searches?
Use specific locations and keep the searches in one run. Profile IDs identify providers, and repeated IDs are removed before dataset delivery and charging. You can also use place_id to compare exports collected at different times.
Is there a Psychology Today API?
Psychology Today does not offer a public API for its provider directory. This actor works as a Psychology Today API: start it through the Apify API with the same input as above and read the dataset as JSON, CSV or Excel.
Can I get a therapist email list from Psychology Today?
Not directly. Profiles publish a phone number, a contact form and sometimes a website, but no email address. Turn on includeWebsite to collect the practice website for your own outreach process.
How many therapists can I scrape in one run?
Up to 10,000 unique profiles per run through maxItems. A single search in the directory can show at most 10,000 profiles, so split a large state into cities or postal codes for broader coverage.
Is it legal to scrape Psychology Today?
The actor reads only publicly published professional profiles and does not log in. Whether your use is allowed depends on your purpose and on local rules such as GDPR, CAN-SPAM or TCPA for outreach. Check with your legal advisor before contacting providers.