Healthgrades Doctor Scraper - Physician & NPI Data
Pricing
from $2.00 / 1,000 doctor profiles
Healthgrades Doctor Scraper - Physician & NPI Data
Scrape doctor & physician profiles from Healthgrades by specialty + US city, or paste /usearch and /physician URLs. One flat row per doctor: name, specialty, star rating, reviews, NPI, address, phone, insurance, telehealth. Optional profile enrichment: bio, education, languages.
Pricing
from $2.00 / 1,000 doctor profiles
Rating
0.0
(0)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Share
Healthgrades Doctor Scraper
Turn any Healthgrades search into clean, structured physician data. Search by specialty + US city, or paste /usearch and /physician URLs — and get one flat row per doctor with name, specialty, star rating, review count, NPI, address, phone, accepted insurance, telehealth and appointment availability. Flip on detail mode to add each doctor's biography, education, languages spoken, procedures and full office list.
Built for healthcare market research, provider-network and referral analysis, credentialing, and physician lead generation across every specialty.
How it works

✨ Why use this scraper?
- Rich rows out of the box — ~30 fields per doctor from the search results alone: name, specialty, star rating, review count, NPI, gender, years of experience, address, image, accepted insurance, telehealth and same-/next-day availability, plus Healthgrades badges (Recommended, Patient Favorite, HG Choice).
- Two ways in — specialty + location searches, or direct Healthgrades
/usearchand/physicianURLs. Mix them in one run. - Clean 200s, no captcha — every request routes through US residential IPs with a real browser fingerprint, so you get the real page and full data.
- Full profile on demand — turn on Scrape doctor profile pages (or paste a physician URL) to add phone number, biography, education and training, languages spoken, procedures and the complete list of office locations.
- No brittle DOM scraping — reads Healthgrades' embedded app data, so the output stays stable when the page layout changes.
- JSON, CSV, Excel or API — pipe straight into your sheet, CRM, BI tool or pipeline. Billed per doctor.
🎯 Use cases
| You are a… | Use it to… |
|---|---|
| Healthcare marketer | Build targeted physician lists by specialty and city for outreach campaigns |
| Market researcher | Measure provider density, rating distribution and telehealth adoption per specialty/market |
| Medical recruiter | Source physicians by specialty, location, experience and accepted insurance |
| Payer / network analyst | Map which providers accept which insurance and where they practice |
| Data / app builder | Seed a provider directory with structured doctor rows (NPI, specialty, address, ratings) |
📥 Supported inputs
| Input | Example | What it does |
|---|---|---|
| Specialty + location | Cardiology|New York, NY | Searches Healthgrades and paginates the doctor results |
| Specialty only | Dermatology | Searches that specialty nationwide |
| Search URL | https://www.healthgrades.com/usearch?what=Cardiology&where=New+York | Paginates that search's results |
| Physician URL | https://www.healthgrades.com/physician/dr-jane-doe-abc12 | Scrapes that single doctor in full detail |
Not supported: patient records, appointment booking, login-only or account data, and anything behind a Healthgrades login. The actor reads only public search and physician-profile pages.
⚙️ How it works
- Classify every input —
Specialty|Locationpairs become search URLs; pasted URLs are sorted into search vs physician. - Fetch each page over a US residential IP with a real browser TLS fingerprint, so the full page is returned.
- Parse the page's embedded app data — a search page yields ~20 doctors; the next-page sequence is followed automatically up to your limit.
- Enrich each doctor from their profile page (when Scrape doctor profile pages is on): phone, biography, education, languages, procedures and every office.
- Emit one flat, deduplicated row per doctor to the dataset.
⚙️ Input parameters
| Field | Type | Default | Description |
|---|---|---|---|
searchQueries | array | — | Searches in Specialty|Location form, e.g. Cardiology|New York, NY. Location optional. |
startUrls | array | — | Healthgrades /usearch and /physician URLs. Auto-classified. |
scrapeDetails | boolean | false | Also fetch each doctor's profile page for phone, biography, education, languages and procedures (~2× requests). Pasted physician URLs are always fully detailed. |
maxItems | integer | 1000 | Max rows for the whole run. Free tier is additionally capped at 100. |
maxItemsPerSearch | integer | 1000 | Max doctors per search / URL. |
maxConcurrency | integer | 6 | Parallel requests. Keep moderate (4–8). |
maxRequestRetries | integer | 15 | Retry budget per request on 403 / 429 / 5xx and network errors. |
proxy | object | Apify Residential (US) | Applies to free-tier runs; paid runs use a built-in US residential pool. |
📊 Output overview
Each dataset record is one doctor. Rows carry the search-card fields (name, specialty, rating, reviews, NPI, address, image, accepted insurance, telehealth, availability, badges) and — when Scrape doctor profile pages is on, or for pasted physician URLs — the detail fields (phone, biography, education, languages, procedures, full office list). Ratings are on a 0–5 star scale.
📦 Output sample
{"rowType": "doctor","npi": "1730192837","pwid": "gf28x","name": "Dr. Satjit Bhusri, MD","profileUrl": "https://www.healthgrades.com/physician/dr-satjit-bhusri-gf28x","specialty": "Cardiology","specialtyDescriptions": ["Cardiologist", "Interventional Cardiology Specialist"],"gender": "Male","age": 47,"yearsExperience": 19,"rating": 4.5,"reviewCount": 62,"isRecommendedProvider": true,"isPatientFavorite": true,"isHgChoice": false,"acceptsNewPatients": true,"telehealthAvailable": true,"sameDayAppointments": false,"nextDayAppointments": true,"address": "635 Madison Ave Fl 11","city": "New York","state": "NY","postalCode": "10022","phone": "(212) 752-3464","imageUrl": "https://d3euc9tf6ejmqe.cloudfront.net/…/provider.jpg","insurances": ["Aetna", "Cigna", "UnitedHealthcare"],"insuranceCount": 41,"affiliatedHospitalIds": ["hg-12345"],"offices": [{ "name": "Upper East Side Cardiology", "address1": "635 Madison Ave Fl 11", "city": "New York", "state": "NY", "postalCode": "10022", "phone": "(212) 752-3464" }],"languages": ["English", "Hindi", "Punjabi", "Spanish"],"education": [{ "type": "Medical School", "name": "SUNY Downstate", "completionYear": 2006 }],"sourceMode": "physician","scrapedAt": "2026-07-06T07:30:00.000Z"}
🗂 Key output fields
| Field | Type | Notes |
|---|---|---|
name / profileUrl | string | Doctor name (with credentials) + canonical profile URL |
npi | string | National Provider Identifier |
specialty / specialtyDescriptions | string / string[] | Primary specialty + descriptive titles |
rating / reviewCount | number | Patient star rating (0–5) + number of survey responses |
yearsExperience / age / gender | number / string | Practitioner demographics |
address / city / state / postalCode | string | Primary practice address |
phone | string | Primary office phone (with detail / on physician URLs) |
insurances / insuranceCount | string[] / number | Accepted insurance carriers |
acceptsNewPatients / telehealthAvailable | boolean | Availability flags |
sameDayAppointments / nextDayAppointments | boolean | Appointment availability |
isRecommendedProvider / isPatientFavorite / isHgChoice | boolean | Healthgrades badges |
offices | array | Every practice: name, address, city, state, ZIP, phone |
education / languages / procedures / biography | — | Present with scrapeDetails / on physician URLs |
❓ FAQ
Can I get the doctor's email? No. Healthgrades doesn't publish physician email addresses; the actor returns the public profile — name, specialty, ratings, NPI, address, office phone, accepted insurance and (with detail on) biography, education and languages.
How many doctors can I get per search? Healthgrades returns ~20 doctors per page and paginates deep (popular specialty + big city searches run to 100+ pages). Use maxItemsPerSearch to cap.
What does Scrape doctor profile pages add? The search row is already rich (~30 fields). Turning it on visits each doctor's profile to add the phone number, biography, education and training, languages spoken, procedures and full office list — at roughly double the requests. Physician URLs you paste are always fully detailed.
Is the star rating 0–5 or 0–10? Output is always normalized to a 0–5 star scale, regardless of which internal scale the page used.
Do I need to configure proxies? No. US residential routing is built in (Healthgrades is a US site). Just give it specialties + cities or URLs.
💬 Support
Found a bug or need an extra field? Open an issue on the actor's Issues tab and it'll be looked at quickly.
🛠 Additional services
Need a custom field, another provider directory (Vitals, Zocdoc, WebMD, NPI Registry), or a scheduled physician-data feed into your warehouse? Custom scraping and pipeline work is available on request.
🔎 Explore more scrapers
Looking for more directory or company-data sources? Check out the other directory, review and marketplace scrapers in the same publisher's collection on the Apify Store.
⚠️ Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Healthgrades Marketplace, LLC or any of its subsidiaries or affiliates. All trademarks mentioned are the property of their respective owners.
The scraper accesses only publicly available Healthgrades search and physician-profile pages — no authenticated endpoints, no login-only or private data, and no patient information. Users are responsible for ensuring their use complies with Healthgrades' Terms of Service, applicable data-protection law (including GDPR and CCPA where relevant), and any professional or contractual obligations of their own organisation. Scraped data concerns healthcare professionals in their public professional capacity; use it lawfully and honour any opt-out or do-not-contact requirements.
SEO Keywords
healthgrades scraper, scrape healthgrades, healthgrades doctor scraper, healthgrades physician scraper, doctor data extraction, physician directory scraper, healthgrades api, medical provider scraper, npi scraper, doctor ratings scraper, healthcare provider data, physician lead generation, scrape doctor profiles, healthgrades reviews scraper, doctor specialty scraper, medical directory scraper, physician contact scraper, healthgrades listings scraper, apify healthgrades, provider network data