Healthgrades API endpoint
Returns one Healthgrades pharmacy, urgent care center, or group practice profile; the type (pharmacy, urgent_care, or group_practice) is inferred from the URL. Pharmacies: opening hours, services (for example compounding, immunizations, Medicare), and nearby pharmacies. Urgent care centers: opening hours and aggregated visitor answers to amenity questions. Group practices: specialties, providers with specialty and rating, medical services offered, language services, office locations with phones and coordinates, FAQs, and nearby offices. All types include name, address, and phone. Patient-authored reviews are not returned. Requests use US egress because Healthgrades restricts content by region.
/healthgrades/facilityQuery parameters:
url (required): a Healthgrades pharmacy (https://www.healthgrades.com/pharmacy/<slug>), urgent care (https://www.healthgrades.com/urgent-care/<slug>), or group practice (https://www.healthgrades.com/group-directory/<state>/<city>/<slug>) profile URL, as returned by /api/v1/healthgrades/facilities/search. Hospital profiles use /api/v1/healthgrades/hospital.Returns the facility type (pharmacy, urgent_care, or group_practice, inferred from the URL), name, address (street, city, state, postal_code), and phone, plus the fields that facility type shows:
subtitle (store number and city), description, hours (day, hours as displayed, for example 8:00am to 6:00pm or Closed), services (for example Compounding, Immunizations, Medicare), and nearby pharmacies (name, url, address, open/closed status at fetch time).categories, hours, and community_answers (aggregated visitor yes/no counts for amenity questions such as free onsite parking or telehealth).categories (specialties), description, latitude/longitude, rating when the office has ratings, providers (name, specialty, profile url, rating, rating_count), medical_services (conditions and procedures treated), languages, office locations (the first is this office), faqs, community_answers when visitors have answered, and nearby offices.Patient-authored review text is not returned. Unknown profiles return 404; URLs on other hosts or paths return 400. Requests use US egress because Healthgrades restricts content by region.
| Field | Filled in, of 7 checked |
|---|---|
| day | 7 |
| hours | 7 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| url | string | Yes | Healthgrades pharmacy, urgent care, or group practice profile URL from /healthgrades/facilities/search | https://www.healthgrades.com/pharmacy/walgreens-12805-pas6pu | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/healthgrades/facility?url=https%3A%2F%2Fwww.healthgrades.com%2Fpharmacy%2Fwalgreens-12805-pas6pu" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 0,
"message": "success",
"data": {
"type": "pharmacy",
"name": "Walgreens",
"subtitle": "#12805 in Englewood, CO",
"url": "https://www.healthgrades.com/pharmacy/walgreens-12805-pas6pu",
"address": {
"street": "499 E Hampden Ave",
"city": "Englewood",
"state": "CO",
"postal_code": "80113"
},
"phone": "(303) 524-3750",
"hours": [
{
"day": "Monday",
"hours": "8:00am to 6:00pm"
}
],
"services": [
"Compounding",
"Immunizations",
"Medicare"
],
"nearby": [
{
"name": "Front Range Pharmacy",
"url": "https://www.healthgrades.com/pharmacy/front-range-pharmacy-patelu",
"address": "3401 S Broadway, Englewood, CO 80113"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/healthgrades.facilityResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| data | healthgrades.FacilityResponse | No | ||||
| data.address | healthgrades.FacilityAddress | No | ||||
| data.address.city | string | No | ||||
| data.address.postal_code | string | No | ||||
| data.address.state | string | No | ||||
| data.address.street | string | No | ||||
| data.categories | array | No | ||||
| data.community_answers | array | No | ||||
| data.community_answers[].no | integer | No | ||||
| data.community_answers[].question | string | No | ||||
| data.community_answers[].yes | integer | No | ||||
| data.description | string | No | ||||
| data.faqs | array | No | ||||
| data.faqs[].answer | string | No | ||||
| data.faqs[].question | string | No | ||||
| data.hours | array | No | ||||
| data.hours[].day | string | No | ||||
| data.hours[].hours | string | No | ||||
| data.languages | array | No | ||||
| data.latitude | number | No | ||||
| data.locations | array | No | ||||
| data.locations[].address | string | No | ||||
| data.locations[].name | string | No | ||||
| data.locations[].phone | string | No | ||||
| data.locations[].url | string | No | ||||
| data.longitude | number | No | ||||
| data.medical_services | array | No | ||||
| data.name | string | No | ||||
| data.nearby | array | No | ||||
| data.nearby[].address | string | No | ||||
| data.nearby[].name | string | No | ||||
| data.nearby[].status | string | No | ||||
| data.nearby[].url | string | No | ||||
| data.phone | string | No | ||||
| data.providers | array | No | ||||
| data.providers[].name | string | No | ||||
| data.providers[].rating | number | No | ||||
| data.providers[].rating_count | integer | No | ||||
| data.providers[].specialty | string | No | ||||
| data.providers[].url | string | No | ||||
| data.rating | number | No | ||||
| data.services | array | No | ||||
| data.subtitle | string | No | ||||
| data.type | string | No | pharmacy, urgent_care, group_practice | |||
| data.url | string | 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/facility?url=https%3A%2F%2Fwww.healthgrades.com%2Fpharmacy%2Fwalgreens-12805-pas6pu" \
-H "x-api-key: $CRAWLORA_API_KEY"