ParseForge Scrapers

NPI Registry Scraper

parseforge/npi-registry-scraper

Lead generationAutomationBusiness

Scrapes NPI Registry provider records by name, NPI number, taxonomy, or location. Returns each provider as a flat row with identifiers, addresses, and taxonomy codes.

Run this scraper See the API call
Total runs
134
Bookmarked
0
Last modified
8 days ago

This scraper was last updated on .

What does the NPI Registry Scraper return?

ParseForge

NPI Registry Scraper

Scrape NPI Registry provider records by name, NPI number, taxonomy, or location, up to a million per run. Each record includes the provider's identifiers, addresses, taxonomy codes, and license details. No login or API key. Export to CSV, JSON, Excel, or XML.

The NPI Registry's official lookup is built for one provider at a time, and bulk access requires a CMS account and a data use agreement. This Actor queries the public NPI Registry search directly, filters by first name, last name, organization, NPI number, taxonomy, city, state, or ZIP, and returns every matching provider in one fixed schema.

Who uses it What they scrape NPI Registry for
Healthcare market researchers Build a list of active providers in a specialty or region for market sizing.
Medical recruiters Find contact details for physicians and nurse practitioners by specialty and state.
Insurance network managers Verify provider NPI numbers and practice addresses for network adequacy.
Pharmaceutical sales teams Generate a call list of prescribers by taxonomy and ZIP code.
Health tech developers Enrich internal provider databases with current NPI Registry data.

What it does

This Actor collects NPI Registry provider records by name, NPI number, taxonomy, or location, and returns each one as a flat row.

  • πŸ” Flexible search: combine first name, last name, organization, NPI number, taxonomy, city, state, and ZIP in one run.
  • πŸ“‡ Individual or organization: filter by enumeration type, NPI-1 for people or NPI-2 for facilities.
  • πŸ—ΊοΈ Location targeting: narrow results to a state, city, or ZIP code.
  • πŸ“Š Structured output: every provider comes back as a flat row with identifiers, addresses, and taxonomy codes.
  • ⚑ Bulk retrieval: pull up to 1,000,000 records per run for paid users.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with NPI Registry data

πŸ“ˆ Build a specialty provider list.

A market researcher enters taxonomy 'Cardiology' and state 'CA' to get every cardiologist in California, then exports the list for a market sizing report.

πŸ“ Find providers near a ZIP code.

A recruiter enters postal code '10001' and taxonomy 'Nurse Practitioner' to get contact details for NPs in Manhattan for outreach.

πŸ₯ Verify organization NPIs.

An insurance network manager enters organization name 'Mayo Clinic' and enumeration type NPI-2 to pull all facility records and confirm their NPIs.

πŸ’Š Generate a prescriber call list.

A pharma sales team enters taxonomy 'Family Medicine' and state 'TX' to get a list of prescribers with addresses for territory planning.

πŸ”— Enrich an internal provider database.

A health tech developer enters a list of NPI numbers to fetch current addresses and taxonomy codes for each provider and update their system.

Why choose this scraper

What you get
No CMS account needed Query the public NPI Registry search without a data use agreement.
Bulk export Get thousands of provider records in one run, not one lookup at a time.
Fixed schema Every record has the same fields, ready for your database or spreadsheet.
Up to date Pulls live data from the NPI Registry, so you get current enumerations.

How it compares

No other Store actor targets NPI Registry the same way, so the honest comparison is with the alternatives teams actually weigh.

NPI Registry Scraper Build it in-house By hand
Setup Run it now, zero config Days of engineering None, but hours per pull
When NPI Registry changes Maintained for you You fix it You re-learn the page
Proxies, retries, anti-bot Built in Your problem Browser only
Output Fixed JSON schema, CSV/Excel export Whatever you build Copy-paste
Cost Pay per result Engineering time Analyst hours

Configure the run

Drive the Actor from first name, last name, organization name, NPI number, taxonomy description, city, state, or postal code, alone or together, and filters run as each provider is read so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
 "maxItems": 10
}

A larger pull:

