NPI Registry Scraper: US Healthcare Providers
Pricing
$10.00 / 1,000 provider records
NPI Registry Scraper: US Healthcare Providers
Look up US doctors, clinics and hospitals in the official NPPES NPI Registry by number, name, speciality or location. Flattens addresses, taxonomies and licences into clean columns. No key, no login, no scraping.
Pricing
$10.00 / 1,000 provider records
Rating
0.0
(0)
Developer
Alex Burton
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Look up any US doctor, clinic, hospital, pharmacy or lab in the official NPPES NPI Registry — the national directory every American healthcare provider is required to be listed in. Search by name, speciality or location, or resolve a list of NPI numbers.
Two modes:
| Mode | What you get |
|---|---|
| Search the registry | Every provider matching a name, speciality, city, state or ZIP, with addresses, licences and specialities flattened into columns |
| Look up NPI numbers | Full records for a list of ten-digit NPI numbers |
Why use this one
- Official API only. This reads
npiregistry.cms.hhs.gov/api/, the endpoint CMS publishes for exactly this purpose. No HTML parsing, no key, no login, and nothing that breaks when the website is redesigned. - The nested arrays are flattened for you. NPPES buries the practice address, mailing address, primary speciality and state licence inside three separate arrays. This Actor lifts them into plain columns like
practiceCity,primaryTaxonomyandlicenseNumber, while keeping the full arrays if you need them. - It tells you when a query is rejected. NPPES refuses searches it considers too broad and replies with an error object instead of results. Most scrapers report that as "0 results". Here the run stops and shows the API's own message as its status, so you know to add a city or a speciality rather than assuming nobody matched.
- Check-digit validation. NPI numbers carry a Luhn check digit. A mistyped number is flagged in the log before the request goes out.
How to use it
- Choose What to do.
- For a search, fill in at least one of Last name, Organization name, City, Postal code or Speciality. NPPES will not accept a state on its own.
- Click Start, then download results as JSON, CSV, Excel or HTML, or fetch them through the Apify API.
Example input: pediatricians in Wichita
{"mode": "search","providerType": "individual","taxonomyDescription": "Pediatrics","city": "Wichita","state": "KS","maxResults": 200}
Example input: resolve a batch of NPI numbers
{"mode": "lookup","npiNumbers": ["1073554416", "1013973775"]}
Output
Every item has type: "provider". The dataset has ready-made Providers and Full detail table views.
{"type": "provider","npi": "1073554416","enumerationType": "NPI-1","isOrganization": false,"name": "JANE A SMITH","credential": "M.D.","sex": "F","status": "A","primaryTaxonomyCode": "208000000X","primaryTaxonomy": "Pediatrics","licenseNumber": "04-12345","licenseState": "KS","practiceAddress": "1010 N MAIN ST, WICHITA, KS, 672031234","practiceCity": "WICHITA","practiceState": "KS","practicePhone": "3165551212","enumerationDate": "2006-05-23","lastUpdated": "2024-02-11","url": "https://npiregistry.cms.hhs.gov/provider-view/1073554416"}
Organization records fill organizationName, authorizedOfficialName and authorizedOfficialTitle instead of the personal name fields.
Pricing
Pay only for results:
| Result | Price |
|---|---|
| Provider record | $10.00 per 1,000 |
Set a maximum spend per run in the run options and the Actor stops cleanly when it's reached.
Limits to know about
These come from NPPES, not from this Actor:
- 1,200 records per query. The API returns at most 200 per page and refuses to skip past 1,000. To cover a whole state, split the search by city, ZIP prefix or speciality.
- A state alone is not a valid search. NPPES answers
Field state requires additional search criteria. Pair it with a city, name, ZIP or speciality. - Wildcards need at least two characters before the
*, and only work at the end of a value. - The registry updates weekly, so a very recent enumeration or address change may not appear yet.
- Deactivated providers stay in the registry with a different
status, so filter on that if you only want active ones.
A note on responsible use
These records are published by CMS and are public by law, but they describe real named people and include their practice addresses and phone numbers. You are responsible for how you use them. US marketing and privacy rules — including the TCPA for calls and texts, CAN-SPAM for email, and state laws — apply to you, not to the registry. Some states also restrict commercial use of licence data. This Actor is built for research, directory building, credential verification and data cleaning; please don't treat it as a cold-call list.
FAQ
Do I need an account or API key? No. The NPPES API is open and keyless.
What is a taxonomy code? The standard code for a provider's speciality, like 208000000X for Pediatrics. Each record carries one or more, and the one marked primary is lifted into primaryTaxonomy.
Why does a search return fewer results than the registry website? The website and the API apply matching rules slightly differently, and the API caps a query at 1,200 records. Narrowing by city or speciality usually closes the gap.
Can I monitor for new providers in an area? Yes. Schedule the Actor in Apify Console and compare runs on the enumerationDate field. The registry refreshes weekly, so a daily schedule is more often than needed.
Is this legal? The NPI Registry is public data published by the US government with no authentication. Collecting it is fine; what you then do with it is governed by the marketing and privacy laws above.
Feedback
Found a bug or need a field that's missing? Open an issue on the Actor's Issues tab.