Healthgrades Doctors & Provider Contacts Scraper avatar

Healthgrades Doctors & Provider Contacts Scraper

Pricing

from $17.00 / 1,000 results

Go to Apify Store
Healthgrades Doctors & Provider Contacts Scraper

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

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Healthgrades Doctors & Provider Contacts Scraper

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

Apify Coverage Output Billing

Table of contents

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

FieldTypeRequiredDefaultDescription
searchQueriesstring[]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.
citiesstring[]no["New York, NY"]US cities to search, each as City, ST (for example New York, NY, Chicago, IL). Leave empty to search nationwide.
maxProvidersintegerno10Maximum providers to collect across all searches. Free Apify plans are capped at 10 per run.
withDetailsbooleannotrueOpen each profile to capture phone, NPI, practice, full address, experience, languages, awards, insurance and more. Turn off for a faster, listing-only run.
minRatingintegerno(any)Only return providers with a patient rating at or above this value (1 to 5).
minReviewCountintegerno(any)Only return providers with at least this many patient reviews.
onlyAcceptingNewPatientsbooleannofalseOnly return providers accepting new patients. Requires withDetails.
onlyTelehealthbooleannofalseOnly return providers offering telehealth / virtual visits. Requires withDetails.
insuranceFilterstringno(empty)Only return providers whose accepted insurance list contains this text (for example Aetna, Medicare). Requires withDetails.
enrichContactsbooleannofalsePaid 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.
enrichContactsMaxintegerno50Cap how many results the contact add-on tries to enrich. Free Apify accounts are capped at 3.
withAiProfileSummarybooleannofalsePaid AI add-on. Writes a concise professional profile of each provider. Requires a paid Apify plan. Billed only when a summary is produced.
withAiLeadScorebooleannofalsePaid 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.

FieldTypeDescription
imageUrlstringProvider photo URL, or null.
namestringProvider full name with credential suffix.
profileUrlstringHealthgrades profile URL.
npistringNational Provider Identifier, or null.
specialtystringPrimary specialty.
specialtiesstring[]All listed specialties.
practiceNamestringPractice or clinic name.
phonestringOffice phone number (requires withDetails).
addressStreetstringStreet address, or null.
citystringCity.
statestringTwo-letter state code.
zipstringZIP code.
latitudenumberLatitude, or null.
longitudenumberLongitude, or null.
ratingnumberAverage patient rating out of 5.
reviewCountintegerNumber of patient ratings.
yearsExperienceintegerYears of experience, or null.
medicalSchoolstringMedical school, or null.
acceptsNewPatientsbooleanWhether the provider is accepting new patients.
languagesstring[]Languages spoken.
hospitalAffiliationsstring[]Affiliated hospitals.
awardsstring[]Awards and recognitions.
boardCertificationsobject[]Board certifications, each with certificationName and accreditingBoard.
boardCertifiedbooleantrue when the provider holds at least one board certification.
genderstringProvider gender.
telehealthbooleanWhether the provider offers telehealth / virtual visits.
acceptedInsurancestring[]Accepted insurance plans and carriers.
descriptionstringProfile summary text, or null.
searchQuerystringSearch query that produced this record.
searchCitystringSearch city that produced this record.
sourcestringData source. Always Healthgrades.
observedAtstringISO 8601 timestamp of when the record was collected.
enrichedEmailstringPublic contact email from the contact add-on, or null.
enrichedContactNamestringContact person name from the contact add-on, or null.
enrichedJobTitlestringContact job title from the contact add-on, or null.
enrichedEmailStatusstringEmail verification status from the contact add-on, or null.
enrichedSourcestringSource URL of the enriched contact, or null.
enrichedConfidencenumberConfidence of the enriched contact, or null.
aiProfileSummarystringAI profile summary (add-on), or null.
aiLeadScoreintegerAI outreach lead score 0 to 100 (add-on), or null.
aiLeadScoreRationalestringShort rationale for the AI lead score (add-on), or null.
errorstringnull 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:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "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 (result event). 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 error field and does not charge for it. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on 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.

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.