Look up a provider by NPI
Exacthealthcare_npi_lookupDeterministic and authoritative — the canonical answer for this input.
Look up an NPI in the live CMS NPPES registry. Validates the NPI via Luhn checksum first — if invalid, skips the network call. Returns provider status (Active/Deactivated), name, credentials, entity type (individual/organization), taxonomies (specialty codes), and addresses. This is a live external call — expect 100-500ms latency. If NPPES rejects the query (a non-transient 4xx), the response includes the validation result with an nppes_error code; if NPPES is unreachable, the call fails with a retryable error at cost 0. Cost: 2 units; 1 unit when the NPI fails the local Luhn check and NPPES is never called. Processing multiple inputs? Use `healthcare_npi_lookup_batch` to do up to 100 in one call.
Parameters
npistringrequiredNPI value to look up in the NPPES registry.
Call it
curl -X POST https://api.snipget.ai/v1/healthcare/npi/lookup \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{"npi":"1679576722"}'The Batch tab sends up to 1000 inputs in one call via /v1/healthcare/npi/lookup/batch.
FAQ
What does this give me that NPI validation does not?
Validation only checks the number's math. This looks the number up in the live CMS NPPES registry and returns the actual provider: status (Active or Deactivated), name, credentials, taxonomies, and address. That is maintained official data you should not guess at.
Is the registry result authoritative?
Yes. It is a direct lookup by the exact NPI, so the record returned is the canonical NPPES record for that provider, not a guess or a best match.
How fast is it, and can it fail?
It is a live external call, so expect roughly 100 to 500 milliseconds. If NPPES is unreachable the response still includes the validation result plus an error code. If the number fails the check digit, the registry call is skipped entirely.
What if the NPI is not in the registry?
You get a normal result with nppes_found set to false, not an error. That usually means the number is well-formed but not currently enrolled.