Every doctor, nurse practitioner, dentist, therapist, pharmacy, clinic and home-health agency in the US needs a National Provider Identifier (NPI) before it can bill insurance. That makes a brand-new NPI one of the earliest public signals that a new practice is opening or a clinician just started working in an area.
If you sell medical billing, credentialing, EHR or practice-management software, staffing, medical supplies or malpractice insurance, those new providers are exactly the people who are choosing vendors right now.
This guide shows how to pull that list from the official source with the New NPI Healthcare Providers Actor on Apify.
The problem
CMS publishes every NPI through the free NPPES NPI Registry API. It is great data, but two limits make it awkward for lead generation:
- You can't filter by registration (enumeration) date. There is no "show me NPIs issued in the last 30 days" parameter.
- Each query returns at most 1,200 records. A metro area has far more providers than that, so a simple ZIP search silently truncates.
The full monthly NPPES download avoids the cap, but it is a multi-gigabyte file you have to download and filter every time.
How the Actor works around it
The Actor takes the ZIP prefixes you care about (for example 303 for Atlanta or 100 for Manhattan) and keeps splitting them into smaller ZIP ranges until every API query fits under the 1,200-record cap. It then reads each provider's enumeration date, keeps only those registered in your date window, and drops anyone whose practice location is outside your ZIP prefixes. Results come back newest first.
Step 1: Configure the input
Open the Actor page and click Try for free. A typical input looks like this:
{ "postalCodePrefixes": ["295", "294"], "daysBack": 30, "providerType": "all", "taxonomy": "Nurse Practitioner*", "maxItems": 200 } -
postalCodePrefixes: 2 to 5 digit ZIP prefixes of the practice location. Three digits roughly covers a metro area. -
daysBack, ordateFrom/dateTo: the enumeration-date window. -
providerType:individual(NPI-1 clinicians),organization(NPI-2 clinics, agencies, pharmacies) orall. -
taxonomy: an NPPES specialty such asDentist,Chiropractor,Physical Therapist, with*as a wildcard (Psych*).
Adding a taxonomy or providerType filter makes runs much faster. A 3-digit metro prefix without filters usually takes 15 to 60 seconds.
Step 2: Read the output
Each row is one provider with the fields you need for outreach and enrichment:
-
npi,providerType,name,credential -
enumerationDate,lastUpdated,status -
primaryTaxonomy,taxonomies,licenseNumber,licenseState -
practiceStreet,practiceCity,practiceState,practiceZip,practicePhone,practiceFax -
authorizedOfficialfor organizations (name, title, phone) -
npiRegistryUrllinking back to the official record
Export as CSV, Excel or JSON from the dataset tab, or pull it into your CRM through the Apify API.
Step 3: Run it on a schedule
New NPIs are issued every day. Create an Apify Schedule that runs weekly with daysBack: 7, and each Monday you get only the providers that registered in the past week, with no overlap to dedupe.
Calling it from Python:
from apify_client import ApifyClient client = ApifyClient("YOUR_APIFY_TOKEN") run = client.actor("perskekits/npi-new-healthcare-providers").call(run_input={ "postalCodePrefixes": ["303"], "daysBack": 7, "providerType": "organization", "maxItems": 500, }) for item in client.dataset(run["defaultDatasetId"]).iterate_items(): print(item["enumerationDate"], item["name"], item["primaryTaxonomy"], item["practicePhone"]) Use cases
- Medical billing and credentialing: a new solo practice needs payer enrollment and billing set up immediately.
- EHR and practice-management software: new organizations (NPI-2) are picking their stack now.
- Healthcare staffing: new clinics and home-health agencies are hiring.
- Medical supply and pharma reps: new prescribers in your territory.
- Malpractice insurance and healthcare real estate: new clinicians and new locations.
Caveats
- The data is exactly what providers report to NPPES, so phone numbers and addresses are as current as the provider kept them.
- Very large buildings (hospital campuses with more than 1,200 providers at one ZIP+4) can be partly missed; the run log warns when that happens.
- An NPI is not a license to practice. Use
licenseNumberandlicenseStateif you need to check that separately with the state board.
If you have a specialty or region you want covered differently, leave a comment or open an issue on the Actor page.