Psychology Today APIpsychologytoday.com ↗
Access Psychology Today's therapist directory via API. Filter by US state and specialty category. Returns name, credentials, role, and location for each provider.
What is the Psychology Today API?
The Psychology Today Therapist Directory API provides 2 endpoints for retrieving licensed mental health professionals listed on psychologytoday.com, returning up to 8 fields per therapist including name, credentials, professional role, and full location data. The get_therapists_page endpoint fetches a single page of up to 20 results filtered by state and specialty, while get_all_therapists iterates pagination automatically to return a combined dataset across multiple pages.
curl -X GET 'https://api.parse.bot/scraper/9e95be20-8fa9-4b45-8ab4-ed2c718543d9/get_therapists_page?page=1&state=alabama&category=adhd' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace psychologytoday-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Psychology Today therapist directory — find and browse therapists."""
from parse_apis.psychology_today_therapist_directory_api import PsychologyToday, NotFoundError
client = PsychologyToday()
# List therapists in Alabama specializing in ADHD (paginated, capped at 5 items)
for therapist in client.therapists.list(state="alabama", category="adhd", limit=5):
print(therapist.name, therapist.credentials, therapist.location)
# Drill into the first anxiety therapist in California
first = client.therapists.list(state="california", category="anxiety", limit=1).first()
if first:
print(first.name, first.role, first.city, first.state_code, first.zip_code)
# Fetch all therapists (limited to 1 page worth) for bulk analysis
try:
for t in client.therapists.list_all(state="new-york", category="depression", max_pages=1, limit=3):
print(t.name, t.role, t.city)
except NotFoundError as exc:
print(f"Directory unavailable: {exc}")
print("exercised: therapists.list / therapists.list_all / .first() / NotFoundError catch")
Retrieve a single page of therapist listings from Psychology Today's directory. Each page returns up to 20 therapists with their name, credentials, professional role, and location. Filter by US state and specialty category. The directory paginates results with integer page numbers.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number (1-based). |
| state | string | US state name in lowercase, hyphenated for multi-word states (used in URL path). Examples: alabama, california, new-york, north-carolina. |
| category | string | Specialty category filter slug. Examples: adhd, anxiety, depression, ocd, ptsd, trauma-and-ptsd. |
{
"type": "object",
"fields": {
"page": "integer, current page number",
"therapists": "array of therapist objects with name, credentials, role, city, state, state_code, zip_code, and location fields",
"total_results": "integer, total therapists matching the filter",
"therapists_on_page": "integer, number of therapists returned on this page"
},
"sample": {
"data": {
"page": 1,
"therapists": [
{
"city": "Auburn",
"name": "Giovanna D'Annunzio",
"role": "SOCIAL_WORK",
"state": "Alabama",
"location": "Auburn, AL 36830",
"zip_code": "36830",
"state_code": "AL",
"credentials": "LICSW"
}
],
"total_results": 1327,
"therapists_on_page": 20
},
"status": "success"
}
}About the Psychology Today API
What the API Returns
Both endpoints return therapist objects drawn from Psychology Today's US directory. Each object includes name, credentials (e.g., LCSW, PhD, PsyD), role (the professional category such as therapist or psychologist), city, state, state_code, zip_code, and a composite location field. The total_results count tells you how many providers match the given filters, and therapists_on_page confirms how many records came back on a given page.
Filtering and Pagination
get_therapists_page accepts three optional parameters: state (lowercase, hyphenated slug such as new-york or california), category (specialty slug such as adhd, anxiety, depression, ocd, or trauma-and-ptsd), and page (1-based integer). Each page returns a maximum of 20 therapists. get_all_therapists accepts the same state and category filters plus a max_pages cap, which limits how many pages are fetched in a single call and controls overall data volume. It returns therapists_fetched alongside total_results so you can tell how much of the full directory you retrieved.
Coverage Scope
The directory covers US-based providers only. State filtering uses Psychology Today's URL path convention, so multi-word states require hyphenation (new-mexico, north-carolina). Specialty categories must match Psychology Today's own slug vocabulary — the examples in the spec (adhd, ptsd, ocd) reflect confirmed slugs, but the full taxonomy is broader on the source site. If a category slug does not match a recognized specialty, the results will reflect the directory's default behavior for unrecognized filters.
The Psychology Today API is a managed, monitored endpoint for psychologytoday.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when psychologytoday.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official psychologytoday.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a therapist lookup tool filtered by state and specialty such as ADHD or OCD.
- Compile a dataset of licensed mental health providers by credential type (LCSW, PhD, PsyD) across US states.
- Analyze geographic distribution of therapists by comparing
zip_codeandstate_codeacross specialties. - Aggregate therapist counts per specialty category using
total_resultsfor market research. - Populate a referral directory with provider names, roles, and locations from a specific state.
- Track how many providers list a given specialty in a target state over time using
total_results. - Feed a mental health resource app with paginated therapist records filtered by condition category.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Psychology Today have an official developer API?+
What does `get_all_therapists` return compared to `get_therapists_page`?+
get_all_therapists automatically iterates through multiple pages and returns a single combined therapists array along with total_results and therapists_fetched. Use the max_pages parameter to cap how many pages are fetched. get_therapists_page returns one page at a time (up to 20 therapists) plus the current page number and therapists_on_page count, giving you fine-grained control over pagination.Does the API return therapist contact details, photos, or profile bios?+
Is coverage limited to the US?+
state parameter only accepts US state slugs, and the directory source covers US-based providers. Providers listed under international Psychology Today directories (Canada, UK, Australia) are not currently covered. You can fork this API on Parse and revise it to target those regional directories.