NPI Healthcare Organization Enrollment Monitor avatar

NPI Healthcare Organization Enrollment Monitor

Pricing

from $2.00 / 1,000 organization returneds

Go to Apify Store
NPI Healthcare Organization Enrollment Monitor

NPI Healthcare Organization Enrollment Monitor

New and changed healthcare organizations (NPI type 2: clinics, pharmacies, home health, DME suppliers, labs) from the official CMS NPPES NPI Registry, with taxonomy, practice address and phone. Organizations only. No API key; new-only monitor mode.

Pricing

from $2.00 / 1,000 organization returneds

Rating

0.0

(0)

Developer

Detroit Web Agent - Open Data

Detroit Web Agent - Open Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 hours ago

Last modified

Share

NPI Healthcare Organization Enrollment Monitor: New Clinics, Pharmacies and Suppliers

Use this to find and monitor newly enrolled and recently changed US healthcare organizations (NPI type 2) from the official CMS NPPES NPI Registry, by state, ZIP, taxonomy and category.

One clean row per healthcare organization, straight from the federal NPI Registry, ready for a spreadsheet, a CRM or a weekly sales alert. Every time a clinic, group practice, pharmacy, home health agency, hospice, DME supplier, laboratory, ambulance company or hospital applies for a National Provider Identifier, it appears in the NPPES registry before it bills its first claim. This actor finds those new organizations (and organizations whose record just changed), filters them to your territory and specialty, and hands you the practice address, the practice phone and fax, the taxonomy codes and the enrollment date.

  • What you get: organization legal name, other names (DBA), NPI, organization category, primary and all taxonomy codes and descriptions, license number and state, subpart flag and parent organization, practice-location and mailing addresses, practice phone and fax, enumeration (enrollment) date, last-updated date, change type, days since enrollment, status and a link to the official registry page.
  • Who it is for: B2B sales and marketing teams that sell to healthcare organizations: medical billing and revenue cycle management (RCM), credentialing services, EHR and practice-management software, healthcare staffing, medical and pharmacy supply, DME distributors, laboratories, pharma and device field teams, insurance and benefits brokers, and healthcare data teams.
  • Price: $2.00 per 1,000 organizations ($0.002 each) plus $0.00005 per run start. Rows that are filtered out, already delivered in an earlier monitor run, or not organizations are never charged.
  • Monitor mode: schedule it daily or weekly in newEnrollments or changes mode and you receive, and pay for, only organizations you have not received before (or whose record changed since).
  • Organizations only: individual providers (NPI type 1: doctors, nurses, therapists as persons) are never queried and never returned, and the names, titles and phone numbers of authorized officials are never collected. See Privacy and data scope.

One real row from our test run on 2026-11-04 (Michigan, new enrollments in the last 60 days):

OrganizationCategoryPrimary taxonomyCityZIPPractice phoneEnrolled
Three Rivers Pharmacy -LtcpharmacyPharmacy, Long Term Care PharmacyThree Rivers49093(269) 2**-****2026-10-22
  • In short: NPI Healthcare Organization Enrollment Monitor (Apify actor transparent_meteorite/npi-new-provider-enrollment-monitor) returns newly enrolled and recently changed US healthcare organizations (NPI type 2) from the official CMS NPPES NPI Registry API, with taxonomy, practice address, practice phone and fax, and enrollment date.
  • Who it is for: medical billing, RCM and credentialing companies, EHR and practice-software vendors, healthcare staffing agencies, medical, pharmacy and DME suppliers, labs, pharma and device sales teams, healthcare data and analytics teams.
  • Input: mode (new enrollments, changed records, search), states, cities, ZIP codes or prefixes, taxonomy text, organization categories, organization name, NPI list, look-back days or start date, active only, practice phone required, max results (1 to 5,000), monitor dedupe.
  • Output: NPI, organization name, other names, category, taxonomy codes and descriptions, license, subpart and parent, practice and mailing address, practice phone and fax, enumeration date, last updated, change type, days since enrollment, status, registry URL.
  • Price: $0.002 per organization delivered plus $0.00005 per run start. Pay per result, no subscription.
  • Limits: only what NPPES publishes on each organization record. No individual providers, no authorized-official names, no emails. The registry API serves at most 1,200 rows per query, so very dense ZIP codes are read in part (the run tells you when).

