WebMD Doctor Scraper avatar

WebMD Doctor Scraper

Pricing

from $2.50 / 1,000 doctor profiles

Go to Apify Store
WebMD Doctor Scraper

WebMD Doctor Scraper

[πŸ’° $2.5 / 1K] Extract US doctors and physicians from WebMD β€” names, specialties, NPI, education, practice locations, phones, insurance accepted, ratings, and patient reviews. Search by specialty and location, or paste WebMD profile or search URLs.

Pricing

from $2.50 / 1,000 doctor profiles

Rating

0.0

(0)

Developer

SolidCode

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Pull structured US doctor and physician data from WebMD's "Find a Doctor" directory at scale β€” full profiles, NPI numbers, specialties, practice locations with geocoordinates, accepted insurances, star ratings, and patient reviews. Search by specialty and location, or paste WebMD URLs, and get clean, ready-to-use rows instead of hand-copied profiles. Built for healthcare recruiters, medical directory and referral platforms, and market researchers who need reliable physician data without working through WebMD one profile at a time.

Why This Scraper?

  • Search by specialty and location, no URLs required β€” type "Cardiology" near "New York, NY" or a ZIP code and get matching doctors; the URL-only alternatives make you hand-build every search link.
  • National Provider Identifier (NPI) on every doctor β€” the standard registry ID that keys straight into Medicare, claims, and credentialing systems.
  • Patient reviews as separate, linkable rows β€” each review ships as its own record joined to its doctor by doctorProviderId, ready to drop into a spreadsheet β€” not buried in a nested array you have to unpack.
  • Category-level patient-experience scores β€” per-question "did well" versus "needs improvement" counts with a computed positive-percent, alongside the overall star rating and total review count.
  • Full accepted-insurance lists β€” every named plan a doctor takes, with a total count, plus new-patient, Medicare, and Medicaid acceptance flags.
  • Every practice location with geocoordinates β€” name, street address, city, state, ZIP, formatted phone, and lat/lng for each of a doctor's offices, not just the primary one.
  • Complete education and credential trail β€” medical school, degrees (MD, DO), each training institution with its graduation year, and total years in practice.
  • Hospital affiliations, languages, and direct contacts β€” affiliated hospitals, languages spoken, practice website, and published contact emails where WebMD lists them.
  • Nationwide US coverage β€” the entire WebMD "Find a Doctor" directory, from dense metros to rural ZIP codes.

Use Cases

Healthcare Recruiting & Staffing

  • Build targeted candidate lists of physicians by specialty and metro
  • Screen by years in practice, medical school, and hospital affiliations
  • Reach practices directly with published phone numbers and office emails
  • Spot growth-ready practices by their new-patient availability

Referral & Directory Building

  • Populate provider directories with NPI, specialties, and locations
  • Keep referral networks current with ratings and accepted insurances
  • Match patients to nearby in-network doctors using geocoordinates
  • Enrich existing physician records with full WebMD profile details

Market & Competitive Research

  • Map physician supply by specialty across cities and ZIP codes
  • Analyze accepted-insurance coverage across a local market
  • Compare average ratings and review volume between practices
  • Study patient-experience scores by specialty or region

Reputation & Review Monitoring

  • Track patient reviews and star ratings for a set of doctors
  • Analyze category-level "did well" scores across a practice
  • Surface highlighted reviews and recurring patient themes
  • Benchmark a practice's ratings against local peers

Lead Generation & Outreach

  • Build medical-practice contact lists with phone, website, and email
  • Target doctors accepting new patients or a specific insurance plan
  • Segment leads by specialty, location, and rating

Getting Started

Search by Specialty and Location

The simplest way to start β€” one specialty and one place:

{
"specialty": "Cardiology",
"location": "New York, NY"
}

Focused Run with Capped Reviews

Tighten the geography with a ZIP and limit reviews per doctor:

{
"specialty": "Dermatology",
"location": "10016",
"maxResults": 50,
"includeReviews": true,
"maxReviewsPerDoctor": 10
}

