Validate provider records before they enter your system.
Confirm NPIs against the official US registry, normalize fields for onboarding and rosters, and trace every check with request IDs—the same NPPES source of truth without hand-parsing raw JSON.
Free tier: 100 lookups / month, 1 API key, no credit card. See pricing
Request
GET /api/v1/npi/{npi}
curl -sS -H "Authorization: Bearer YOUR_API_KEY" "https://healthproviderapi.com/api/v1/npi/1003000126"Response (sample)
Registry status, entity type, taxonomy, and request ID—ready for onboarding rules.
{
"data": {
"npi": "1003000126",
"entityType": "NPI-1",
"status": "active",
"name": {
"full": "JOHN SMITH, M.D.",
"first": "JOHN",
"middle": null,
"last": "SMITH",
"prefix": null,
"credential": "M.D."
},
"primaryTaxonomy": {
"code": "208M00000X",
"description": "Hospitalist",
"state": "DC",
"license": "MD600003480"
},
"taxonomies": [
{
"code": "208M00000X",
"description": "Hospitalist",
"state": "DC",
"license": "MD600003480"
}
],
"mailingAddress": {
"street": "123 EXAMPLE MEDICAL PLZ",
"city": "WASHINGTON",
"state": "DC",
"zip": "20001",
"country": "US"
},
"practiceLocations": [
{
"street": "456 CLINIC AVE",
"city": "ARLINGTON",
"state": "VA",
"zip": "22201",
"country": "US"
}
],
"enumerationDate": "2007-08-31",
"lastUpdated": "2026-05-01",
"source": {
"name": "NPPES",
"version": "2.1"
}
},
"meta": {
"requestId": "req_public_demo",
"cached": true
}
}What validation looks like in your onboarding flow
Your form may collect display name and state for UX; authoritative validation is a registry lookup by NPI. NPI issuance does not prove licensure or credentialing—your team remains responsible for clinical and legal checks.
Form vs API call
# Collected in your onboarding form (your app)
NPI: 1003000126
Display name: John Smith
Practice state: TX
# Sent to the API (registry lookup)
GET /api/v1/npi/1003000126Official NPPES vs Health Provider API · Branch on data.status, data.entityType, and data.primaryTaxonomy in your rules.
Request (Growth+ enrichment)
Header enrichment: quality_freshness
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "enrichment: quality_freshness" "https://healthproviderapi.com/api/v1/npi/1003000126"Response (OpenAPI sample)
Demo NPI 1003000126—includes data.enrichment and meta.enrichment.nonVerification.
{
"data": {
"npi": "1003000126",
"entityType": "NPI-1",
"status": "active",
"name": {
"full": "JOHN SMITH, M.D.",
"first": "JOHN",
"middle": null,
"last": "SMITH",
"prefix": null,
"credential": "M.D."
},
"primaryTaxonomy": {
"code": "208M00000X",
"description": "Hospitalist",
"state": "DC",
"license": "MD600003480"
},
"taxonomies": [
{
"code": "208M00000X",
"description": "Hospitalist",
"state": "DC",
"license": "MD600003480"
}
],
"mailingAddress": {
"street": "123 EXAMPLE MEDICAL PLZ",
"city": "WASHINGTON",
"state": "DC",
"zip": "20001",
"country": "US"
},
"practiceLocations": [
{
"street": "456 CLINIC AVE",
"city": "ARLINGTON",
"state": "VA",
"zip": "22201",
"country": "US"
}
],
"enumerationDate": "2007-08-31",
"lastUpdated": "2026-05-01",
"source": {
"name": "NPPES",
"version": "2.1"
},
"enrichment": {
"version": "v1",
"factors": [
"completeness",
"quality_score",
"freshness"
],
"dataQuality": {
"score": 100,
"completeness": {
"hasName": true,
"hasPrimaryTaxonomy": true,
"hasMailingAddress": true,
"hasPracticeLocation": true
}
},
"freshness": {
"lastUpdated": "2026-05-01",
"enumerationDate": "2007-08-31",
"daysSinceLastUpdated": 32,
"band": "recent"
}
}
},
"meta": {
"requestId": "req_public_demo",
"cached": true,
"enrichment": {
"requested": [
"completeness",
"quality_score",
"freshness"
],
"applied": [
"completeness",
"quality_score",
"freshness"
],
"creditCost": 2,
"nonVerification": true
}
}
}Dirty provider data is expensive—raw NPPES does not fix it alone
The official registry is authoritative, but onboarding teams need validated, normalized records—not another parser in every service.
- Onboarding and roster flows ingest bad NPIs, stale statuses, and inconsistent names before anyone notices.
- Raw NPPES is the source of truth—but not shaped for product teams validating providers in production.
- Each service rebuilds parsers, auth, caching, and audit trails instead of one validation path the org can trust.
What you get instead
Registry-backed validation
Confirm format, active/deactivated status, entity type, and primary taxonomy in one call—same official data, normalized for your workflow.
Onboarding, rosters, and directories
Lookup, directory search, and bulk reconciliation share one schema so enrollment, credentialing, and directory sync do not fork parsers.
Traceable checks and ops
Request IDs, cache metadata, quotas, and documented errors—so support and compliance can follow what was validated and when.
Provider data quality on top of the official registry
Validate and normalize NPI-backed records for enrollment, rosters, and directories—with lookup, search, bulk, and traceable request metadata.
Three steps to your first lookup
Sign up, create a key in the dashboard, and call the API—the same path documented in our quickstart.
- 1
Create your account
Sign up in under a minute. No credit card on the free tier.
- 2
Generate an API key
Open the dashboard and create a Bearer token for your app or internal tool.
- 3
Make your first call
Look up an NPI or run a provider search and return clean provider data right away.
Funnel: sign up → dashboard API keys → Authorization: Bearer
Where healthtech teams plug it in
Same NPI Registry API for patient-facing apps and back-office tools—telehealth onboarding, credentialing, billing, and provider directories.
NPI lookup and provider search in one product
High-intent endpoints documented in OpenAPI—lookup by NPI, search by name and location, bulk refresh for directories.
Official NPPES vs Health Provider API
You can use the official NPI Registry directly. Health Provider API is for teams that need clean provider records in production—normalized fields, traceable validation, roster workflows, and a stable OpenAPI contract on top of the same NPPES source of truth.
| Use official NPPES directly if… | Use Health Provider API if… |
|---|---|
| You need occasional lookups | You need clean provider records in production |
| You maintain your own NPPES parser | You want normalized fields and a stable OpenAPI contract |
| You do not need audit trails | You need traceable validation (request IDs, dashboard usage) |
| You do not need bulk or roster workflows | You validate onboarding data or reconcile provider rosters in bulk |
| You own refresh and change-detection logic | You want enrichment signals today; directory change monitoring is on the roadmap |
Same CMS source of truth. Choose us when you need production-ready provider records, not another NPPES parser per service.
Full comparison guideCommon questions from engineering teams
Straight answers about data source, search, free tier limits, and what this API does not replace.
Why not use the official NPI Registry API?
What is this API and where does the data come from?
Is this an NPPES alternative?
Can I search by provider name or location?
Do I need a credit card to test it?
Is this a replacement for clinical or legal verification?
Stop bad provider records at the front door
Free tier for healthtech teams—sign up, create a key, and validate your first NPI against the official registry today.