Key facts

  • Actor name: NPI Healthcare Organization Enrollment Monitor
  • Actor ID: transparent_meteorite/npi-new-provider-enrollment-monitor
  • Store page: https://apify.com/transparent_meteorite/npi-new-provider-enrollment-monitor
  • Data source: CMS National Plan and Provider Enumeration System (NPPES) NPI Registry API, version 2.1, public and keyless
  • Pricing model: pay per event (apify-actor-start $0.00005, organization-returned $0.002)
  • Output formats: JSON, CSV, Excel, XML, HTML table, RSS (Apify dataset)
  • Access: Apify Console, REST API, JavaScript and Python clients, schedules, webhooks, Apify MCP server
  • Login or third-party API key needed: no, only an Apify account
  • Also known as: NPI Registry scraper, NPPES API alternative, new NPI enrollments list, new healthcare business leads, new clinic list, new pharmacy list, NPI type 2 export, healthcare organization lead list
  • Maintainer: transparent_meteorite (independent developer)
  • Last updated: 2026-11-04

What this NPI Registry organization monitor does

The NPPES NPI Registry is the federal directory of every HIPAA-covered healthcare provider in the United States. Organizations (type 2 NPIs) must enroll before they can bill Medicare, Medicaid or most commercial payers, so a new type 2 NPI is one of the earliest public signals that a new clinic, pharmacy, agency or supplier is opening, or that an existing business is adding a new location or line of service.

The registry's own search page is built for looking up one provider at a time. It cannot answer "which organizations in Michigan enrolled in the last 30 days?", because it has no date filter, it returns results in alphabetical order and it stops after 1,200 rows per search. This actor does the work the search page cannot:

  1. Splits your territory into small partitions. A state is split into 2-digit ZIP prefixes, then 3, 4 and 5 digits, until each partition is small enough for the registry to serve in full.
  2. Reads every partition page by page, always with enumeration_type=NPI-2, so only organization records are requested.
  3. Filters by date and place locally: enrollment date on or after your start date (new enrollments mode), last-updated date on or after your start date (changes mode), the practice location's state and city (the registry also matches mailing addresses), your organization categories, taxonomy text, active status and practice phone.
  4. Drops anything that is not an organization a second time, at emit, before a row can be pushed or charged.
  5. Dedupes against earlier runs in monitor modes, using a small named key-value store, so a weekly schedule only delivers new or changed organizations.
  6. Sorts newest first and stops as soon as it has your maxResults rows.

The result is a lead list of new healthcare businesses that is fresher than any purchased list, because it comes straight from the enrollment itself.

Use cases

  • Medical billing, RCM and credentialing. A new group practice needs payer credentialing, a billing workflow and a clearinghouse in its first weeks. Run the actor weekly for your states in newEnrollments mode with categories clinic_center, group_practice and practice, and call each new practice with an offer before it signs with someone else.
  • Pharmacy, DME and medical supply sales. Filter on pharmacy, dme_supplier and home_health for your territory ZIP prefixes. Each new pharmacy or DME supplier is a new wholesale, software or equipment account, and the practice phone in the row is the organization's own published number.
  • EHR, practice-management and patient-engagement software. New organizations choose their software stack at opening. A daily monitor on your target taxonomies (for example Dentist, Physical Therapist, Counselor, Clinic/Center) gives your SDRs a fresh, territory-sorted list every morning.
  • Healthcare staffing. New home health agencies, hospices, nursing facilities and clinics hire quickly. Filter on those categories and route each new organization to the recruiter for its city.
  • Pharma, device and lab field teams. New clinics and group practices in a specialty are new accounts for a field rep or a lab courier route. Use taxonomy text such as Oncology, Cardiology, Laboratory or Radiology.
  • CRM hygiene and data teams. changes mode returns every organization whose record was updated since your start date: new practice addresses, new taxonomies, new DBAs and deactivations. Join on npi to keep healthcare accounts in your CRM or warehouse current.
  • Market research. Count new enrollments by category and county over time to see where new pharmacies, home health agencies or behavioral health practices are opening.