Doctors Only (Faster, Cheaper)

Skip reviews entirely when you only need doctor and practice details:

{
"specialty": "Family Medicine",
"location": "Austin, TX",
"maxResults": 200,
"includeReviews": false
}

From WebMD URLs

Paste doctor profile URLs, search URLs, or a mix of both:

{
"startUrls": [
"https://doctor.webmd.com/doctor/jane-smith-a1b2c3d4-e5f6-7890-abcd-ef1234567890-overview",
"https://doctor.webmd.com/results?so=Cardiology&sc=New+York%2C+NY"
],
"maxResults": 100
}

Input Reference

What to Scrape

ParameterTypeDefaultDescription
startUrlsarray[]WebMD URLs β€” individual doctor profile pages or directory search-result pages. The page type is detected automatically. The most precise way to get exactly the doctors you want. When set, specialty and location are ignored.
specialtystring"Cardiology"Medical specialty to search for, e.g. "Cardiology", "Dermatology", or "Family Medicine". Combined with the location below. Leave empty to browse all doctors near the location.
locationstring"New York, NY"City and state (e.g. "New York, NY") or a ZIP code (e.g. "10016") to search near. Combined with the specialty above.

Results

ParameterTypeDefaultDescription
maxResultsinteger100Maximum number of doctors to collect across all URLs and searches. Set to 0 for no limit (a safety maximum of 1,000 still applies). Reviews are not counted against this limit.
includeReviewsbooleantrueCollect each doctor's patient reviews (rating, comment, date, category scores). Turn off for faster, cheaper runs when you only need doctor and practice details.
maxReviewsPerDoctorinteger20Maximum reviews to collect for each doctor. Set to 0 to collect all available (up to a safety maximum of 1,000). Only applies when Include Patient Reviews is on.

Output

The output has two record types β€” doctors and patient reviews β€” and every row is clearly labelled as one or the other. The Overview tab holds every record; the Doctors and Patient reviews tabs are clean, type-filtered subsets of the same run.

Doctor Record

{
"recordType": "doctor",
"providerId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"npi": "1234567890",
"fullName": "Dr. Jane A. Smith, MD",
"firstName": "Jane",
"middleName": "A",
"lastName": "Smith",
"suffix": "MD",
"gender": "F",
"specialties": ["Cardiology", "Interventional Cardiology"],
"degrees": ["MD"],
"graduationYear": 2004,
"yearsOfExperience": 21,
"bio": "Dr. Jane Smith is a cardiologist in New York, NY with over 20 years of experience.",
"profilePhoto": "https://img.wbmdstatic.com/doctor/jane-smith.jpg",
"languages": ["English", "Spanish"],
"medicalSchool": "Columbia University College of Physicians and Surgeons",
"education": [
{ "type": "Medical School", "institution": "Columbia University College of Physicians and Surgeons", "graduationYear": 2004 },
{ "type": "Residency", "institution": "NewYork-Presbyterian Hospital", "graduationYear": 2007 }
],
"hospitalAffiliations": ["NewYork-Presbyterian Hospital", "Mount Sinai Hospital"],
"rating": 4.42,
"reviewCount": 87,
"textReviewCount": 41,
"categoryRatings": {
"question_1": { "didWell": 78, "needsImprovement": 9, "positivePercent": 89.7 }
},
"patientHighlights": ["Listens & answers questions", "Spends enough time with patients"],
"careExperienceSummary": "Patients highlight clear explanations and short wait times.",
"insurances": ["Aetna", "Cigna", "UnitedHealthcare", "Blue Cross Blue Shield"],
"insuranceCount": 42,
"acceptsNewPatients": true,
"acceptsMedicare": true,
"acceptsMedicaid": false,
"practiceName": "Manhattan Cardiology Associates",
"address": "115 E 61st St",
"city": "New York",
"state": "NY",
"zipCode": "10065",
"coordinates": { "lat": 40.7638, "lng": -73.9662 },
"phone": "(212) 555-0134",
"websiteUrl": "https://manhattancardiology.example.com",
"locations": [
{
"practiceName": "Manhattan Cardiology Associates",
"address": "115 E 61st St",
"city": "New York",
"state": "NY",
"zipCode": "10065",
"phone": "(212) 555-0134",
"coordinates": { "lat": 40.7638, "lng": -73.9662 },
"acceptsNewPatients": true,
"acceptsMedicare": true,
"acceptsMedicaid": false,
"websiteUrl": "https://manhattancardiology.example.com"
}
],
"emails": ["office@manhattancardiology.example.com"],
"profileUrl": "https://doctor.webmd.com/doctor/jane-smith-a1b2c3d4-e5f6-7890-abcd-ef1234567890-overview",
"sourceUrl": "https://doctor.webmd.com/results?so=Cardiology&sc=New+York%2C+NY"
}