{
 "maxItems": 200
}

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the NPI Registry Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to NPI Registry through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/npi-registry-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that your search terms are spelled correctly and that you have not combined too many restrictive filters. Try broadening your search by removing some fields, or verify that the taxonomy description matches an official NPI taxonomy.

Why did I only get 10 results?

Free users are limited to 10 items as a preview. Upgrade to a paid plan and set 'Maximum providers' to a higher number to get more records.

Why is my NPI number search not working?

Make sure you entered exactly 10 digits with no spaces or dashes. The NPI number field requires an exact match.

Why are some provider records missing fields?

The NPI Registry may not have complete information for every provider. Some fields, such as secondary addresses or phone numbers, may be blank if the provider did not report them.

Why does my organization search return individual providers?

Set 'Enumeration type' to 'Organization (NPI-2)' to restrict results to organizations. Without that filter, the search may also match individual providers whose names contain the organization name.

FAQ

Question Answer
What is the NPI Registry? The NPI Registry is a free public directory of all active National Provider Identifier (NPI) records, maintained by the Centers for Medicare & Medicaid Services (CMS). It contains information on individual providers (NPI-1) and organizations (NPI-2).
Do I need an API key or CMS account to use this Actor? No. This Actor queries the public NPI Registry search interface directly, so you do not need a CMS account, an API key, or a data use agreement.
What data does the Actor return for each provider? Each record includes the provider's NPI number, name, enumeration type, taxonomy codes and descriptions, practice addresses, phone numbers, and other identifiers as available on the NPI Registry.
Can I search by NPI number? Yes. Enter an exact 10-digit NPI number in the 'NPI number' field to look up a specific provider.
Can I search by organization name? Yes. Use the 'Organization name' field for NPI-2 lookups, and set 'Enumeration type' to 'Organization (NPI-2)' for best results.
How do I filter by specialty? Use the 'Taxonomy description' field. For example, enter 'Dentist', 'Cardiology', or 'Pharmacist'. The Actor matches providers whose primary or secondary taxonomy contains that description.
Can I filter by state or city? Yes. Use the 'State' dropdown for a two-letter state code, or enter a city in the 'City or state' field. You can also enter a ZIP code in the 'Postal code' field.
What is the difference between NPI-1 and NPI-2? NPI-1 is assigned to individual providers such as physicians, nurses, and dentists. NPI-2 is assigned to organizations such as hospitals, clinics, and group practices.
How many records can I get in one run? Free users are limited to 10 items as a preview. Paid users can set 'Maximum providers' up to 1,000,000.
What output formats are supported? You can export the results to CSV, JSON, Excel, or XML from the Apify dataset.
Is the data live? Yes. The Actor queries the NPI Registry in real time, so you get the most current enumerations available.
Can I run this Actor on a schedule? Yes. You can set up a recurring schedule in Apify to refresh your provider list automatically.

πŸ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Centers for Medicare & Medicaid Services (CMS). It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

What input does the NPI Registry Scraper accept?

FieldTypeWhat it doesDefault
maxItems integer Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000 10
firstName string First name of an individual provider (NPI-1 lookup). not set
lastName string Last name of an individual provider. not set
organizationName string Organization name for NPI-2 lookups. not set
number string Exact 10-digit NPI to look up. not set
taxonomyDescription string Taxonomy description (e.g. `Dentist`, `Cardiology`, `Pharmacist`). not set
city string Practice city. not set
state string (57 options) Two-letter US state code (e.g. `CA`, `NY`). not set
postalCode string US ZIP code. not set
enumerationType string (3 options) NPI-1 individual or NPI-2 organization. not set

How much does the NPI Registry Scraper cost?

from $7.50 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.0075 to $0.0085

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

How do I call the NPI Registry Scraper API?

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST Β· run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~npi-registry-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "maxItems": 10
  }'

What example inputs can I use?

Use these inputs to see how a run is configured.

input.json
{
  "maxItems": 10
}

What do users say about the NPI Registry Scraper?

No reviews yet. Be the first.

How do I report an issue with the NPI Registry Scraper?

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

What related scrapers can I use?

Run NPI Registry Scraper on Apify All scrapers