ParseForge Scrapers

Doximity Physician Directory Scraper

parseforge/doximity-scraper

AutomationSocial media

Scrapes Doximity physician directory listings by specialty and US state. Returns each provider as a flat row with name, NPI, subspecialties, board certifications, and hospital affiliations. Optionally fetches full profile details including education, publications, and awards.

Run this scraper See the API call
Total users
19
Monthly active
2
Total runs
196
Bookmarked
0
Rating
Not rated yet
Last modified
12 days ago

Overview

ParseForge

Doximity Physician Directory Scraper

Scrape Doximity physician profiles by specialty and state, up to a million per run. Each record returns the doctor's name, NPI, subspecialties, board certifications, and hospital affiliations. Optionally fetch full profile details including education, publications, and awards. Export to CSV, JSON, Excel, or XML.

Doximity's physician directory is a primary source for verified clinician data, but manually searching and copying profiles is slow and does not scale. This Actor reads the public directory pages directly, letting you collect structured physician records filtered by medical specialty and US state. You get a clean dataset of provider information without writing any code or managing browser sessions.

Who uses it What they scrape Doximity for
Healthcare recruiters Build a target list of physicians by specialty and location for outreach campaigns.
Medical device sales teams Identify practicing specialists in a territory to qualify leads.
Market researchers Analyze the distribution of medical specialties across different states.
Pharmaceutical companies Map key opinion leaders and prescribing physicians for a specific therapeutic area.

What it does

This Actor collects Doximity physician directory listings by specialty, state, or direct URL, and returns each provider as a flat row with optional full profile details.

  • πŸ₯ Specialty and state filters: Select from 39 medical specialties and all 50 US states plus DC to target your search precisely.
  • πŸ“„ Full profile details: Optionally fetch each physician's education, residency, fellowship, board certifications, awards, publications, and professional memberships.
  • πŸ”— Direct URL input: Paste a specific Doximity directory URL to scrape a custom search or a pre-filtered list.
  • βš™οΈ Configurable concurrency: Control the request rate with adjustable concurrency and delay settings to avoid rate limiting.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Doximity data

πŸ“‹ Build a physician recruitment list.

A healthcare recruiter scrapes all cardiologists in Texas to create a CSV of potential candidates for an open position at a Dallas hospital.

πŸ—ΊοΈ Map specialist density by region.

A market analyst collects counts of neurologists across every US state to identify underserved areas for a new clinic launch.

🎯 Qualify sales leads for a medical device.

A sales team scrapes orthopedic surgeons in California and cross-references hospital affiliations to prioritize accounts with the highest surgical volume.

πŸ”¬ Identify key opinion leaders for a clinical trial.

A pharmaceutical researcher fetches full profiles of oncologists in New York, filtering by publications and board certifications to find potential principal investigators.

Why choose this scraper

What you get
No API required Access public Doximity directory data without an API key or registration.
Structured output Get a consistent schema with name, NPI, subspecialties, hospital affiliations, and more.
Scalable collection Collect up to a million physician profiles in a single run.
Optional deep profiles Toggle full profile fetching to include education, publications, and awards when needed.

How it compares

No other Store actor targets Doximity the same way, so the honest comparison is with the alternatives teams actually weigh.

Doximity Physician Directory Scraper Build it in-house By hand
Setup Run it now, zero config Days of engineering None, but hours per pull
When Doximity changes Maintained for you You fix it You re-learn the page
Proxies, retries, anti-bot Built in Your problem Browser only
Output Fixed JSON schema, CSV/Excel export Whatever you build Copy-paste
Cost Pay per result Engineering time Analyst hours

Configure the run

Drive the Actor from a specialty and state combination, or paste a direct Doximity directory URL. Filters run as each listing is read so only matching physicians reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
  "maxItems": 10,
  "specialty": "cardiology",
  "includeDetails": false
}

A larger pull:

{
  "maxItems": 200,
  "specialty": "cardiology",
  "includeDetails": false
}