Quick start: your first run in 30 seconds

  1. Open the actor in Apify Console and keep the prefilled input: mode New enrollments, state MI, look back 60 days, max results 25.
  2. Click Start. A run like this reads about 40 registry pages and finishes in under a minute.
  3. Open the Output tab. The Overview table shows organization, NPI, category, taxonomy, city, state, ZIP, practice phone, enrollment date and change type. Export to CSV, Excel or JSON, or connect the dataset to your CRM.

Then narrow it to your market: add your ZIP prefixes (for example 482 for Detroit), pick organization categories, or add taxonomy text.

Input options

FieldWhat it does
modenewEnrollments (enrolled on or after the start date), changes (any record updated since the start date; new enrollments are labelled), or search (no date filter).
statesTwo-letter state or territory codes, for example MI, OH, TX. Each state is swept separately by ZIP prefix.
citiesKeep only organizations whose practice location is in these cities. Use together with a state.
postalCodes5-digit ZIP codes or prefixes of at least 2 digits (482, 4820, 48201). Prefixes are much faster than whole states.
specialtiesNUCC taxonomy text, for example Pharmacy, Home Health, Durable Medical Equipment, Clinic/Center, Dentist. Wildcards such as Pharm* work.
primarySpecialtyOnlyMatch the taxonomy against the primary taxonomy only (default) or against all listed taxonomies.
organizationCategoriesKeep only these categories: pharmacy, DME supplier, home health, hospice, laboratory, hospital, clinic or center, group practice, nursing facility, residential treatment, ambulance or transport, other supplier, other agency, managed care, other practice.
organizationNameLegal or DBA name to match, at least 2 characters; a trailing * is a wildcard (Walgreen*).
npisUp to 200 NPI numbers to look up directly. Type 1 (individual) NPIs in the list are never returned.
activeOnlySkip deactivated records (default on).
lookbackDaysStart date = today minus this many days (1 to 365, default 7).
sinceDateAn exact start date, YYYY-MM-DD. Overrides the look-back.
maxResultsCap on organizations delivered and charged this run (1 to 5,000, default 25).
requirePhoneKeep only organizations with a practice-location phone.
skipSeenIn monitor modes, skip organizations already delivered by earlier runs that use the same state store (default on).
maxApiRequestsSafety cap on registry requests per run (default 400).
maxRunSecondsSafety cap on run time (default 600). The run also stops cleanly before the platform timeout.
stateStoreNameName of the key-value store that remembers delivered organizations. Use a different name per saved task.

Example input

New pharmacies, DME suppliers and home health agencies in metro Detroit in the last 14 days:

{
"mode": "newEnrollments",
"states": ["MI"],
"postalCodes": ["480", "481", "482"],
"organizationCategories": ["pharmacy", "dme_supplier", "home_health"],
"lookbackDays": 14,
"maxResults": 200
}

Every changed dental organization in Ohio since the first of the month, for CRM updates:

{
"mode": "changes",
"states": ["OH"],
"specialties": ["Dentist"],
"sinceDate": "2026-11-01",
"maxResults": 1000
}

Look up a list of known organization NPIs (for enrichment):

{
"mode": "search",
"npis": ["1265331680", "1689573792"]
}

Output fields

