Healthgrades Doctors & Provider Contacts Scraper
Pricing
from $17.00 / 1,000 results
Healthgrades Doctors & Provider Contacts Scraper
Scrape US doctor and provider profiles: name, specialty, practice, phone, full address, rating, review count, years of experience, languages, awards and NPI. Search by specialty or name across US cities. Export to JSON, CSV or Excel.
Pricing
from $17.00 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Healthgrades Doctors & Provider Contacts Scraper
Here is one real result, with every field the actor returns:
{"imageUrl": "https://dims.healthgrades.com/dims3/MMH/format/webp/?url=https:%2F%2Fphotos.healthgrades.com%2Fimg%2Fprov%2FY%2FT%2F6%2FYT6R6_w120h160_v23544.jpg","name": "Dr. Ralph Fiore, DO","profileUrl": "https://www.healthgrades.com/physician/dr-ralph-fiore-yt6r6","npi": null,"specialty": "Dermatology","specialties": ["Dermatology"],"practiceName": "Practice","phone": "(414)858-9104","addressStreet": null,"city": "Chicago","state": "IL","zip": "60605","latitude": null,"longitude": null,"rating": 4.8,"reviewCount": 51,"yearsExperience": null,"medicalSchool": null,"acceptsNewPatients": true,"languages": [],"hospitalAffiliations": [],"awards": [],"boardCertifications": [{"certificationName": "Dermatology","accreditingBoard": "American Osteopathic Board of Dermatology"}],"boardCertified": true,"gender": "Male","telehealth": true,"acceptedInsurance": [],"description": null,"searchQuery": "dermatologist","searchCity": "Chicago, IL","source": "Healthgrades","observedAt": "2026-08-14T08:26:39.995Z","error": null,"aiProfileSummary": "Dr. Ralph Fiore is a board-certified dermatologist based in Chicago, IL, with a strong rating of 4.8 from 51 reviews. He is currently accepting new patients and offers telehealth services.","aiLeadScore": 85,"aiLeadScoreRationale": "Dr. Fiore has a complete profile with a high rating, board certification, and accepts new patients, but the practice name is generic."}
The most complete Healthgrades provider scraper available. It returns every field a Healthgrades profile exposes (name, specialty, practice, phone, full address, rating, credentials and NPI), plus optional contact enrichment and AI add-ons, and gives you seven filters to target exactly the providers you need.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor searches Healthgrades for the specialties or provider names you pass, combines each search query with each city you list, paginates through the matching providers, and writes one normalized record per provider to the run's dataset. With full profiles enabled, each provider profile is opened to capture phone, practice name, full address, board certifications, languages, awards, accepted insurance and more. Missing source values are returned as null, and optional paid add-ons can enrich each record with a public contact email, an AI profile summary and an AI lead score.
Data covers US providers listed on Healthgrades. It is independent and has no affiliation with Healthgrades.
Quickstart
Open the actor, paste this into the input, and press Run. It returns dermatologists in Chicago with full profiles and both AI add-ons on.
{"searchQueries": ["dermatologist"],"cities": ["Chicago, IL"],"maxProviders": 2,"withDetails": true,"withAiProfileSummary": true,"withAiLeadScore": true}
Leave cities empty to search nationwide. Every input field is optional; with an empty input the actor searches the prefilled specialty (Cardiology) in the prefilled city (New York, NY).
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
searchQueries | string[] | no | ["Cardiology"] | One or more searches. Use a specialty (for example Cardiology, Dentist, Pediatrician) or a provider name. Each query is combined with each city. |
cities | string[] | no | ["New York, NY"] | US cities to search, each as City, ST (for example New York, NY, Chicago, IL). Leave empty to search nationwide. |
maxProviders | integer | no | 10 | Maximum providers to collect across all searches. Free Apify plans are capped at 10 per run. |
withDetails | boolean | no | true | Open each profile to capture phone, NPI, practice, full address, experience, languages, awards, insurance and more. Turn off for a faster, listing-only run. |
minRating | integer | no | (any) | Only return providers with a patient rating at or above this value (1 to 5). |
minReviewCount | integer | no | (any) | Only return providers with at least this many patient reviews. |
onlyAcceptingNewPatients | boolean | no | false | Only return providers accepting new patients. Requires withDetails. |
onlyTelehealth | boolean | no | false | Only return providers offering telehealth / virtual visits. Requires withDetails. |
insuranceFilter | string | no | (empty) | Only return providers whose accepted insurance list contains this text (for example Aetna, Medicare). Requires withDetails. |
enrichContacts | boolean | no | false | Paid add-on. For each result without an email, attempt to find a public business contact email and contact name. Billed per attempt, plus an extra charge only when an email is found. |
enrichContactsMax | integer | no | 50 | Cap how many results the contact add-on tries to enrich. Free Apify accounts are capped at 3. |
withAiProfileSummary | boolean | no | false | Paid AI add-on. Writes a concise professional profile of each provider. Requires a paid Apify plan. Billed only when a summary is produced. |
withAiLeadScore | boolean | no | false | Paid AI add-on. Scores each provider 0 to 100 as an outreach lead with a short rationale. Requires a paid Apify plan. Billed only when a score is produced. |
Output reference
One dataset item per provider. Types: string, number, integer, boolean, string[], object[], or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
imageUrl | string | Provider photo URL, or null. |
name | string | Provider full name with credential suffix. |
profileUrl | string | Healthgrades profile URL. |
npi | string | National Provider Identifier, or null. |
specialty | string | Primary specialty. |
specialties | string[] | All listed specialties. |
practiceName | string | Practice or clinic name. |
phone | string | Office phone number (requires withDetails). |
addressStreet | string | Street address, or null. |
city | string | City. |
state | string | Two-letter state code. |
zip | string | ZIP code. |
latitude | number | Latitude, or null. |
longitude | number | Longitude, or null. |
rating | number | Average patient rating out of 5. |
reviewCount | integer | Number of patient ratings. |
yearsExperience | integer | Years of experience, or null. |
medicalSchool | string | Medical school, or null. |
acceptsNewPatients | boolean | Whether the provider is accepting new patients. |
languages | string[] | Languages spoken. |
hospitalAffiliations | string[] | Affiliated hospitals. |
awards | string[] | Awards and recognitions. |
boardCertifications | object[] | Board certifications, each with certificationName and accreditingBoard. |
boardCertified | boolean | true when the provider holds at least one board certification. |
gender | string | Provider gender. |
telehealth | boolean | Whether the provider offers telehealth / virtual visits. |
acceptedInsurance | string[] | Accepted insurance plans and carriers. |
description | string | Profile summary text, or null. |
searchQuery | string | Search query that produced this record. |
searchCity | string | Search city that produced this record. |
source | string | Data source. Always Healthgrades. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
enrichedEmail | string | Public contact email from the contact add-on, or null. |
enrichedContactName | string | Contact person name from the contact add-on, or null. |
enrichedJobTitle | string | Contact job title from the contact add-on, or null. |
enrichedEmailStatus | string | Email verification status from the contact add-on, or null. |
enrichedSource | string | Source URL of the enriched contact, or null. |
enrichedConfidence | number | Confidence of the enriched contact, or null. |
aiProfileSummary | string | AI profile summary (add-on), or null. |
aiLeadScore | integer | AI outreach lead score 0 to 100 (add-on), or null. |
aiLeadScoreRationale | string | Short rationale for the AI lead score (add-on), or null. |
error | string | null on success. On a failed run, a single item with a populated error field is written instead. |
Example output record
Real record from a live run (input {"searchQueries":["dermatologist"],"cities":["Chicago, IL"],"maxProviders":2,"withDetails":true,"withAiProfileSummary":true,"withAiLeadScore":true}):
{"imageUrl": "https://dims.healthgrades.com/dims3/MMH/format/webp/?url=https:%2F%2Fphotos.healthgrades.com%2Fimg%2Fprov%2FY%2FT%2F6%2FYT6R6_w120h160_v23544.jpg","name": "Dr. Ralph Fiore, DO","profileUrl": "https://www.healthgrades.com/physician/dr-ralph-fiore-yt6r6","npi": null,"specialty": "Dermatology","specialties": ["Dermatology"],"practiceName": "Practice","phone": "(414)858-9104","addressStreet": null,"city": "Chicago","state": "IL","zip": "60605","latitude": null,"longitude": null,"rating": 4.8,"reviewCount": 51,"yearsExperience": null,"medicalSchool": null,"acceptsNewPatients": true,"languages": [],"hospitalAffiliations": [],"awards": [],"boardCertifications": [{"certificationName": "Dermatology","accreditingBoard": "American Osteopathic Board of Dermatology"}],"boardCertified": true,"gender": "Male","telehealth": true,"acceptedInsurance": [],"description": null,"searchQuery": "dermatologist","searchCity": "Chicago, IL","source": "Healthgrades","observedAt": "2026-08-14T08:26:39.995Z","error": null,"aiProfileSummary": "Dr. Ralph Fiore is a board-certified dermatologist based in Chicago, IL, with a strong rating of 4.8 from 51 reviews. He is currently accepting new patients and offers telehealth services.","aiLeadScore": 85,"aiLeadScoreRationale": "Dr. Fiore has a complete profile with a high rating, board certification, and accepts new patients, but the practice name is generic."}
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~healthgrades-doctors-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"searchQueries":["dermatologist"],"cities":["Chicago, IL"],"maxProviders":25,"withDetails":true}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~healthgrades-doctors-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"searchQueries":["Cardiology"],"cities":["New York, NY","Chicago, IL"],"maxProviders":100}'
Apify CLI:
apify call scrapers_lat/healthgrades-doctors-scraper \--input '{"searchQueries":["Pediatrician"],"cities":["Miami, FL"],"minRating":4}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per provider record returned (
resultevent). See the pricing tab for the current per-result price. - Add-on events. Full-profile enrichment (
details), AI profile summary (ai_profile_summary) and AI lead score (ai_lead_score) are billed separately, and only when they produce usable output. - No charge on failure. If a run errors, the actor writes a single item with a populated
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 records per run (contact enrichment capped at 3). Upgrade for higher
maxProviders.
FAQ and troubleshooting
A run returned 0 records. Why?
The search matched nothing, or your filters excluded everything. Loosen filters (for example remove minRating or insuranceFilter), broaden the city, or confirm the specialty spelling. Zero-result runs are not charged.
Do I get phone numbers and addresses?
Yes, when withDetails is on. Each profile is opened to capture the office phone, full address, practice name and more. Missing values are returned as null, never invented.
Do the filters work without full profiles?
onlyAcceptingNewPatients, onlyTelehealth and insuranceFilter require withDetails because those fields only appear on the full profile.
Can I search several specialties and cities at once? Yes. Every search query is combined with every city, so one run can cover many specialties across many cities.
What do the AI add-ons cost? They are separate billable events and only charge when they produce usable output. They require a paid Apify plan and are disabled for free accounts.
Is this an official Healthgrades tool? No. This actor is independent and has no affiliation with Healthgrades. It reads only publicly available provider information. Use the results in accordance with the source's terms and applicable laws.
Related scrapers
- NPPES NPI Healthcare Provider Data Scraper: US provider NPI registry records.
- Google Maps Business Leads & Contacts Scraper: business leads and contacts from Google Maps.
- Doctoralia Doctor Profiles & Reviews Scraper: doctor profiles and patient reviews.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with Healthgrades. Accesses only publicly available provider information. Use in accordance with the source's terms and applicable laws.