Pricing

Pay-per-result: $0.0036 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $0.36
1,000 results $3.60
10,000 results $36.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Doximity Physician Directory Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Doximity through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/doximity-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that your specialty and state combination is valid. Some specialties may have few or no listings in certain states. Try a broader filter or use a direct Doximity directory URL to verify the search works in a browser first.

The run is taking too long with full profile details enabled.

Fetching full profiles visits each physician's individual page, which multiplies the number of requests. Reduce the max items, or disable 'Include Full Profile Details' for a faster directory-level scrape.

I am getting rate-limited or seeing errors.

Lower the max concurrency to 1 or 2 and increase the request delay to 1000 ms or more. This slows the Actor down but reduces the chance of being blocked.

The Start URL is not working.

Make sure the URL is a valid Doximity directory page that starts with the Doximity domain. The URL should look like a search results or directory listing page, not an individual physician profile.

Some fields are empty in my output.

Not every physician profile on Doximity has all fields populated. If a doctor has not listed their publications or awards, those fields will be blank. This is expected behavior reflecting the source data.

FAQ

Question Answer
Does this scraper require a Doximity login? No. This Actor reads the public-facing Doximity physician directory pages. No account, login, or API key is needed.
What data fields does the scraper return? The base output includes the physician's name, NPI number, specialty, subspecialties, board certifications, hospital affiliations, and location. When you enable full profile details, it also returns education, residency, fellowship, awards, publications, and professional memberships.
Can I scrape a specific list of doctors by URL? Yes. Paste any Doximity directory URL into the Start URL field, and the Actor will scrape that exact page. This overrides the specialty and state filters.
How do I filter by both specialty and state? Select a value from the Specialty dropdown and a state from the State dropdown. The Actor combines both to build the directory URL and returns only physicians matching both criteria.
Is it possible to scrape full profile details like education and publications? Yes. Enable the 'Include Full Profile Details' checkbox. The Actor will visit each physician's individual profile page to extract education, training, certifications, awards, and publications. This takes longer per record.
How many physician profiles can I collect in one run? You can set the maximum up to 1,000,000 providers. The actual number collected depends on how many physicians match your filters in the Doximity directory.
What export formats are supported? You can export your dataset in CSV, JSON, Excel, or XML format from the Apify platform.
Will I get blocked for scraping too fast? The Actor includes configurable request delay and concurrency settings. If you experience rate limiting, reduce the max concurrency and increase the request delay in the advanced options.
Can I run this scraper on a schedule? Yes. Apify supports scheduled runs. You can configure the Actor to run daily, weekly, or monthly to track changes in the physician directory over time.
Does this Actor work for non-US physicians? The Doximity directory is focused on US-based physicians. The state filter includes all 50 US states and the District of Columbia.

Related actors

  • healthgrades-scraper: Use this if you need physician reviews and patient satisfaction scores alongside provider data.

Browse the full ParseForge collection for more scrapers.

πŸ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Doximity, Inc. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
startUrl string Direct URL to a Doximity directory page (e.g. /directory/md/specialty/cardiology). If provided, specialty and state filters below are ignored. not set
maxItems integer How many providers to collect per run. 10
specialty string (39 options) Filter physicians by medical specialty (e.g. cardiology, dermatology, neurology). Used to build the directory URL. cardiology
state string (51 options) Filter physicians by US state (e.g. new-york, california). Combined with specialty if both are provided. not set
includeDetails boolean When enabled, fetches each physician's full profile page to extract education, certifications, awards, publications, and professional memberships. Slower but more complete data. false
maxConcurrency integer Maximum number of parallel requests. Lower this if you get rate-limited. 5
requestDelayMs integer Milliseconds to wait between requests. Increase if the site rate-limits you. 500

Pricing

from $3.00 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.003 to $0.0036

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST Β· run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~doximity-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run Doximity Physician Directory Scraper on Apify All scrapers