Identity & Specialty

FieldTypeDescription
recordTypestringAlways "doctor" for this record type
providerIdstringWebMD provider ID β€” the join key for linked reviews
npistringNational Provider Identifier
fullNamestringFull display name
firstNamestringFirst name
middleNamestringMiddle name or initial
lastNamestringLast name
suffixstringCredential suffix (e.g. MD, DO)
genderstringDoctor gender code β€” "M" or "F"
specialtiesstring[]All listed specialties
degreesstring[]Degrees held (e.g. MD, DO)

Education & Credentials

FieldTypeDescription
medicalSchoolstringPrimary medical school
educationobject[]Training history: type, institution, graduationYear
graduationYearnumberYear of primary graduation
yearsOfExperiencenumberTotal years in practice
hospitalAffiliationsstring[]Affiliated hospitals
languagesstring[]Languages spoken
biostringProfile biography
profilePhotostringProfile photo URL

Ratings & Reviews Summary

FieldTypeDescription
ratingnumberAverage patient rating on a 0–5 scale
reviewCountnumberTotal number of patient ratings
textReviewCountnumberNumber of reviews that include written text
categoryRatingsobjectPer-question patient-experience scores with didWell, needsImprovement, and positivePercent
patientHighlightsstring[]Highlighted "did well" themes from patients
careExperienceSummarystringShort summary of the care experience

Practice Locations

FieldTypeDescription
practiceNamestringPrimary practice or clinic name
addressstringPrimary street address
citystringPrimary city
statestringPrimary state
zipCodestringPrimary ZIP code
coordinatesobjectPrimary { lat, lng }
phonestringPrimary practice phone (formatted)
websiteUrlstringPrimary practice website
acceptsNewPatientsbooleanWhether the doctor accepts new patients
acceptsMedicarebooleanWhether Medicare is accepted
acceptsMedicaidbooleanWhether Medicaid is accepted
locationsobject[]Every practice location with its own address, phone, coordinates, and acceptance flags

Insurance & Contact

FieldTypeDescription
insurancesstring[]Named insurance plans accepted
insuranceCountnumberTotal number of accepted plans
emailsstring[]Published contact emails, when available
profileUrlstringWebMD profile URL
sourceUrlstringThe search or profile URL this doctor came from

Patient Review Record

Present only when Include Patient Reviews is on. Each review links back to its doctor via doctorProviderId, doctorName, and doctorProfileUrl.

