NPI Registry Scraper: US Doctors & Healthcare Provider Leads avatar

NPI Registry Scraper: US Doctors & Healthcare Provider Leads

Pricing

Pay per event

Go to Apify Store
NPI Registry Scraper: US Doctors & Healthcare Provider Leads

NPI Registry Scraper: US Doctors & Healthcare Provider Leads

Use this to build lists of US healthcare providers from the official NPI Registry (NPI registry scraper). Input: specialties in plain words plus states, cities or ZIP codes. Output: one de-duplicated row per provider with NPI, name, specialty, address and phone, plus Excel.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Panda Federation

Panda Federation

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

NPI registry scraper on Apify: clean, de-duplicated lists of US doctors, dentists, therapists, clinics and other healthcare providers by specialty and area, from the official NPPES NPI Registry, exported to Excel and CSV. Apify's free plan includes $5 of monthly platform credit, enough for roughly 3,333 providers at $0.0015 each (pricing below).

Build a clean, de-duplicated list of US healthcare providers for any territory. Type specialties in plain English ("dentist", "physical therapist", "urgent care"), pick states, cities or ZIP codes, and get one row per provider with practice address, phone, fax, taxonomy and license, plus an Excel workbook with a summary by specialty and city.

Most NPI tools are thin wrappers around the NPPES NPI Registry API, so they inherit its limits: 200 results per call, a hard ceiling of 1,200 results per search, exact taxonomy wording, and the same provider repeated across searches. NPI Provider Lists is built for territory lists instead:

  • 🗺️ No 1,200-result ceiling: big searches (say, every nurse practitioner in Colorado, about 8,400 providers) are split automatically by ZIP code and merged
  • 🧹 One row per provider: de-duplicated by NPI across specialties, cities, ZIPs and practice locations. A provider who matches two of your specialties appears once, with both listed
  • 🩺 Friendly specialty names: "family doctor", "cardiologist", "orthodontist", "LCSW", "home health agency" and 80+ others map to the right NPPES taxonomies. Results are re-checked against each provider's own taxonomies, so "physical therapist" doesn't return PT assistants
  • 📍 Real territory filtering: the registry matches a state or city on any address, including out-of-state mailing addresses. This Actor keeps only providers who practice in your territory, and shows the in-territory address when it's an additional practice location
  • 📊 Excel with a Summary sheet: counts by specialty, state and provider type, plus a city × specialty matrix (Saint Louis, St Louis and St. Louis are counted together). CSV and the search log are included
  • 🔒 Public registry data only: no email scraping, no guessing, no data from other sites
  • 💸 $0.0015 per provider. A 1,000-provider list costs $1.50. Searches that find nothing cost nothing

Who it's for

  • Healthcare sales and marketing teams (medical devices, pharma, labs, software, billing services) building territory lists for reps
  • Recruiters and staffing agencies sizing a market for a specialty in a region
  • Researchers, health-policy analysts and journalists counting providers by specialty and place
  • Practices and health systems mapping referral networks and competitors

How to use the NPI registry scraper

  1. Click Try for free and add one or more Specialties (plain names or NPPES taxonomy descriptions).
  2. Set the territory: states (VT), cities (Austin, TX) and/or ZIP codes (05401, or a prefix such as 941).
  3. Optional: individuals or organizations only, last/first or organization name (trailing * wildcard), primary specialty only.
  4. Set Maximum providers. You pay per provider, so this also caps the cost. With several specialties or areas, the limit is shared fairly, then any unused room goes to the ones that had more.
  5. Click Start. Most lists finish in under a minute. Download PROVIDERS_XLSX or PROVIDERS_CSV from Storage → Key-value store, or use the dataset via API.

Input example

{
"specialties": ["dentist", "orthodontist", "urgent care"],
"cities": ["Saint Louis, MO", "Austin, TX"],
"zipCodes": ["941"],
"providerType": "all",
"maxResults": 3000
}

Specialty names you can type

GroupFriendly names
Physiciansfamily doctor / family medicine, internist, general practice, pediatrician, cardiologist, dermatologist, psychiatrist, neurologist, ob-gyn, orthopedic surgeon, ophthalmologist, ENT, allergist, gastroenterologist, oncologist, endocrinologist, radiologist, anesthesiologist, emergency medicine, general surgeon, urologist, hospitalist
Dentaldentist, general dentist, orthodontist, oral surgeon, pediatric dentist, dental hygienist, dental clinic
Therapy & behavioral healthchiropractor, physical therapist, occupational therapist, speech therapist, massage therapist, acupuncturist, podiatrist, optometrist, audiologist, dietitian, psychologist, counselor, mental health counselor, social worker, clinical social worker / LCSW, marriage and family therapist, behavior analyst / ABA therapist
Nursing & mid-levelnurse practitioner, family nurse practitioner, psychiatric nurse practitioner, physician assistant, registered nurse, midwife, pharmacist
Organizationspharmacy, home health agency, hospice, nursing home, assisted living, hospital, urgent care, FQHC, rural health clinic, mental health clinic, ambulance, DME supplier, laboratory

Anything else is sent to the registry as typed, so any NPPES taxonomy description works too: Family Medicine, Nurse Practitioner, Pediatrics, Endocrinology, Diabetes & Metabolism.

Output example

Example output table from a real npi-provider-lists run

One row per provider. A real row from a run for urgent care in Austin, TX:

{
"npi": "1144710864",
"providerName": "AMERICAN CURRENT CARE P.A .",
"providerType": "Organization",
"specialty": "Urgent care",
"primaryTaxonomy": "Clinic/Center, Urgent Care",
"primaryTaxonomyCode": "261QU0200X",
"allTaxonomies": "Clinic/Center, Urgent Care (261QU0200X)",
"address1": "13831 N US HIGHWAY 183",
"city": "AUSTIN",
"state": "TX",
"zip": "78750",
"zipPlus4": "78750-1202",
"phone": "512-250-0424",
"fax": "512-219-0192",
"territoryMatch": "primary practice address",
"otherPracticeLocations": 0,
"mailingAddress": "5080 SPECTRUM DR STE 1200W, ADDISON, TX 75001",
"authorizedOfficial": "Robert Hassett, VP",
"enumerationDate": "2018-05-17",
"lastUpdated": "2022-04-21",
"status": "Active",
"npiRegistryUrl": "https://npiregistry.cms.hhs.gov/provider-view/1144710864"
}

Fields

FieldWhat it is
npi, providerName, providerType, credentialNPI number, name (people in title case), Individual or Organization, credential (MD, DDS, PT…)
specialtyWhich of your specialties matched (several if more than one did)
primaryTaxonomy, primaryTaxonomyCode, primaryLicenseThe provider's primary NPPES taxonomy, NUCC code and license (number and state)
allTaxonomiesEvery taxonomy the provider filed, with codes
address1, address2, city, state, zip, zipPlus4, phone, faxPractice location in your territory
territoryMatch, primaryAddressElsewhere, otherPracticeLocationsWhether the primary practice address or an additional practice location is in your territory; the primary address when it's outside; count of additional locations
mailingAddressMailing address as filed
authorizedOfficial, authorizedOfficialPhoneOrganizations only: the official listed in NPPES
firstName, middleName, lastName, organizationName, soleProprietorName parts for mail merge
enumerationDate, lastUpdated, status, npiRegistryUrlNPI issue date, last update, status and the official registry page

Files in the key-value store

KeyWhat it is
PROVIDERS_XLSXExcel workbook: Providers (filterable, frozen header, registry links), Summary (by specialty, state, type, and a city × specialty matrix), Search log and Read me
PROVIDERS_CSVSame table as CSV (UTF-8, opens cleanly in Excel)
SUMMARYJSON search log: your filters, rows fetched, out-of-territory and other-specialty rows skipped, duplicates merged, API calls and ZIP splits

For AI agents

Use this Actor to build de-duplicated lists of US healthcare providers from the official NPI Registry. Call it with Apify's MCP server (https://mcp.apify.com, tool call-actor, Actor pandadad0214/npi-provider-lists) or the API (POST https://api.apify.com/v2/acts/pandadad0214~npi-provider-lists/run-sync-get-dataset-items).

Minimal input:

{"specialties": ["dentist"], "states": ["VT"], "maxResults": 50}

Each dataset item includes:

  • summary: one line, e.g. NPI 1234567890: Jane Smith, DDS; Dentist; Burlington, VT; phone 802-555-0100
  • npi: 10-digit NPI
  • providerName, credential, providerType: who
  • specialty, primaryTaxonomy: what they do
  • address1, city, state, zip, phone: practice location
  • npiRegistryUrl: official record

The run's key-value store has a SUMMARY record with counts (returned, bySpecialty) and file names (PROVIDERS_XLSX, PROVIDERS_CSV), a one-line takeaway. Every input field has a description with formats, units and limits.

NPI registry scraper pricing and free results

Apify paid-plan discounts: Bronze members pay 10% less, Silver 20% less and Gold 30% less per result. Free-plan prices are shown below; the discount applies automatically.

$0.0015 per provider in the list (pay-per-event), plus a tiny Actor-start fee of $0.00005. Excel, CSV and the summary are included. Runs that find nothing cost nothing beyond the start fee. Set Maximum providers (or a maximum cost per run) to control spend.

FAQ

Is there a free way to try this NPI registry scraper? Yes. Apify's free plan includes $5 of monthly platform credit, enough for roughly 3,333 providers at $0.0015 each.

Where does the data come from? The official NPPES NPI Registry API run by CMS. Every row links to the provider's registry page. Not affiliated with or endorsed by CMS or HHS.

Are there emails? No. The registry doesn't publish emails, and this Actor doesn't scrape other websites to add them.

How current is it? Live: every run queries the registry directly. NPPES data is filed by providers themselves, so some addresses and phones are out of date; check lastUpdated. Schedule the Actor monthly to refresh a territory.

Why is my count different from a plain NPI scraper? Plain scrapers stop at 1,200 results per search, repeat providers across searches, and include providers whose only in-state address is a mailing address. This Actor fixes all three.

Can I contact these providers? The data is public, but follow the laws that apply to you (for example TCPA for calls and faxes and CAN-SPAM for email) and honor opt-outs.

Can I use it from code or an AI agent? Yes, via the Apify API, the Python/JS clients, or as a tool through Apify's MCP server.

More Panda Federation tools

All Panda Federation Actors on Apify

Questions or a custom data feed? Open an issue on this Actor's Issues tab.

Changelog

  • 2026-10-30 (agent update): Built for AI agents: a one-line summary on every result, takeaway in the SUMMARY record, and input fields with formats, limits and examples.
  • 2026-10-30: New search-friendly title and page, FAQ, safe demo run on empty input, Bronze/Silver/Gold discounts, output screenshot.
  • 2026-10-29: First public release with pay-per-event pricing.