Zocdoc APIzocdoc.com ↗
Search Zocdoc providers by specialty and location. Retrieve doctor profiles, patient reviews, accepted insurance, office locations, and appointment availability.
What is the Zocdoc API?
The Zocdoc API covers 4 endpoints for querying healthcare providers on Zocdoc, including specialties, location-based provider search, and full doctor and practice profiles. The search_doctors endpoint returns up to 10 providers per page with fields like rating, review_count, practice_name, and availability slots, while get_doctor_profile exposes education history, accepted insurances, languages spoken, and individual patient reviews.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/e83128b9-6866-4adf-a464-5ec3f72ac990/get_specialties' \ -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 zocdoc-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: Zocdoc SDK — find doctors by specialty, drill into profiles and practices."""
from parse_apis.zocdoc_api import Zocdoc, ResourceNotFound
client = Zocdoc()
# List all available specialties
for spec in client.specialties.list(limit=5):
print(spec.name, spec.slug)
# Search for dentists in New York
provider = client.searchresults.search(
specialty_slug="dentists", address="New York, NY", limit=1
).first()
# Drill into the doctor's full profile via the summary's navigation op
if provider:
doctor = provider.details()
print(doctor.name, doctor.rating, doctor.review_count)
for loc in doctor.locations[:2]:
print(loc.address, loc.city, loc.state)
# Get a practice profile by slug
try:
practice = client.practices.get(slug="mount-sinai-doctors-56739")
print(practice.name, practice.rating, practice.review_count)
for p in practice.providers:
print(p.name, p.id)
except ResourceNotFound as exc:
print(f"Practice not found: {exc}")
print("exercised: specialties.list / searchresults.search / provider.details / practices.get")
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.
No input parameters required.
{
"type": "object",
"fields": {
"specialties": "array of specialty objects with name, id, and slug"
},
"sample": {
"data": {
"specialties": [
{
"id": null,
"name": "Dentist",
"slug": "dentists"
},
{
"id": null,
"name": "Dermatologist",
"slug": "dermatologists"
},
{
"id": null,
"name": "Cardiologist",
"slug": "cardiologists"
}
]
},
"status": "success"
}
}About the Zocdoc API
Specialties and Search
Start with get_specialties to retrieve the complete list of medical specialties available on Zocdoc, each returned with a name, id, and slug. These values feed directly into search_doctors via the dr_specialty parameter (integer ID) or the specialty_slug parameter (string slug such as 'dentists'). The search endpoint also accepts an address field (city name or zip code) and an offset for paginating through results in increments of 10. Each result in the providers array includes name, specialty, rating, review_count, city, state, slug, id, practice_name, and availability status.
Doctor Profiles
get_doctor_profile takes a slug from search results and returns a detailed record for a single provider. Response fields include name, rating, review_count, specialty, professional_statement, education (with instituteName and degreeType), languages, insurances (with name and id), and locations (with address, city, state, zip, and phone). The reviews array contains individual patient reviews with rating, comment, date, and patient_name.
Practice Profiles
get_practice_profile accepts a practice slug and returns aggregate information about a medical group or clinic: name, rating, review_count, locations, specialties, and a providers array listing each affiliated provider with their name, id, and rating. Practice slugs appear within doctor profile pages and can be extracted from get_doctor_profile results for follow-up lookups.
The Zocdoc API is a managed, monitored endpoint for zocdoc.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when zocdoc.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 zocdoc.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 provider directory filtered by specialty and zip code using search_doctors with dr_specialty and address
- Aggregate patient review data across providers in a metro area using get_doctor_profile reviews arrays
- Compare accepted insurance networks across multiple providers using the insurances field from get_doctor_profile
- Map practice locations and phone numbers for a given specialty using locations from get_practice_profile
- Track provider availability and rating trends over time using search_doctors rating and availability fields
- Identify multi-language providers in a region by filtering get_doctor_profile languages arrays
- Enumerate all providers affiliated with a medical group via get_practice_profile providers array
| 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.