{
"recordType": "review",
"reviewId": "r-58213904",
"doctorProviderId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"doctorName": "Dr. Jane A. Smith, MD",
"doctorProfileUrl": "https://doctor.webmd.com/doctor/jane-smith-a1b2c3d4-e5f6-7890-abcd-ef1234567890-overview",
"reviewerName": null,
"rating": 5,
"categoryRatings": { "criteria_2": 5, "criteria_3": 4 },
"title": "Excellent",
"text": "Dr. Smith took the time to explain every option and never rushed the visit.",
"date": "2026-04-14T18:40:46Z",
"isHighlighted": true,
"helpfulCount": 6,
"reply": null,
"hasText": true
}
FieldTypeDescription
recordTypestringAlways "review" for this record type
reviewIdstringUnique review ID
doctorProviderIdstringParent doctor's provider ID (join key)
doctorNamestringParent doctor's name, for standalone context
doctorProfileUrlstringParent doctor's WebMD profile URL
reviewerNamestringReviewer name (WebMD reviews are anonymous, so this is null)
ratingnumberOverall review rating on a 0–5 scale
categoryRatingsobjectPer-category scores for this review
titlestringShort review headline (e.g. "Excellent")
textstringFull review body
datestringPublish date, ISO 8601 UTC
isHighlightedbooleanWhether WebMD highlighted the review
helpfulCountnumberCount of readers who marked it helpful
replystringPractice reply to the review, when present
hasTextbooleanWhether the review includes written text

Tips for Best Results

  • Use a ZIP code for tight geo-targeting β€” "10016" pins results to one neighborhood, while "New York, NY" spans the entire metro. ZIP searches give cleaner, more local lists.
  • Use a recognized medical specialty β€” "Cardiology", "Dermatology", or "Family Medicine" resolve cleanly; obscure or misspelled terms fall back to browsing all doctors near the location.
  • Cap reviews per doctor in high-volume metros β€” popular doctors can have hundreds of reviews. A maxReviewsPerDoctor of 10–20 keeps runs fast, predictable, and lower cost.
  • Turn off Include Patient Reviews for a doctors-only run β€” it skips review collection entirely when you only need profiles, locations, and insurance.
  • Start small, then scale β€” set maxResults to 10–50 on your first run to confirm the data fits your needs, then increase.
  • Paste WebMD URLs for precise control β€” profile URLs pull one exact doctor; search URLs re-run any filtered WebMD search. When you supply URLs, specialty and location are ignored.
  • Join reviews to doctors on doctorProviderId β€” every review row carries its parent doctor's ID, name, and profile URL, so the two record types line up cleanly in a spreadsheet or database.

Pricing

Pay per result β€” from $2.50 per 1,000 doctors plus $0.50 per 1,000 reviews (Gold tier). Reviews are priced about 5Γ— lower than doctors because they are bulk child records. There are no compute or time-based charges β€” you pay per doctor and per review collected, plus a small fixed per-run start fee. Bronze, Silver, and Gold loyalty discounts apply automatically in the Console, with Gold the lowest.

Doctors

DoctorsNo discountBronzeSilverGold
100$0.30$0.28$0.26$0.25
1,000$3.00$2.80$2.60$2.50
10,000$30.00$28.00$26.00$25.00
100,000$300.00$280.00$260.00$250.00

Patient Reviews

ReviewsNo discountBronzeSilverGold
100$0.06$0.055$0.052$0.05
1,000$0.60$0.55$0.52$0.50
10,000$6.00$5.50$5.20$5.00
100,000$60.00$55.00$52.00$50.00

Estimate Your Run (Gold tier)

RunDoctorsReviewsDoctor costReview costTotal
Quick test1001,000$0.25$0.50$0.75
Specialty sweep1,00015,000$2.50$7.50$10.00
Metro-wide10,000150,000$25.00$75.00$100.00

Set includeReviews to false, or lower maxReviewsPerDoctor, to cut the review portion of the cost. Platform fees (storage and data transfer) depend on your Apify plan and are additional.

Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

  • Zapier / Make / n8n β€” Workflow automation
  • Google Sheets β€” Direct spreadsheet export
  • Slack / Email β€” Notifications on new results
  • Webhooks β€” Trigger custom APIs on run completion
  • Apify API β€” Full programmatic access

This actor collects publicly available doctor and practice information for legitimate research, recruiting, directory, and market-analysis purposes. Users are responsible for complying with applicable laws and WebMD's Terms of Service. Do not use the data for spam, harassment, or any unlawful purpose, and do not treat patient reviews or profile details as protected health information. Always handle collected data responsibly and in line with relevant privacy regulations.