NPI Registry Scraper — US Healthcare Providers avatar

NPI Registry Scraper — US Healthcare Providers

Pricing

Pay per usage

Go to Apify Store
NPI Registry Scraper — US Healthcare Providers

NPI Registry Scraper — US Healthcare Providers

Extract US doctors, dentists, nurses & healthcare organizations from the official CMS NPPES NPI Registry. Search by name, specialty, state, city or NPI number — get NPI, credentials, license, specialty, address & phone. No API key. Ideal for healthcare lead generation.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

RDX 1S

RDX 1S

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Turn the official CMS NPPES NPI Registry into clean, structured data — every US doctor, dentist, nurse, therapist, pharmacy, hospital and clinic. Search by name, specialty, location, or NPI number and export 35+ fields per provider to CSV, JSON, or Excel.

No API key. No rate limits. No login. The NPI Registry is public record published by CMS — this Actor just makes it usable.

What you can do with it

  • Build a targeted provider list — e.g. every cardiologist in California or every pediatric dentist in New York, with license #, specialty, phone, fax and address.
  • Verify a roster of NPIs — paste a list of 10-digit NPI numbers and get back current status, license, specialty and contact details (credentialing, claims, provider-network checks).
  • Enrich CRM / lead data — match providers and pull specialty, credential, phone, fax, mailing address, and Medicaid / NCPDP identifiers.
  • Feed an AI agent — call it as a tool over MCP, or wire it into n8n, Make and Zapier to keep a provider database fresh automatically.

Example input

{
"searchType": "individual",
"specialties": ["Cardiology"],
"state": "CA",
"activeOnly": true,
"maxResults": 500
}

Sample output (one record, trimmed)

{
"npi": "1982227625",
"fullName": "TARIQ AL-SALEH",
"credential": "PHARMD",
"statusText": "Active",
"primarySpecialty": "Pharmacist, Ambulatory Care",
"licenseNumber": "RPH12345",
"licenseState": "CA",
"city": "EL CAJON",
"state": "CA",
"phone": "619-923-5880",
"fax": "619-923-5881",
"medicaidId": "PHB213120",
"nppesUrl": "https://npiregistry.cms.hhs.gov/provider-view/1982227625"
}

What you get (35+ fields)

  • Identity: NPI, full name (+ prefix/suffix), credential, sex, status.
  • Specialties: primary specialty + license #/state, plus every secondary taxonomy with its own license and state.
  • Contact: practice phone & fax, full location address, mailing address, and every additional practice location.
  • Identifiers: Medicaid / NCPDP and other payer IDs — the join keys to claims and pharmacy data.
  • Trust: human-readable status and a one-click link to the official NPI Registry profile. Optional health-IT endpoints for telehealth use-cases.

Works with AI agents & automation

Every Apify Actor is exposed as a tool over the Model Context Protocol (MCP), so AI agents can call this scraper directly. It also runs from n8n, Make, Zapier, the Apify API, or on a schedule.

Good to know

  • Source: public CMS NPPES NPI Registry — no PII beyond what CMS publishes.
  • A single query segment returns up to ~1,200 rows; for bigger pulls, narrow by state / specialty / city (the Actor paginates within each segment). A state filter alone isn't enough — combine it with a name, organization, specialty, or city.

Input reference

FieldTypeDescription
searchTypestringindividual (NPI-1), organization (NPI-2), or all. Default individual.
lastNamestringIndividual providers: last name. Trailing wildcard allowed, e.g. sm*.
firstNamestringIndividual providers: first name. Trailing wildcard allowed.
organizationNamestringOrganizations: name, e.g. HOSPITAL. Trailing wildcard allowed.
specialtiesarrayFilter by taxonomy/specialty, e.g. Cardiology, Nurse Practitioner. Each is searched separately and merged.
statestringTwo-letter state code (e.g. NY). Must be combined with another criterion.
citystringCity name, e.g. Miami.
postalCodestringZIP code. Trailing wildcard allowed, e.g. 900*.
npiNumbersarrayLook up specific providers directly by 10-digit NPI number.
maxResultsintegerMax number of records to collect (default 100).
activeOnlybooleanKeep only providers with an active NPI status.
includeEndpointsbooleanAdd the FHIR / health-IT endpoints array (default off).
includeRawbooleanAdd the full raw NPPES record to each result (default off).

Run locally

pip install -r requirements.txt
apify run