# Goodtherapy — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Search and find therapists on GoodTherapy.org by location, name, or specialty, then view detailed profiles including credentials and practice information. Browse available therapists across different locations and filter results by specialty, insurance, language, and more to find the right mental health professional.

**Category:** Healthcare | **Website:** [goodtherapy.org/](https://goodtherapy.org/) | **Docs:** [parse.bot/marketplace/a5630ac9-4b29-477b-8eb2-c04f04714adf/goodtherapy-org-api](https://parse.bot/marketplace/a5630ac9-4b29-477b-8eb2-c04f04714adf/goodtherapy-org-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-goodtherapy-org-api-a5630ac9/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### browse_locations

Browse locations (US states or cities within a state) to discover available directory areas. Without a state parameter, returns all US states. With a state abbreviation, returns cities within that state. Location URLs can help identify valid zip codes for search_therapists.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `state` | string | No | US state abbreviation in lowercase (e.g. 'ca', 'ny') to list cities; omit to list all US states |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-goodtherapy-org-api-a5630ac9/browse_locations \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"state":"<string>"}'
```

### get_facets

Retrieve all available filter IDs and names (facets) used in the search API. Returns categories such as specialties, languages, pricing, services, ages, accessibility options, concerns, industries, models, genders, insurances, and countries. Use these IDs as filter values in search_therapists.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-goodtherapy-org-api-a5630ac9/get_facets \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_therapist_profile

Retrieve detailed profile of a specific therapist by their slug. The slug can be obtained from the search_therapists endpoint results (the slug field). Returns the therapist's full name with credentials, verified status, practice description, phone number, and categorized detail sections.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Therapist SEO slug from search_therapists results (e.g. 'rivkah-kaufman-20120501') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-goodtherapy-org-api-a5630ac9/get_therapist_profile \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### search_therapists

Search for therapists by location (ZIP or city), radius, and various filters (specialty, insurance, etc.). Returns a paginated list of therapist summaries. Either zipcode or name should be provided. Results are paginated with approximately 20 therapists per page.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `accessibility` | string | No | Comma-separated accessibility IDs from get_facets (e.g. '1,4' for Accessible Parking and Wheelchair Accessible Building) |
| `age` | string | No | Comma-separated age group IDs from get_facets (e.g. '1,3' for Children and Adults) |
| `concerns` | string | No | Comma-separated concern IDs from get_facets (e.g. '1,27' for Abuse and Depression) |
| `gender` | string | No | Comma-separated gender IDs (1: Female, 2: Male, 3: Non-Binary) |
| `industry` | string | No | Comma-separated industry IDs from get_facets (e.g. '7,8' for LGBTQ+ and BIPOC) |
| `insurance` | string | No | Comma-separated insurance company IDs from get_facets (e.g. '12' for Aetna) |
| `language` | string | No | Comma-separated language IDs from get_facets (e.g. '1,52' for English and Spanish) |
| `miles` | integer | No | Radius in miles from the zipcode location |
| `model` | string | No | Comma-separated therapeutic model IDs from get_facets (e.g. '16,33' for CBT and DBT) |
| `name` | string | No | Search for a specific therapist by name |
| `page` | integer | No | Page number for pagination (1-based) |
| `pricing` | string | No | Comma-separated pricing IDs from get_facets (e.g. 'sliding_scale', 'free_initial_consultation') |
| `services` | string | No | Comma-separated service IDs from get_facets (e.g. '9' for Telehealth) |
| `specialty` | string | No | Comma-separated specialty IDs from get_facets (e.g. '4,7' for Anxiety and Depression) |
| `zipcode` | string | No | ZIP code or city name to search near (e.g. '10001' or 'New York') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-goodtherapy-org-api-a5630ac9/search_therapists \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"accessibility":"<string>","age":"<string>","concerns":"<string>","gender":"<string>","industry":"<string>","insurance":"<string>","language":"<string>","miles":"<integer>","model":"<string>","name":"<string>","page":"<integer>","pricing":"<string>","services":"<string>","specialty":"<string>","zipcode":"<string>"}'
```
