# Zocdoc — 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 for doctors and medical practices on Zocdoc by specialty and location. Retrieve provider profiles, accepted insurance, office locations, patient reviews, and appointment availability.

**Category:** Healthcare | **Website:** [zocdoc.com/](https://zocdoc.com/) | **Docs:** [parse.bot/marketplace/5dc972bc-8a14-4548-8109-433059b3a3d2/zocdoc-com-api](https://parse.bot/marketplace/5dc972bc-8a14-4548-8109-433059b3a3d2/zocdoc-com-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-zocdoc-com-api-5dc972bc/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_doctor_profile

Get detailed profile for a specific doctor including education, languages, insurance accepted, office locations, and patient reviews. The slug can be obtained from search_doctors results. Returns a single doctor's complete profile information.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Doctor profile slug from search_doctors results (e.g., 'michael-watins-dc-48782', 'akaraphan-sukanthanag-md-552553'). |

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

### get_practice_availability

Retrieve bookable appointment slots for the next 90 days across all providers in a given Zocdoc practice. Returns practice info, a deduplicated list of providers who have at least one slot, and all available time slots ordered ascending by start time. Slots are fetched in 14-day windows via the availability API. Returns an empty slots list (not an error) when no availability exists. Each provider includes their photo URL, primary specialty, pre-nominal prefix, and post-nominal suffix. The practice can be identified by slug directly, or by name via the practice_name parameter (which searches Zocdoc and resolves to a slug). When both slug and practice_name are provided, slug takes precedence.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `address` | string | No | City, state, or zip code to narrow practice name search results (e.g., 'New York, NY', '10001'). Only used when resolving practice_name to a slug. |
| `practice_name` | string | No | Practice name to search for on Zocdoc (e.g., 'Mount Sinai Doctors'). Used to resolve the practice slug when slug is not provided. Works best with the address parameter to narrow geographic results. |
| `slug` | string | No | Practice slug (e.g., 'mount-sinai-doctors-56739'). Obtain from doctor profile or search results practice URL. Takes precedence over practice_name when both are provided. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-zocdoc-com-api-5dc972bc/get_practice_availability \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"address":"<string>","practice_name":"<string>","slug":"<string>"}'
```

### get_practice_profile

Get detailed profile for a medical practice including providers, locations, specialties, and ratings. Practice slugs can be found in search_doctors results via the practice URL field. Returns a single practice's complete profile.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Practice slug (e.g., 'mount-sinai-doctors-56739'). Obtain from doctor profile or search results practice URL. |

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

### get_provider_availability

Retrieve bookable appointment slots for the next 90 days for a specific Zocdoc provider. Returns provider info (name, photo, specialty) and all available time slots ordered ascending by start time. Slots are fetched in 14-day windows via the availability API. Returns an empty slots list (not an error) when no availability exists. The patient_type filter controls whether new-patient or established-patient slots are returned.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `patient_type` | string | No | Filter slots by patient type. Determines which availability view is queried. |
| `slug` | string | Yes | Provider slug from search_doctors results (e.g., 'mahyar-eidgah-md-9226'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-zocdoc-com-api-5dc972bc/get_provider_availability \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"patient_type":"<string>","slug":"<string>"}'
```

### get_specialties

Retrieve the full list of medical specialties available on Zocdoc. Returns specialty names and URL slugs that can be used with the search_doctors endpoint. Results are not paginated; all specialties are returned in a single call.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-zocdoc-com-api-5dc972bc/get_specialties \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### search_doctors

Search for doctors/providers by specialty and location via Zocdoc's GraphQL directory API. Returns paginated results with provider details including name, specialty, rating, review count, location, and practice. Results are ordered by relevance with 10 providers per page. Pagination is offset-based in increments of 10.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `address` | string | No | City name or zip code for location-based search (e.g., 'New York, NY', '10001', 'Los Angeles, CA'). |
| `dr_specialty` | string | No | Specialty ID number to filter results by specialty (e.g., '153' for Primary Care Doctor, '156' for Chiropractor). |
| `offset` | integer | No | Pagination offset (increments of 10). |
| `procedure_id` | string | No | Procedure/visit reason ID to filter results by procedure type. |
| `specialty_slug` | string | No | Specialty slug used as the search query (e.g., 'dentists', 'chiropractors', 'dermatologists'). Obtain slugs from get_specialties. When omitted, defaults to 'doctor'. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-zocdoc-com-api-5dc972bc/search_doctors \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"address":"<string>","dr_specialty":"<string>","offset":"<integer>","procedure_id":"<string>","specialty_slug":"<string>"}'
```

### search_doctors_by_zip

Search for all providers within a 10-mile radius of a given zip code using Zocdoc's provider directory. Returns detailed provider information including NPI, bio, all locations, and availability flags. Results are paginated in pages of 10 providers. Pagination is offset-based in increments of 10.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `offset` | integer | No | Pagination offset (increments of 10). |
| `zip_code` | string | Yes | US zip code to search around (e.g. '85234', '10001'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-zocdoc-com-api-5dc972bc/search_doctors_by_zip \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"offset":"<integer>","zip_code":"<string>"}'
```
