Free · Official CMS, OIG and SAM.gov data
Bulk NPI lookup
Paste a list of NPI numbers and get, for each one, the registry record, Medicare enrollment, whether the provider can order and refer, any Medicare opt-out, and an exclusion screen against OIG, SAM.gov and 32 state Medicaid lists. Export the results as CSV or a dated PDF record.
Check a list of NPIs
Paste up to 100 NPI numbers, one per line or separated by commas or spaces. Each is validated, looked up in the CMS NPI Registry, matched to CMS Medicare enrollment, ordering/referring and opt-out data, and screened against OIG, SAM.gov.
0 NPIs found
What each column means
| Column | What it tells you |
|---|---|
| NPPES | Whether the CMS NPI Registry returns an active record for the number. “Invalid check digit” means the number can’t be a real NPI; “Not found in NPPES” means no active record (deactivated, never issued or mistyped). |
| Medicare | Whether the NPI is on CMS’s Revalidation Due Date List, which lists Medicare enrollments, with the state and the revalidation due date when CMS has set one (it sets them six months ahead). |
| Order / refer | For individuals: the categories CMS’s Order and Referring file says the provider may order or refer (Part B, DME, HHA, PMD, hospice). Organizations can’t order or refer. |
| Opt-out | For individuals: any Medicare opt-out on CMS’s Opt Out Affidavits list, with its dates. |
| Exclusions | The OIG LEIE, SAM.gov and the state Medicaid lists we search, using the NPI and the name from the registry. “NPI on a list” is a strong match; “Possible match” is a name match to confirm. |
When practices use it
- Onboarding several providers at once: confirm each NPI is real, active and belongs to the person, then run the exclusion screen.
- Referral sources: check that the doctors who send you orders can order and refer in Medicare, before claims for their orders are denied.
- Cleaning a provider directory: find NPIs that no longer return an active record, and opted-out providers.
- Vendor and contractor reviews: organizations’ NPIs, Medicare enrollment and exclusions in one table.
What this check can and can’t do
- It doesn’t verify licenses, DEA registrations or board certification. Use our license lookup for each state board.
- Medicare columns come from three CMS public files. They are reliable, but they are not PECOS itself; confirm in PECOS or with your Medicare contractor before a billing decision.
- State lists that can’t be downloaded automatically aren’t searched; the full lookup and the PDF list the states that were.
- Exclusion matches by name must be confirmed on the official source. Only an NPI match is strong evidence.
- If the NPI Registry doesn’t respond for a row, the row says so; run it again later.
How the lookup works, where each number comes from and when it updates is documented on how our NPI lookup works.
Questions
Is the bulk NPI lookup free?
Yes, up to function(){throw Error("Attempted to call BULK_NPI_LIMIT() from the server but BULK_NPI_LIMIT is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")} NPIs per run. Run it again for more. Nothing you paste is stored.
Where does the data come from?
The CMS NPI Registry (NPPES) for each NPI’s record; three CMS datasets on data.cms.gov for Medicare enrollment, ordering/referring and opt-out; the OIG LEIE, SAM.gov and state Medicaid lists for exclusions. The dates of every copy are shown on the page and in the PDF.
How current is it?
The NPI Registry is queried live. The CMS Medicare files, OIG, SAM.gov and state lists are downloaded again every Monday and Thursday; CMS updates the ordering and referring file about twice a week, the opt-out and revalidation lists monthly, OIG monthly and SAM.gov daily.
Why does an NPI show “Not found in NPPES”?
The registry returns only active NPIs. A deactivated NPI (CMS’s deactivation reason codes are death, disbandment, fraud and other) and a mistyped number both show as not found. If the check digit is valid, ask the provider or organization, and check the NPPES site directly.
Does “Not on CMS list” for Medicare mean the provider can’t bill Medicare?
Usually it means there is no Medicare enrollment under that NPI, but this list is one CMS dataset. Before a billing decision, confirm in PECOS or with your Medicare Administrative Contractor.
Can I check more than 100?
Run the list in batches of function(){throw Error("Attempted to call BULK_NPI_LIMIT() from the server but BULK_NPI_LIMIT is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")}. For a saved list that is re-checked every month, see Practice Pro.
Sources
- CMS, NPPES NPI Registry API — live NPI records
- CMS, NPI Fact Sheet (December 2024) — what an NPI does and doesn’t prove
- CMS, Revalidation Due Date List dataset (due dates set for the next six months; others TBD) — Medicare enrollment and revalidation due dates
- CMS, Order and Referring dataset — eligibility to order and refer, by category
- CMS, Order and Referring methodology (data.cms.gov) — who is in the ordering and referring file and how often it is updated
- CMS, Ordering & Certifying (who may order or certify; enrolled in approved or opt-out status, eligible specialty) — enrollment requirements for ordering and certifying providers
- CMS, Opt Out Affidavits dataset — Medicare opt-out dates
- CMS, NPPES Data Dissemination code values (deactivation reasons: death, disbandment, fraud, other) — NPI deactivation reason codes
- HHS OIG, LEIE downloadable database — OIG exclusions (monthly file)
- GSA, SAM.gov Entity/Exclusions Extracts Download API (daily public exclusions extract) — SAM.gov exclusions (daily extract)
General information, not legal or billing advice. Confirm Medicare enrollment in PECOS and exclusions on the official source before acting.