One self-serve API for doctor and practice reviews from WebMD, Healthgrades, Zocdoc and RateMDs.
Patients rate the same practice in four or five different places, and each of those places treats developer access differently. Below is where each one stands, checked September 2026, and how to collect them without writing a scraper per site.
Short version: two are partner-only, two publish nothing at all - and all four are available through one Repuso endpoint, with a self-serve key.
| Site | Official API | What that means in practice |
|---|---|---|
| Repuso | Self-serve | All four sites plus Vitals, Google and Facebook in one normalized schema. Key from the console, 10-day trial, no card, no partner contract. |
| Healthgrades | Partner only | Production tokens are issued by the client team to contracted partners. No public documentation, no self-serve tier, no open sandbox. |
| Zocdoc | Partner only | Zocdoc for Developers is a real OAuth2 platform and documents provider review endpoints, but production access needs approval into a partner programme and alignment with a provider customer. Consumer use cases are generally not approved. |
| WebMD | None | No developer portal, no documented endpoints, no partner programme that returns the ratings on a provider profile. |
| RateMDs | None | Nothing published for profiles, ratings or patient reviews. |
Also collected: Vitals, plus Google and Facebook, where most practices hold their largest review counts.
Add each profile once. After the first sync, every platform answers on the same endpoint with the same fields, so nothing in your code branches per site.
curl -u :$REPUSO_KEY \
-X POST https://api.repuso.com/public/v1/profiles/add \
-H 'Content-Type: application/json' \
-d '{"type": "healthgrades", "url": "https://www.healthgrades.com/physician/dr-example-12345"}'
curl -u :$REPUSO_KEY \
'https://api.repuso.com/public/v1/reviews/get?limit=50'{
"count": 412,
"limit": 50,
"has_more": true,
"items": [{
"id": 90514,
"type": "healthgrades",
"rating_value": "5.00",
"rating_scale": 5,
"sentiment": "positive",
"text": "Explained the options clearly and never made me feel rushed.",
"from_name": "Verified patient",
"posted_on": "2026-08-01 14:22:00"
}],
"next_before_ts": 1779310800,
"next_before_id": 90514
}These are public reviews published on public profiles - marketing and reputation data, not clinical records. Nothing here touches a patient record system, and no protected health information passes through the API. Whatever a patient chose to publish about their visit is what you get back.
Is there an API for doctor reviews?
Not one official one. Two of the four major sites run partner-only programmes that need a contract; the other two publish nothing. Aggregating is the practical route unless you already have a partner agreement.
Can I monitor competitors?
Yes. Any public profile can be monitored, not just your own - useful for benchmarking a practice against others in the same specialty and city.
How fresh is it?
Profiles refresh daily, and webhooks fire when a review arrives or a rating moves.