WebMD Scraper — Doctors, Reviews & Provider Leads
Pricing
from $12.00 / 1,000 provider scrapeds
WebMD Scraper — Doctors, Reviews & Provider Leads
Scrape WebMD doctors & healthcare providers by specialty and location. Get NPI, specialties, ratings, patient reviews, board certifications, accepted insurance, all practice locations, phones, fax & leads — plus optional practice-email enrichment and monitoring. No login, no key, no browser.
Pricing
from $12.00 / 1,000 provider scrapeds
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 hours ago
Last modified
Categories
Share
WebMD Scraper — Doctors, Reviews & Provider Leads (NPI, Insurance, Phones & Emails)
Extract complete doctor & healthcare-provider data from the WebMD physician directory — search by specialty and location (or paste profile URLs) and get the richest provider dataset in the category: NPI, specialty and sub-specialty expertise, star rating and review count, biography, years of experience, board certifications, state licenses, languages, conditions treated, procedures performed, accepted insurance, every practice location with phone, fax and geo, hospital affiliations and patient-experience scores. Optionally turn each provider into a ready-to-contact lead by crawling their practice website for emails, phone numbers and social links.
No login, no API key, no browser — fast JSON extraction straight from WebMD's own page data, reliable through the default Apify proxy.
Why this WebMD scraper?
Most "doctor scrapers" return a name, a rating and not much else. This actor reads WebMD's full embedded provider state and ships every field, then adds the lead-gen layer competitors skip.
| Data | Typical scrapers | This actor |
|---|---|---|
| NPI number | ❌ | ✅ |
| Specialty + sub-specialty expertise | partial | ✅ |
| Star rating + review count | ✅ | ✅ |
| Full patient reviews (text, rating, date, reply) | ❌ | ✅ opt-in |
| Biography / years of experience | ❌ | ✅ |
| Board certifications + state licenses | ❌ | ✅ |
| Conditions treated + procedures performed | ❌ | ✅ |
| Accepted insurance (named plans) + Medicare/Medicaid | ❌ | ✅ |
| Every practice location (address, phone, fax, hours, geo) | partial | ✅ |
| Hospital affiliations | ❌ | ✅ |
| Practice website + contact emails (lead wedge) | ❌ | ✅ opt-in |
| Lead score (0–100) | ❌ | ✅ |
| Monitor mode — only new providers | ❌ | ✅ |
Use cases
- Healthcare lead generation — medical practices buy EHR/RCM software, medical supplies, marketing, staffing, insurance and equipment. Score providers by reputation and contactability (
leadScore) and reach them directly (phone,fax,contactEmails). - Provider network & directory building — power referral apps, "find a doctor" tools and insurance directories with structured, NPI-keyed provider data for any specialty and city.
- Market & competitive intelligence — map provider density, ratings, accepted insurance and accepting-new-patients status by specialty and metro.
- Reputation & review monitoring — track ratings and patient reviews for a specialty or a specific provider over time.
- Recruiting — find physicians by specialty, sub-specialty, location, languages and credentials.
How to use
- Sign up for Apify — the free plan is enough to try this actor.
- Open the WebMD Scraper, enter specialties and locations (or paste WebMD URLs), and click Start.
- Watch results stream into the dataset table.
- Export as JSON, CSV, Excel, XML, or RSS — or pull results programmatically via the Apify API.
Input
{"specialties": ["cardiovascular-disease", "Dentist"],"locations": ["texas/austin", "Miami, FL"],"maxResults": 200,"acceptingNewPatientsOnly": true,"includeProviderDetails": true,"includeReviews": true,"enrichPracticeEmails": true,"monitorMode": false}
- specialties — friendly names (
Cardiology,Dentist,OB-GYN,Psychiatry) or WebMD slugs (cardiovascular-disease,family-medicine,dermatology,pediatrics,psychology,orthopaedic-surgery, …). Combined with every location. - locations —
state/city(texas/austin), a plainCity, ST(Austin, TX), or a whole state (texas). City-level searches return the most providers. - startUrls — direct WebMD doctor profiles (
/doctor/…-overview) or browse pages (/providers/specialty/…). - acceptingNewPatientsOnly / minRating / gender — filters.
- includeProviderDetails (default true) — fetch each profile for the full record (bio, certifications, licenses, languages, conditions, procedures, insurance, all locations, hospital affiliations). One extra page per provider.
- includeReviews (default false) — emit patient reviews as separate records.
- enrichPracticeEmails (default false) — crawl the provider's own practice website (home + contact/about) for emails, phones and socials. WebMD never exposes emails — this is the only way to get them.
- monitorMode (default false) — remember providers from previous runs and emit only new ones next time. Perfect with Schedules.
Output
One record per provider (type: "provider"), plus optional review records (type: "review"):
{"type": "provider","npi": "1285849406","fullName": "Francia Rojas","gender": "female","degree": "MD","specialty": "Cardiovascular Disease","specialties": ["Cardiovascular Disease", "Electrophysiology"],"expertise": ["Electrophysiology"],"bio": "Dr. Francia Rojas is a board-certified cardiac electrophysiologist…","rating": 4,"reviewCount": 4,"acceptsNewPatients": true,"boardCertifications": [{ "board": "Cardiovascular Disease", "issuer": "American Board of Internal Medicine", "year": "2026" }],"languages": ["Spanish", "English"],"conditionsTreated": ["Atrial fibrillation and atrial flutter", "Bradycardia (slow heartbeat)"],"proceduresPerformed": ["Cardiac devices implantation (pacemakers, defibrillators, loop recorders)"],"insuranceCount": 29,"insuranceAccepted": ["Aetna", "Cigna", "Humana", "UnitedHealthcare"],"acceptsMedicare": true,"acceptsMedicaid": true,"practiceName": "CLS Health Electrophysiology","city": "Sugar Land","state": "TX","postalCode": "77478","phone": "3463476654","fax": null,"officeCount": 4,"offices": [{ "name": "CLS Health Electrophysiology", "street": "14100 Southwest Fwy Ste 500", "city": "Sugar Land", "state": "TX", "postalCode": "77478", "phone": "3463476654", "latitude": 29.6171, "longitude": -95.60594, "acceptsMedicare": true }],"hospitalAffiliations": [{ "name": "Houston Methodist Sugar Land Hospital", "url": "https://doctor.webmd.com/hospital/…" }],"patientExperience": [{ "aspect": "Listened and answered questions", "didWell": 2, "needsImprovement": 0 }],"website": "https://providers.example.health/francia-rojas","contactEmails": ["info@clshealth.com"],"profileUrl": "https://doctor.webmd.com/doctor/francia-rojas-delgado-…-overview","leadScore": 63,"searchSpecialty": "cardiovascular-disease","searchLocation": "texas/austin","scrapedAt": "2026-06-15T00:00:00.000Z"}
Automate & schedule
Run this actor on autopilot and pull results into your own stack:
- Apify API — start runs, fetch datasets, and manage schedules over REST.
- apify-client for JavaScript and apify-client for Python — official SDKs.
- Schedules — run it daily/weekly with
monitorModeto capture only newly listed providers; perfect for lead pipelines and directory refreshes. - Webhooks — trigger downstream actions (CRM import, Slack alert, email sequence) the moment a run finishes.
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });const run = await client.actor('scrapesage/webmd-scraper').call({specialties: ['cardiovascular-disease'],locations: ['texas/austin'],maxResults: 200,enrichPracticeEmails: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Got ${items.length} providers & leads`);
Integrate with any app
Connect the dataset to 5,000+ apps — no code required:
- Make — multi-step automation scenarios.
- Zapier — push new provider leads straight into your CRM.
- Slack — get notified when a monitored search finds new providers.
- Google Drive / Sheets — auto-export every run to a spreadsheet.
- Airbyte — pipe results into your data warehouse.
- GitHub — trigger runs from commits or releases.
Use with AI assistants (MCP)
The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server — ask your assistant to "find cardiologists in Austin accepting new patients and list their practice contacts" and let it run this scraper for you.
More scrapers from scrapesage
Build a complete lead-gen stack with our other actors:
- Healthgrades Scraper — doctors, reviews & provider leads from Healthgrades (the perfect companion to this WebMD actor).
- Companies House Scraper — UK companies, directors & PSCs.
- SAM.gov Scraper — federal contract opportunities & contacts.
- Eventbrite Scraper — events + organizer leads.
- LinkedIn Jobs Scraper — job postings as hiring-intent signals.
- Product Hunt Scraper — launches, makers & leads.
- Apple Podcasts Scraper — shows, episodes & host leads.
- Google Play Scraper — apps, reviews & developer leads.
Tips
- Specialty slugs: friendly names are auto-mapped (
Cardiology→cardiovascular-disease), but exact WebMD slugs always work. Browse doctor.webmd.com/providers/specialty for the full list. - Exhaust a metro: WebMD returns ~60 providers per page and paginates automatically; raise
maxResultsPerSearchto go deeper, or split by specialty. - Cost control: profile fetches and email enrichment are per-provider — keep
includeProviderDetailson (cheap, one page) and turn onenrichPracticeEmailsonly when you need emails. - Proxies: the default Apify Proxy (datacenter) is enough — WebMD serves clean pages to it.
FAQ
How do I scrape doctors for a specific city? Put state/city in locations (e.g. texas/austin) or a plain Austin, TX, and add one or more specialties. City-level searches return the most providers.
Where do the emails come from? Never from WebMD (it doesn't publish emails). With enrichPracticeEmails on, the actor visits the provider's own practice website and extracts publicly listed contact emails — the same thing a human visitor would see.
Can I export to Google Sheets, CSV, or Excel? Yes — one click in the dataset view, or automatically on every run via the Google Drive integration.
How do I monitor new providers automatically? Turn on monitorMode and create a Schedule. Each run emits only providers not seen before — it does not conflict with the scheduler.
Is scraping WebMD legal? This actor collects publicly available data only. You are responsible for using the data in compliance with applicable laws (GDPR/CCPA for personal data) and WebMD's terms.
A field is null — why? Some providers genuinely don't publish a website, fax, or full bio. Fields are null only when the data doesn't exist, not because the scraper skipped them.
Need help?
Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome — this actor is actively maintained.