Healthgrades Scraper — Doctor & Dentist Leads, NPI + Phone
Pricing
$1.50 / 1,000 per provider returneds
Healthgrades Scraper — Doctor & Dentist Leads, NPI + Phone
Scrape the Healthgrades provider directory by specialty and city — doctor/dentist name, credentials, specialty, NPI number, star rating, review count, every office address with phone and GPS, awards and profile URL. 184 specialties, all 50 states. Public data, no login. Export JSON/CSV/Excel.
Pricing
$1.50 / 1,000 per provider returneds
Rating
0.0
(0)
Developer
Scrapers Delight
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Healthgrades Scraper — doctor & dentist leads with NPI + phone
Turn the Healthgrades provider directory into a clean lead list. Pick a specialty and a city or state, and get one row per provider: name, credentials, specialty, NPI number, star rating, review count, every office address with its own phone number and GPS coordinates, awards, "accepting new patients", bio and profile URL.
184 specialties (from Family Medicine and Dentistry to Vascular Surgery), all 50 states + DC + PR. Public data, no login, no API key.
What you get (one row per provider)
| Field | Example |
|---|---|
name / credentials | Dr. Maribel Carbia / DMD |
npi | 1174799001 — the 10-digit National Provider Identifier |
specialty / specialtyDetail | Dentistry / Dentistry |
rating / reviewCount | 4.8 / 26 |
phone | (305) 666-0006 |
practiceName | The Dental Studio |
addressStreet / City / State / Zip | 4100 Salzedo St Ste 20 / Coral Gables / FL / 33146 |
latitude / longitude | 25.73398 / -80.26041 |
offices[] | every office: name, street, city, state, zip, its own phone, GPS, office profile URL |
officeCount | 2 |
acceptingNewPatients | true |
awards[] | ["Healthgrades Honor Roll"] |
highlights[] / attributes[] | ["Listened/answered questions"] / ["Virtual Visits"] |
description | the provider's published bio |
lastVerified | May 29, 2026 — when Healthgrades last verified the profile |
sponsored | true for the paid cards Healthgrades injects at the top of each page |
profileUrl, imageUrl, providerId, providerType | source + stable IDs |
searchSpecialty, searchLocation, resultPage, sourceUrl, scrapedAt | provenance |
Input
{"specialties": ["Family Medicine", "Cardiology"],"locations": ["Los Angeles, CA", "Miami, FL"],"maxItems": 500,"maxPagesPerSearch": 10,"includeProviderDetails": true,"excludeSponsored": true,"minRating": 4,"requirePhone": true}
- specialties — everyday name (
"Dentistry","Primary Care","OBGYN") or the exact Healthgrades slug ("dermatology-directory"). Full list: https://www.healthgrades.com/specialty-directory - locations —
"City, ST"for a city, or a bare state code ("CA") to sweep a whole state. Healthgrades spells cities out, so"St. Louis, MO"is converted tosaint-louisfor you. - Every specialty is crossed with every location. 2 specialties × 3 cities = 6 searches.
- startUrls — paste directory URLs directly if you prefer; pagination is followed for you.
- includeProviderDetails — ON opens each provider profile to add NPI, phone, all offices, GPS, awards and bio. OFF is ~5× faster but returns listing-level fields only (no phone, no NPI).
Who buys this
Medical-practice marketing agencies, healthcare staffing and locum recruiters, medtech and practice-management SaaS sales teams, insurance credentialing and provider-network builders, and researchers who need an NPI-keyed provider list they can join to CMS/NPPES data.
How it works (and its honest limits)
- Directory pages are server-rendered HTML; provider cards are read from stable
data-qa-targetattributes, and each provider profile is parsed from its schema.org JSON-LD block plus the DOM (phone lives in the DOM, GPS lives in the JSON-LD). Nothing is scraped with a whole-page regex. - Deduplicated by the Healthgrades provider id and again by NPI, so the same doctor is never returned — or billed — twice in a run.
- Radius, not city limits. Healthgrades returns "providers within ~10 miles of the city",
so a
Los Angeles, CAsearch legitimately includes Culver City and Beverly Hills addresses. Filter onaddressCityif you need strict city limits. - Sponsored cards. Each result page carries up to 3 paid listings. They are flagged
(
sponsored: true) and can be excluded withexcludeSponsored. - practiceName is not always published. Where Healthgrades shows the placeholder "Practice",
the actor falls back to the group's directory-URL name, and returns
nullwhen there is none (~35% of rows in a Miami dentistry sample). - Education, residency and board-certification detail are not in scope — Healthgrades loads
those client-side after the page renders, so they are not in the HTML this actor reads. Awards
and the
highlightslist are returned. - Rating/review counts are Healthgrades' own patient ratings; providers with no ratings have
rating: null.
Legal / responsible use
This actor collects information Healthgrades publishes openly for patients to browse: provider names, professional credentials, NPIs (a public federal identifier) and office contact details. That is professional/business information, not consumer personal data — but you are responsible for using it lawfully: B2B outreach, credentialing, network building and market research, in line with Healthgrades' terms of use and any privacy, anti-spam or marketing law that applies to you (GDPR/CCPA, TCPA, CAN-SPAM). Do not use it to contact patients, and do not represent scraped ratings as an endorsement.
Pricing
Pay per event: $0.0015 per provider returned. You are charged only for rows actually delivered to your dataset — duplicates and filtered-out providers are free.