WebMD Doctor Scraper 🩺
Pricing
from $1.49 / 1,000 results
WebMD Doctor Scraper 🩺
Efficiently extract detailed doctor profiles, practice locations, and medical ratings from WebMD. This lightweight actor is optimized for speed and data accuracy. To ensure smooth operation and prevent blocking, using residential proxies is highly recommended.
Pricing
from $1.49 / 1,000 results
Rating
5.0
(3)
Developer
Shahid Irfan
Maintained by CommunityActor stats
1
Bookmarked
22
Total users
4
Monthly active users
2 days ago
Last modified
Categories
Share
What does WebMD Doctor Scraper do?
WebMD Doctor Scraper collects physician and healthcare provider records from the public WebMD doctor directory. Enter a specialty, state, or city, or paste a WebMD directory URL, and the Actor returns structured provider data with names, specialties, ratings, locations, contact details, and profile links.
Use it to build healthcare lead lists, research provider coverage, enrich CRM records, or refresh a provider dataset on a schedule without manual copy-paste.
Why use WebMD Doctor Scraper?
- Structured provider data - Get clean records instead of copying details from individual profile pages.
- Location targeting - Collect providers by specialty, state, and city, or start from a specific directory URL.
- Automatic pagination - Continue across result pages until your requested count or page limit is reached.
- Duplicate control - Avoid repeated providers when multiple pages return overlapping results.
- Automatic recovery - Temporary request failures are retried, and runs stop with a clear error when a real problem occurs.
- Export-ready output - Download the dataset as JSON, CSV, Excel, XML, or connect it to your workflow.
- Scheduling and integrations - Refresh data on a schedule and send results to sheets, CRMs, or webhooks.
What data can you extract from WebMD?
| Field | Description |
|---|---|
name | Full provider name |
specialty | Primary medical specialty |
address | Full practice address |
phone | Practice phone number when published |
rating | Overall patient rating when available |
reviewCount | Number of patient reviews |
npi | National Provider Identifier when available |
url | Direct WebMD profile URL |
latitude | Practice latitude when available |
longitude | Practice longitude when available |
The Actor also returns degrees, gender, profile type, specialty IDs, insurance values, education, awards, appointment links, campaign labels, and location metadata when WebMD publishes them.
How to use WebMD Doctor Scraper
- Open the Actor on Apify Store.
- Enter a medical specialty and optionally a state or city.
- Set
results_wantedandmax_pagesfor the run size. - Choose a proxy configuration if you plan larger collections.
- Run the Actor.
- Open the dataset to preview, filter, or export the results.
You can also paste one or more WebMD directory URLs in startUrls to control the starting pages directly.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startUrls | Array of String | No | - | WebMD directory URLs to scrape. When provided, these override specialty, state, and city. |
specialty | String | No | "family-medicine" | Medical specialty slug such as family-medicine, cardiology, dermatology, or pediatrics. When no state or city is provided, the Actor uses the first available state listing for that specialty. |
state | String | No | "" | State slug such as california, texas, or new-york. |
city | String | No | "" | City slug such as los-angeles or houston. |
location | String | No | "" | Legacy location input for older tasks. |
results_wanted | Integer | No | 50 | Maximum number of provider records to save. |
max_pages | Integer | No | 10 | Maximum number of listing pages to visit per listing URL. |
proxyConfiguration | Object | No | { "useApifyProxy": true } | Proxy configuration for the run. Apify Proxy is recommended for larger collections. |
Output Data
Each dataset item can include the following fields.
| Field | Type | Description |
|---|---|---|
providerId | String | Unique provider identifier. |
profileRecordId | String | Listing record identifier. |
npi | String | National Provider Identifier when available. |
name | String | Full provider name. |
firstName | String | First name. |
middleName | String | Middle name when available. |
lastName | String | Last name. |
suffix | String | Name suffix when available. |
degree | String | Degree abbreviation when available. |
gender | String | Gender label when available. |
specialty | String | Primary specialty. |
specialties | Array of String | Specialty list from the listing. |
specialtyIds | Array | Specialty ID list when available. |
profileType | String | Profile tier or type label. |
address | String | Full formatted address. |
address_street | String | Street address. |
address_city | String | City. |
address_state | String | State code. |
address_zip | String | ZIP code. |
stateFullName | String | Full state name when available. |
stateSlug | String | State slug. |
citySlug | String | City slug. |
phone | String | Practice phone number when available. |
website | String | Practice website when available. |
appointmentUrl | String | Appointment link when available. |
rating | Number | Overall rating when available. |
rating_1 | Number | First rating component. |
rating_2 | Number | Second rating component. |
rating_3 | Number | Third rating component. |
rating_4 | Number | Fourth rating component. |
reviewCount | Number | Number of patient reviews. |
bio | String | Provider summary text. |
bio_text | String | Cleaned summary text. |
graduationYear | Number | Graduation year when available. |
education | Array of String | Parsed education values when available. |
insurance | Array of String | Accepted insurance values when available. |
awards | Array | Provider awards when available. |
campaignText | String | Campaign label when available. |
campaignLogo | String | Campaign logo URL when available. |
image | String | Provider image URL. |
url | String | Provider profile URL. |
locationId | String | Location identifier. |
locationEntityId | String | Location entity identifier. |
locationMedicalGroup | String | Medical group name when available. |
acceptsMedicare | Boolean | Medicare acceptance when available. |
acceptsMedicaid | Boolean | Medicaid acceptance when available. |
acceptsNewPatients | Boolean | New patient acceptance when available. |
distanceMiles | Number | Distance value from the listing when available. |
latitude | Number | Practice latitude when available. |
longitude | Number | Practice longitude when available. |
source | String | Source domain label. |
Fields appear only when WebMD publishes the value for that provider.
Usage Examples
Basic specialty collection
Collect the first 50 family medicine providers. Because no state or city is supplied, the Actor selects the first available state listing for the specialty.
{"specialty": "family-medicine","results_wanted": 50}
State and city targeting
Collect pediatric providers in Houston, Texas, with room for multiple pages.
{"specialty": "pediatrics","state": "texas","city": "houston","results_wanted": 130,"max_pages": 3}
Multiple directory URLs
Collect from more than one WebMD directory page in the same run.
{"startUrls": ["https://doctor.webmd.com/providers/specialty/psychiatry/arizona/phoenix","https://doctor.webmd.com/providers/specialty/cardiology/texas/austin"],"results_wanted": 80,"max_pages": 1}
Sample Output
{"providerId": "2DE4F1BC-66BC-4747-8B84-42733E79E18F","profileRecordId": "4613564","npi": "1992975957","name": "Susan Jung Lee","firstName": "Susan","middleName": "Jung","lastName": "Lee","degree": "MD","gender": "Female","specialty": "Family Medicine","specialties": ["Family Medicine"],"specialtyIds": [29259],"profileType": "Basic","address": "27231 La Paz Rd Ste A, Laguna Niguel, CA, 92677","address_street": "27231 La Paz Rd Ste A","address_city": "Laguna Niguel","address_state": "CA","address_zip": "92677","stateFullName": "California","stateSlug": "california","citySlug": "laguna-niguel","rating": 5,"rating_1": 5,"reviewCount": 334,"bio": "Dr. Susan Lee brings 20 years of experience to her family medicine practice at Providence Mission Hospital.","bio_text": "Dr. Susan Lee brings 20 years of experience to her family medicine practice at Providence Mission Hospital.","graduationYear": 2006,"campaignText": "Yext basic campaign","campaignLogo": "http://img.webmd.com/lhd/provider_prod/logo/yext.png","image": "https://img.lb.wbmdstatic.com/lhd/provider/1114262_79c6c258-4ce9-451e-94ed-16c283603bc2.jpg","url": "https://doctor.webmd.com/doctor/susan-lee-2de4f1bc-66bc-4747-8b84-42733e79e18f-overview","locationId": "A9112880","locationEntityId": "9115132","acceptsMedicare": true,"acceptsNewPatients": false,"distanceMiles": 0,"latitude": 33.568891,"longitude": -117.708067,"source": "webmd.com"}
Tips for Best Results
- Add
stateorcitywhen you need a focused local dataset. - Provider titles such as
dermatologist,cardiologist, orpediatricianare mapped to the matching WebMD specialty automatically. - Start with 25 to 100 results to check field coverage before running a large collection.
- Increase
max_pageswhen your target count is larger than a single page. - Use Apify Proxy for larger runs and long schedules.
- Optional fields such as phone, insurance, and awards are not present for every provider.
- Directory pages change over time. If a run returns fewer fields or no records, check the run log and report the issue through the Issues tab.
Integrations
- Google Sheets - Send provider lists to a spreadsheet for review and sharing.
- Airtable - Build searchable healthcare lead tables.
- Make or Zapier - Start enrichment and follow-up workflows automatically.
- Webhooks - Push run results to your own systems.
- Apify API - Access dataset items from your applications.
Export Formats
- JSON - Application workflows and APIs.
- CSV - Spreadsheet analysis.
- Excel - Business reporting.
- XML - System integration pipelines.
Frequently Asked Questions
Does the run stop at my requested result count?
Yes. The Actor stops once results_wanted records are saved or the page limit is reached.
What happens if I only provide a specialty?
WebMD's specialty-only page is a directory index rather than a provider list. The Actor follows the first state listing shown on that page so the run returns real providers. Add state or city for full control.
Can I scrape by city only?
Yes. Provide city together with a matching state for the most reliable local results.
Can I scrape more than one directory page?
Yes. Add multiple entries in startUrls. The Actor processes them in order until the result target is reached.
Why are some fields missing in some records?
WebMD does not publish every field for every provider. Optional values appear only when the source data includes them.
Can I collect large datasets?
Yes. Increase results_wanted and max_pages, and use Apify Proxy for larger collections.
Can I run this Actor on a schedule?
Yes. Schedule it in Apify Console to refresh provider data hourly, daily, weekly, or at another interval.
Can I export the data to CSV or Excel?
Yes. Apify datasets can be downloaded as CSV, Excel, JSON, XML, and other supported formats.
What happens if WebMD changes its page layout?
The Actor validates each response and looks for provider records by their data shape. It falls back to profile links if structured data is missing, and it reports a clear error instead of silently finishing with an empty dataset.
Is this Actor suitable for non-technical users?
Yes. You can run it from Apify Console with form inputs and download the results without writing code.
Is it legal to scrape WebMD?
This Actor collects publicly available directory data. You are responsible for complying with applicable laws, WebMD's terms, and privacy rules in your jurisdiction.
Support
For issues, feature requests, or custom Actor work, use the Issues tab on the Actor page or contact the developer through Apify.
Legal Notice
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by WebMD. It is designed for legitimate collection of publicly available data. Users are responsible for using the data responsibly and complying with applicable laws and website terms.