FieldExampleNotes
npi168957379210-digit National Provider Identifier, type 2.
providerTypeOrganizationAlways Organization.
organizationNameMagnolia Home Care LLCLegal business name as enrolled, in title case.
otherNames["Three Rivers Pharmacy"]Other organization names (DBA, former legal name).
organizationCategoryhome_healthDerived from the primary NUCC taxonomy code.
primaryTaxonomyCode / primaryTaxonomy3336L0003X / Pharmacy, Long Term Care PharmacyPrimary taxonomy.
taxonomyCodes / taxonomiesarraysEvery taxonomy listed on the record.
taxonomyCount1Number of taxonomies listed; above 1 usually means a multi-service organization.
licenseNumber / licenseStatestate license id / MIState license on the primary taxonomy, when published.
isSubpart / parentOrganizationNamefalse / nullSubparts are locations or units of a parent organization.
practiceStreet, practiceCity, practiceState, practiceZipKalamazoo, MI, 49007-3518Practice location address.
practicePhone / practiceFax(269) 454-3586The organization's practice-location numbers.
mailingStreet, mailingCity, mailingState, mailingZipMailing address.
enumerationDate2026-11-04Date the NPI was issued (enrollment date).
lastUpdated2026-11-04Date the record last changed.
changeTypenew_enrollmentnew_enrollment when enrolled on or after the start date, else updated.
daysSinceEnrollment0Days between enrollment and the run.
statusActiveRecord status.
registryUrlhttps://npiregistry.cms.hhs.gov/provider-view/1689573792Official registry page.
scrapedAtISO timeWhen the row was produced.

Every field can be null when the registry has no value for it. The Overview table in the Output tab shows the 13 most useful columns with labels.

Sample output

One row from the example run (Michigan, new enrollments in the last 60 days):

{
"npi": "1689573792",
"providerType": "Organization",
"organizationName": "Magnolia Home Care LLC",
"otherNames": [],
"organizationCategory": "agency",
"primaryTaxonomyCode": "253Z00000X",
"primaryTaxonomy": "In Home Supportive Care",
"taxonomyCodes": ["253Z00000X"],
"taxonomies": ["In Home Supportive Care"],
"taxonomyCount": 1,
"licenseNumber": null,
"licenseState": null,
"isSubpart": false,
"parentOrganizationName": null,
"practiceCity": "Kalamazoo",
"practiceState": "MI",
"practiceZip": "49007-3518",
"practicePhone": "(269) 454-3586",
"practiceFax": null,
"enumerationDate": "2026-11-04",
"lastUpdated": "2026-11-04",
"changeType": "new_enrollment",
"daysSinceEnrollment": 0,
"status": "Active",
"registryUrl": "https://npiregistry.cms.hhs.gov/provider-view/1689573792"
}

The same run also returned, among others, a new long-term-care pharmacy, an orthodontics practice, a non-emergency transport company, several behavioral health practices, dental practices, a primary care clinic, a physical therapy practice and a hospital location, all enrolled in the previous 60 days.

Pricing

Pay per event, no monthly rental:

  • $2.00 per 1,000 organizations delivered ($0.002 per row), event organization-returned.
  • $0.00005 per run start, event apify-actor-start.

You are charged only for organization rows written to your dataset. Rows rejected by your filters, rows already delivered in an earlier monitor run, individual (type 1) records and invalid rows are never charged.

Worst case per run: the run can never cost more than $0.00005 + maxResults x $0.002. With the default of 25 that is $0.05005; at the maximum of 5,000 rows it is $10.00005. You can lower it further with the "Maximum cost per run" setting in Apify Console, which the actor respects row by row. A run that finds nothing costs $0.00005.

Examples: a weekly monitor for one state that finds 150 new organizations costs about $0.30 per week; a one-time pull of 2,000 new organizations across several states costs about $4.00. The $5 of monthly free credit on the Apify Free plan covers about 2,500 organizations.

How to run it

In Apify Console

Open the actor, set your mode, states or ZIP prefixes and filters, and click Start. Save the input as a task to reuse it.

From the API or a client library

