NPI Registry Scraper | 17 Fields, US Providers, No Key
Pricing
from $0.60 / 1,000 providers
NPI Registry Scraper | 17 Fields, US Providers, No Key
Scrape US healthcare providers from the official CMS NPI Registry by specialty, name, org, city or state. Get NPI, credentials, specialty, license, address, phone as clean JSON. No API key. Works in Claude, ChatGPT and any MCP agent.
Pricing
from $0.60 / 1,000 providers
Rating
0.0
(0)
Developer
The Mine Works
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
NPI Registry Scraper: 17 Fields, US Providers, No Key
Pay only for results delivered. Browse all Actors.
š° From $0.60 / 1,000 results.
Look up any US doctor, clinic or healthcare organisation from the official CMS NPI Registry. 17 fields including specialty, licence, address and phone. No API key.
Why use this NPI registry scraper
Every healthcare provider in the United States that bills insurance has an NPI, a National Provider Identifier, and CMS publishes the whole registry openly. It is the authoritative source for provider identity, specialty and practice location, and unlike commercial provider databases it is free and current.
The registry's own API returns deeply nested records: taxonomies as an array where you have to find the primary one, addresses as an array where you have to find the practice location rather than the mailing address, and separate name fields for individuals versus organisations. This actor flattens all of that into 17 fields on one level.
Eight search filters compose freely: specialty description, state, city, postal code, organisation name, first name, last name and a direct NPI number lookup. Combine as many as you like.
Individuals and organisations are both handled. The type field tells you which, and the name field is populated correctly for each: an organisation name for NPI-2 records, a first-plus-last name for NPI-1.
No API key. The CMS NPI Registry API is open.
Find providers by specialty and state
taxonomyDescription matches the NPI taxonomy description, for example Cardiology, Family Medicine, Pharmacy. This is the most common lookup.
{"taxonomyDescription": "Cardiology","state": "CA","maxResults": 500}
Search providers in one city or ZIP
City and postal code narrow to a practice area. Useful for building a referral list or a local market map.
{"taxonomyDescription": "Physical Therapist","city": "Austin","state": "TX","maxResults": 300}
Look up a specific provider by name
First and last name search for individuals; organizationName for clinics, hospitals and group practices.
{"firstName": "Jane","lastName": "Smith","state": "NY","maxResults": 50}
Verify a single NPI number
A direct lookup when you already have the identifier and need the current record behind it.
{"npiNumber": "1234567893","maxResults": 1}
What data you get back
17 fields per provider.
| Field | What it is |
|---|---|
npi | The 10-digit National Provider Identifier |
type | Individual or Organization |
name | Organisation name, or first plus last name |
credential | Credential string, for example MD, DO, RN |
status | Active, or the raw CMS status code |
primary_specialty | Primary taxonomy description |
taxonomy_code | Primary taxonomy code |
license | Licence number on the primary taxonomy |
license_state | State that issued the licence |
address | Practice location street address |
city | Practice city |
state | Practice state |
postal_code | Practice ZIP |
phone | Practice telephone number |
enumeration_date | Date the NPI was issued |
last_updated | Date CMS last updated the record |
scraped_at | ISO timestamp of capture |
The address chosen is the LOCATION address, the place the provider actually practises, not the mailing address. A final _type: "summary" record reports the provider count and charged count.
How it works
The actor calls npiregistry.cms.hhs.gov/api/ at version 2.1 with whatever filters you supplied, paging 200 records at a time.
Each raw record is flattened: the primary taxonomy is selected by its primary flag with the first taxonomy as fallback; the practice address is selected by address_purpose === "LOCATION"; and the name is assembled from the organisation name or the first-plus-last name depending on whether the record is NPI-1 or NPI-2.
The registry caps how deep a single query can page, at a skip of 1,000, so around 1,200 results is the ceiling for any one search. Narrow by city, postal code or specialty to get past that.
If you supply no filters at all, the run stops immediately and charges nothing rather than trying to enumerate the registry.
Who uses NPI registry data
Healthcare sales and market access. Build a target list of cardiologists in a state, complete with practice address and phone.
Referral network building. Find every provider of a specialty within a city or ZIP.
Credentialing and verification. Confirm an NPI, its status, its primary specialty and its licence state against the authoritative source.
Claims and data enrichment. Join NPI numbers you already hold against current provider names, specialties and addresses.
What it costs
One pay-per-event charge, provider-scraped, billed per provider that actually lands in your dataset. Your rate depends on your own Apify discount tier:
| Your Apify tier | Per provider | Per 1,000 |
|---|---|---|
| FREE | $0.0035 | $3.50 |
| BRONZE | $0.00315 | $3.15 |
| SILVER | $0.0028 | $2.80 |
| GOLD / PLATINUM / DIAMOND | $0.0025 | $2.50 |
Nothing else is billed. Failed requests, blocked pages, empty searches and error records are never charged, so a run that returns no providers costs nothing. There is no subscription and no monthly minimum.
Run it on a schedule
Scheduled runs are the pattern most people end up on: smaller, more frequent runs finish faster, keep the data fresh, and cost exactly the same per record as one big run.
- On this actor's page, click ... -> Schedule Actor (or Console -> Schedules -> Create new).
- Pick a frequency.
@dailysuits most standing queries. - Your saved input is reused on every run and each run appends to the dataset.
- Wire the dataset to Google Sheets, Slack, or a webhook from the Integrations tab so new rows reach you without you looking.
FAQ
Do I need an API key? No. The CMS NPI Registry API is open.
How many results can one search return? Roughly 1,200. The registry caps pagination at a skip of 1,000 records. To go deeper, split the search by city, postal code or a narrower specialty.
What is a taxonomy description?
The NPI taxonomy is the standard classification of provider specialties, for example Cardiology, Family Medicine, Pharmacy, Physical Therapist. taxonomyDescription matches against it.
Does it return individuals or organisations?
Both. The type field distinguishes them, and name is populated correctly for each.
Which address do I get? The practice location, not the mailing address. That is the one you can actually visit.
Is the phone number the provider's direct line? It is the telephone number listed on the practice location record in the registry. It is usually the practice's main line.
What if I supply no filters? The run stops immediately with a warning and charges nothing. At least one search criterion is required.
How current is the data?
It is live from CMS's registry. last_updated on each record tells you when CMS last changed it.
Use it from Claude, ChatGPT and any MCP agent
Hosted MCP endpoint, no install, OAuth on first connect:
https://mcp.apify.com/?tools=themineworks/npi-registry-healthcare
Claude Desktop / Cursor config with token auth:
{"mcpServers": {"npi-registry": {"url": "https://mcp.apify.com/?tools=themineworks/npi-registry-healthcare","headers": { "Authorization": "Bearer YOUR_APIFY_TOKEN" }}}}
Or call it from code with the Apify client:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('themineworks/npi-registry-healthcare').call({"taxonomyDescription": "Cardiology","state": "CA","maxResults": 200});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Related actors
- CMS Hospital Quality: quality and safety measures for US hospitals.
- Medicare Part D Drug Spending: prescribing and spending data.
- openFDA Scraper: drug, device and food safety records.
- ClinicalTrials Scraper: trial records and the sites running them.
Disclaimer: This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by the Centers for Medicare & Medicaid Services. It uses the public CMS NPI Registry API. Provider data is published by CMS. Nothing here is medical advice.
Found a bug or want a field added? Open an issue from the actor's Apify Console page or reach out through the The Mine Works profile.
Related guides
- The Healthcare Data Stack: Providers, Clinical Trials, and FDA Safety Signals
- NPI Registry API: How to Look Up Any US Healthcare Provider Programmatically
Last verified: 2026-08