canonical: https://jentic.com/apis/zocdoc.com/zocdoc

# Zocdoc API

The Zocdoc API provides access to healthcare provider data, scheduling, appointments, and insurance information for building patient-facing applications. The API exposes 25 endpoints secured with oauth2 authentication.

## For AI agents

Programmatically retrieves active provider npis, retrieves schedulable entities with availability. Covers 25 operations with oauth2 authentication.

## Scope

Does not handle payments, communications, or crm - use for healthcare only.

## Capabilities

- Retrieves active provider NPIs
- Search provider locations
- Get provider location details
- Query and filter Zocdoc API records by parameters
- Monitor Zocdoc API operational status and events

## Use cases

### Healthcare Operations

Use the Zocdoc API to perform healthcare operations programmatically. The API provides 25 endpoints covering core functionality including retrieves active provider npis, retrieves schedulable entities with availability, retrieves insurance plans supported by zocdoc.

Example prompt: Call GET `/v1/reference/npi` to retrieves active provider npis

### Automated Appointments Management

Automate appointments operations by combining multiple Zocdoc API endpoints. Agents can retrieves schedulable entities with availability and then retrieves insurance plans supported by zocdoc in a single workflow.

Example prompt: Call GET `/v1/schedulable_entities` to retrieves schedulable entities with availability, then verify the result

### AI Agent Integration via Jentic

AI agents discover and call Zocdoc API endpoints through Jentic without managing credentials directly. An agent searches for the required operation by intent, receives the matching endpoint schema, and executes the call with Jentic-managed authentication. This eliminates the need to read API documentation or handle oauth2 tokens manually.

Example prompt: Search Jentic for 'retrieves active provider npis', load the operation schema, and execute with Jentic-managed credentials

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/v1/reference/npi` | Retrieves active provider NPIs |
| GET | `/v1/schedulable_entities` | Retrieves schedulable entities with availability |
| GET | `/v1/insurance_plans` | Retrieves insurance plans supported by Zocdoc |
| GET | `/v1/insurance_plans/{insurance_plan_id}` | Retrieves a specific insurance plan |
| GET | `/v1/providers` | Retrieves providers by NPI search |
| GET | `/v1/provider_locations` | Search provider locations |
| GET | `/v1/provider_locations/{provider_location_id}` | Get provider location details |
| GET | `/v1/provider_locations/availability` | Get appointment timeslots |

## Key resources

- **Appointments** — Operations related to Appointments
- **Facilities** — Operations related to Facilities
- **Insurance** — Operations related to Insurance
- **Providers** — Operations related to Providers
- **Scheduling** — Operations related to Scheduling

## Why Jentic

- **Setup:** Wiring Zocdoc by hand means running its OAuth 2.0 flow, refreshing access tokens, and mapping provider, location, and insurance-plan responses against the api.zocdoc.com host yourself. Through Jentic you install once, import Zocdoc from the API Directory, store the OAuth credential once, and your agent calls it.
- **Permission scoping:** Zocdoc puts ids like the provider location in the URL path (`/v1/provider_locations/{provider_location_id}`), so a rule can pin your agent to one provider location: it can read that location's details and availability and nothing else. You choose the operations it may call, and the exposed endpoints here are read-only lookups, so only the ones you select run.
- **Credential handling:** Your Zocdoc OAuth credential is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'find provider availability' or 'look up insurance plans', and Jentic returns the matching Zocdoc operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Oystehr** — Alternative healthcare API
- **Athenahealth** — Alternative healthcare API

## FAQ

### What authentication does the Zocdoc API use?

The Zocdoc API uses OAuth 2.0 for authorization. Through Jentic, these credentials are stored encrypted in your Jentic One instance and injected at execution time, so raw secrets never enter the agent context.

### Can I retrieves active provider npis with the Zocdoc API?

Yes. Use the GET `/v1/reference/npi` endpoint. The API returns structured JSON responses that agents can parse and act on directly.

### What are the rate limits for the Zocdoc API?

Rate limits are not specified in the OpenAPI spec. Check the vendor documentation for current limits. Through Jentic, rate limiting is handled automatically with retry logic built into the execution layer.

### How do I retrieves active provider npis through Jentic?

Install the Jentic SDK with pip install jentic, authenticate through Jentic One, the self-hosted execution layer, then search for 'retrieves active provider npis'. Jentic returns the matching Zocdoc API operation with its input schema. Load the schema and execute the call - credentials are injected automatically.

### How many endpoints does the Zocdoc API have?

The Zocdoc API exposes 25 endpoints covering appointments, facilities, insurance operations.

### Can I limit what my agent is allowed to do with the Zocdoc API?

Yes. Because you run Jentic One yourself, your own rules decide which Zocdoc operations and credentials the agent may use. Since Zocdoc puts identifiers such as the provider location in the URL path (`/v1/provider_locations/{provider_location_id}`), a rule can pin the agent to a single provider location so it reads only that location's details and availability. The exposed endpoints here are read-only lookups like retrieving provider NPIs, schedulable entities, and insurance plans, so only the operations you select can run.