curl -X POST "https://api.apify.com/v2/acts/transparent_meteorite~npi-new-provider-enrollment-monitor/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode":"newEnrollments","states":["MI"],"postalCodes":["482"],"lookbackDays":30,"maxResults":100}'
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('transparent_meteorite/npi-new-provider-enrollment-monitor').call({
mode: 'newEnrollments', states: ['TX'], organizationCategories: ['home_health', 'hospice'], lookbackDays: 7, maxResults: 500,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("transparent_meteorite/npi-new-provider-enrollment-monitor").call(run_input={
"mode": "changes", "states": ["OH"], "specialties": ["Dentist"], "lookbackDays": 7, "maxResults": 1000})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row["npi"], row["organizationName"], row["practicePhone"])

On a schedule

Create a task with mode: newEnrollments, lookbackDays: 8 and skipSeen: true, then add a weekly schedule. Each run delivers only organizations that were not in an earlier run, and the one-day overlap covers registry publishing delays.

With n8n, Make, Zapier or AI agents

Every dataset field has a label and a type, so the output maps cleanly into n8n, Make and Zapier modules, Google Sheets, HubSpot, Salesforce or a webhook. AI agents can call the actor through the Apify MCP server with a plain input such as "new pharmacies in ZIP 482 in the last 30 days".

Monitor mode: get only new organizations

In newEnrollments and changes modes the actor remembers the NPI and last-updated date of every organization it delivers, in a named key-value store (stateStoreName). On the next run an organization is skipped when it was already delivered with the same last-updated date, and delivered again when its record changed. Skipped rows are never charged. Use a different store name for each saved task so that two monitors do not share memory.

Why use this instead of the NPI Registry website or the NPPES file

  • Date filters the registry does not have. The registry search has no enrollment-date or updated-date filter; this actor adds both.
  • Whole states, not 1,200 rows. The registry stops at 1,200 results per search. The ZIP-prefix sweep reads each partition in full.
  • No 8 GB download. The weekly NPPES dissemination file is a multi-gigabyte CSV with 330 columns. This actor reads only the organizations you need, through the live API, with clean field names.
  • Lead-ready rows. Title-cased names, formatted phone numbers and ZIP+4, an organization category, a change type and a registry link, sorted newest first.
  • Pay only for new rows in monitor mode.

Privacy and data scope

This actor is built to return business records only:

  • It requests only enumeration_type=NPI-2 (organizations). Individual providers (type 1) are personal data and are never requested.
  • If the registry ever returned a type 1 record, it is dropped twice, at normalization and again at emit, before any push or charge. Both checks are covered by automated tests.
  • The authorized official on each NPPES organization record (a named person, with title and phone) is never read into the output. Neither are DIRECT messaging endpoints or any email address.
  • What remains is what the organization published about itself: its legal and DBA names, its practice and mailing addresses, its practice phone and fax, its taxonomy and license, and its enrollment dates. Some small organizations are named after their owner (for example "Smith Dental PLLC"); that is the organization's published business name.

Use the data for business-to-business outreach and research, and follow the TCPA, CAN-SPAM, state telemarketing rules and your own compliance policy when you contact organizations.

Limits and honest caveats

  • Registry window. The NPPES API serves at most 1,200 rows per query. A single 5-digit ZIP with more than 1,200 organizations (rare, usually a hospital campus) is read only in part; the run reports how many ZIPs were affected. Add a taxonomy or category filter for full coverage there.
  • Whole-state new-enrollment scans read every organization in the state to find the new ones, because the registry cannot sort or filter by date. Large states (CA, TX, FL, NY) take longer; ZIP prefixes or taxonomy filters make runs much faster.
  • Freshness. The API reflects NPPES updates within about a day. A new enrollment can take a few days to appear after the organization applies.
  • Phones are the practice-location phone on the record. Some small organizations list a mobile number as their practice phone; it is still the number they published for the business.
  • Categories are derived from the primary NUCC taxonomy code and are a convenience grouping, not an official CMS classification.
  • No individual providers. If you need physicians or other individual clinicians, this actor will not return them.
  • Safety stops. A run that scans a lot without finding matching organizations stops early on its own (to keep wasted compute low) and tells you how to narrow it. It always ends with status Succeeded and whatever it found.

Data source and license

Data comes from the CMS National Plan and Provider Enumeration System (NPPES) NPI Registry API, version 2.1 (https://npiregistry.cms.hhs.gov/api-page), a public, keyless API run by the Centers for Medicare and Medicaid Services. NPPES organization data is published by CMS for public use under the HIPAA Administrative Simplification rules and the Freedom of Information Act, and as a work of the US federal government it is not subject to copyright. This actor is independent and is not affiliated with or endorsed by CMS or HHS. Requests are paced, retried with backoff on errors and capped per run.

FAQ

Does it return individual doctors or nurses? No. Only NPI type 2 organizations. Individual providers are never requested and are dropped at emit if they ever appear.

Does it include the authorized official's name or phone? No. That person's name, title and phone are deliberately excluded from the output and the schema.

Does it include emails? No. NPPES does not publish organization emails, and the DIRECT messaging endpoints on some records are excluded.

How new is "new"? enumerationDate is the day the NPI was issued. With lookbackDays: 7 you get organizations enrolled in the last week.

What is the difference between new enrollments and changes? New enrollments are organizations whose NPI was issued on or after the start date. Changes are organizations whose record was updated on or after the start date, which includes new enrollments (labelled new_enrollment) and existing organizations that moved, added a taxonomy or were deactivated (labelled updated).

Can I search the whole country? Yes, by listing several states, but runs are faster and cheaper per useful row when you use ZIP prefixes, categories or taxonomy text. Each state is swept separately.

How do I avoid paying twice for the same organization? Use a monitor mode with skipSeen: true and the same stateStoreName on every scheduled run.

Why did my run return fewer rows than maxResults? There were fewer matching organizations in the window, or the run stopped early on a safety limit; the log and the OUTPUT record explain which, and suggest how to widen the search.

Can I look up specific NPIs? Yes, list them in npis (up to 200). Type 1 NPIs in the list are skipped.

Is the data accurate? It is exactly what organizations reported to NPPES. Organizations are required to keep their NPPES record current, but some update late.

Troubleshooting

  • "Nothing to search yet": add at least one state, city, ZIP prefix, taxonomy text, organization name or NPI.
  • 0 rows in new enrollments mode: widen lookbackDays, add states or remove category filters. The log shows how many rows each filter removed.
  • "stopped early (costGuard)": the area had very few matches for the rows scanned. Narrow to ZIP prefixes or add a taxonomy so the registry does the filtering.
  • A monitor delivers nothing on its second run: that is expected when nothing new enrolled; check skippedAlreadySeen in the OUTPUT record.

Terms and responsible use

The actor reads a public government API at a polite rate. You are responsible for how you use the output, including outreach rules (TCPA, CAN-SPAM, state laws) and any internal compliance policy. Do not use the data to discriminate or to mislead.

Alternatives to NPI Healthcare Organization Enrollment Monitor

Other NPI actors in the Apify Store return individual providers and organizations together, priced from about $0.50 to $2.00 per 1,000 results. Choose this actor when you sell to healthcare organizations and want only new or changed organizations with date filters, monitor dedupe and no personal data about individual clinicians. Choose a general NPI scraper if you need individual providers. The NPPES weekly dissemination file from CMS is free but is a multi-gigabyte download you have to parse and diff yourself.

Use it from AI assistants (MCP)

NPI Healthcare Organization Enrollment Monitor works as a tool for AI assistants through the official Apify MCP server. Add this URL to any MCP client (Claude Desktop, Claude Code, Cursor, ChatGPT connectors, VS Code):

https://mcp.apify.com/?actors=transparent_meteorite/npi-new-provider-enrollment-monitor
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com/?actors=transparent_meteorite/npi-new-provider-enrollment-monitor",
"headers": { "Authorization": "Bearer <YOUR_APIFY_TOKEN>" }
}
}
}

Then ask, for example: "List home health organizations that newly enrolled in Michigan in the last 30 days."

Changelog

  • 0.2 (2026-11-04): organizations only (NPI type 2) at the query and at emit; authorized-official fields removed; new organization categories, organization name and NPI list inputs; practice phone and fax; nullable typed schema with a labelled Overview view; cost guard and platform-deadline stop; price $2.00 per 1,000.
  • 0.1 (2026-11-03): first internal build.

Support

Open an issue on the actor's Issues tab with your run ID and what you expected. Feature requests for new filters or output fields are welcome.

Did this actor do the job? If it saved you time, a short honest review on the Reviews tab helps other people judge it. If something was off, open an Issue on this page with the input you used. I read every one and fix real bugs, usually the same day.