Healthgrades API endpoint
Returns public professional profile fields and practice locations for one Healthgrades physician. Patient-authored review text is not returned. Requests use US egress because Healthgrades restricts some content by region.
/healthgrades/physicianQuery parameters:
url (required): canonical https://www.healthgrades.com/physician/<slug> profile URL.The endpoint returns professional profile fields and practice locations. Patient-authored review text and review aggregates are omitted. Requests use US egress. Region blocks and anti-bot challenges return an upstream error.
| Field | In the sample | Value in the sample |
|---|---|---|
| name | Has a value | |
| profile_url | Has a value | healthgrades.com |
| image_url | Has a value | 138 characters |
| specialties | Has a value | 1 entry |
| npi | Has a value | 1,134,108,103 |
| awards | Has a value | 1 entry |
| practices | Has a value | 1 entry |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| url | string | Yes | Canonical Healthgrades physician profile URL | https://www.healthgrades.com/physician/dr-example-abcde | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/healthgrades/physician?url=https%3A%2F%2Fwww.healthgrades.com%2Fphysician%2Fdr-example-abcde" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"data": {
"name": "Dr. Example Physician",
"profile_url": "https://www.healthgrades.com/physician/dr-example-abcde",
"image_url": "https://example.test/provider.jpg",
"specialties": [
"Orthopedic Surgery"
],
"npi": "1234567890",
"awards": [
"Top Doctor"
],
"practices": [
{
"name": "Example Clinic",
"city": "Lancaster",
"region": "CA",
"country": "US"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/healthgrades.physicianResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| data | healthgrades.PhysicianResponse | No | ||||
| data.awards | array | No | ||||
| data.image_url | string | No | ||||
| data.name | string | No | ||||
| data.npi | string | No | ||||
| data.practices | array | No | ||||
| data.practices[].city | string | No | ||||
| data.practices[].country | string | No | ||||
| data.practices[].latitude | number | No | ||||
| data.practices[].longitude | number | No | ||||
| data.practices[].name | string | No | ||||
| data.practices[].postal_code | string | No | ||||
| data.practices[].region | string | No | ||||
| data.practices[].street | string | No | ||||
| data.profile_url | string | No | ||||
| data.specialties | array | No |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/healthgrades/physician?url=https%3A%2F%2Fwww.healthgrades.com%2Fphysician%2Fdr-example-abcde" \
-H "x-api-key: $CRAWLORA_API_KEY"