Skip to content
Download OpenAPI description
Languages
Servers
Sandbox

https://api-developer-sandbox.zocdoc.com/

Production

https://api-developer.zocdoc.com/

NPIs

Endpoints to retrieve information about the developer's directory.

Operations

Schedulable entities

Endpoints to retrieve schedulable entities with availability information.

Operations

Request

(Sandbox Only) Get the list of schedulable entities within the developer's Zocdoc directory (provider-locations, etc.) with availability information.

NPIs can be used to search for providers in the /v1/providers endpoint to facilitate availability, discovery, and booking. Schedulable entity ids can be used to find provider-locations in the /v1/provider_locations/{provider_location_id} endpoint to facilitate availability, discovery, and booking.

Developers can fetch the schedulable entities list and cache in their system. The available schedulable entities do not change frequently. Pulling this data once a week and/or after known directory change events should be sufficient. However, you may use the recent_changes_72hrs parameter and the recent_change_summary field to get the list of entities that have changed in the last 72 hours.

Security
ClientCredentialsFlow or AuthorizationCodeFlow
Query
pageinteger>= 0

The zero indexed page of results. A mimimum value of 0 will be accepted.

Default 0
page_sizeinteger[ 1 .. 60000 ]

The number of results to return per page. The default value is 60000. A mimimum value of 1 and a maximum of 60000 will be accepted.

Default 60000
schedule_typesstring

The comma-delimited list of schedule types to include. Will return all schedule types if not provided.

recent_changes_72hrsboolean

When true, only includes entities added or updated in the last 72 hours

curl -i -X GET \
  'https://api-developer-sandbox.zocdoc.com/v1/schedulable_entities?page=0&page_size=60000&schedule_types=string&recent_changes_72hrs=true' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Success

Bodyapplication/json
request_idstringrequired
pageintegerrequired

The zero based index of the current page.

page_sizeintegerrequired

The size of the current page.

total_countintegerrequired

The total number of result items.

next_urlstringrequired

A link to the next page of results; null if this is the last page of results.

dataobject(SchedulableEntitiesData)required
data.​recent_change_summaryobject(SchedulableEntitiesRecentChangeSummary)required
data.​recent_change_summary.​schedulable_entities_addedArray of stringsrequired
data.​recent_change_summary.​schedulable_entities_removedArray of stringsrequired
data.​recent_change_summary.​schedulable_entities_profile_updatedArray of stringsrequired
data.​schedulable_entitiesArray of objects(SchedulableEntity)required
data.​schedulable_entities[].​idstringrequired
data.​schedulable_entities[].​npistring
data.​schedulable_entities[].​typestring(SchedulableEntityType)required
Value"provider_location"
data.​schedulable_entities[].​go_live_timestamp_utcstring(date-time)required

The timestamp when the schedulable entity became available in the developer's directory.

data.​schedulable_entities[].​profile_last_modified_timestamp_utcstring(date-time)required

The timestamp when the schedulable entity's profile was last modified in the developer's directory. This includes basic information on the provider and location records.

data.​schedulable_entities[].​new_patient_availabilityobject(SchedulableEntityAvailabilityInfo)required
data.​schedulable_entities[].​new_patient_availability.​next_available_utcstring(date-time)

The next available date and time in UTC, up to 90 days in the future.

data.​schedulable_entities[].​new_patient_availability.​next_28_daysstring(SchedulableEntityAvailabilityStatus)required

The availability status of the schedulable entity for the next 28 days. Limited availablility means that the entity has less than 20 timeslots available for the next 28 days.

Enum"none""limited""available"
data.​schedulable_entities[].​new_patient_availability.​urlstringrequired

The GET URL to receive the schedulable entity's availability in this API for their default visit reason and the corresponding patient type.

data.​schedulable_entities[].​existing_patient_availabilityobject(SchedulableEntityAvailabilityInfo)required
data.​schedulable_entities[].​existing_patient_availability.​next_available_utcstring(date-time)

The next available date and time in UTC, up to 90 days in the future.

data.​schedulable_entities[].​existing_patient_availability.​next_28_daysstring(SchedulableEntityAvailabilityStatus)required

The availability status of the schedulable entity for the next 28 days. Limited availablility means that the entity has less than 20 timeslots available for the next 28 days.

Enum"none""limited""available"
data.​schedulable_entities[].​existing_patient_availability.​urlstringrequired

The GET URL to receive the schedulable entity's availability in this API for their default visit reason and the corresponding patient type.

Response
application/json
{ "request_id": "string", "page": 0, "page_size": 0, "total_count": 0, "next_url": "string", "data": { "recent_change_summary": {}, "schedulable_entities": [] } }

Insurance

Endpoints to retrieve insurance plans supported by Zocdoc.

Operations

Providers

Endpoints to retrieve providers within the developer's directory.

Operations

Provider locations

Endpoints for retrieving and modifying provider location objects and their related reviews, insurance plans, and availability.

Operations

Facilities

Endpoints to retrieve facilities within the developer's directory.

Operations

Calendar integration timeslots

Endpoints to manage timeslots for providers.

Operations

Appointments

Endpoints for booking, cancelling, and rescheduling appointments, including retrieving current appointment statuses and updated information.

Operations

Webhook

Sandbox endpoints to mock webhook behavior

Operations