NPPES
Look up any US healthcare provider by their NPI number
The CMS NPPES registry API returns public records for US healthcare providers — names, addresses, and taxonomies — keyed by National Provider Identifier. Pass version=2.1 plus at least one search field (like state and city) and you get JSON back. No key, public data.
GET https://npiregistry.cms.hhs.gov/api/?version=2.1&state=CA&city=San%20Diego&limit=1
{
"result_count": 1,
"results": [
{
"number": "1033959770",
"basic": {
"organization_name": "1 TRUE HEALTH - CALIFORNIA PC",
"status": "A",
"enumeration_date": "2024-05-30"
},
"addresses": [
{
"city": "SAN DIEGO",
"state": "CA",
"postal_code": "921231690",
"address_purpose": "LOCATION"
}
]
}
]
}curl "https://npiregistry.cms.hhs.gov/api/?version=2.1&state=CA&city=San%20Diego&limit=1"const res = await fetch("https://npiregistry.cms.hhs.gov/api/?version=2.1&state=CA&city=San%20Diego&limit=1");
const data = await res.json();
console.log(data);import requests
res = requests.get("https://npiregistry.cms.hhs.gov/api/?version=2.1&state=CA&city=San%20Diego&limit=1")
print(res.json())BROWSER CALLS BLOCKED (NO CORS/HTTPS) — USE THE CURL SNIPPET
/api/?version=2.1&state=CA&city=San%20Diego&limit=1PROBEDLook up any US healthcare provider by their NPI number
/api/?limit=5Api — documented GET route.
/api/?page=1Api — documented GET route.
We probe a documented GET and expect 2xx JSON — full uptime and health score. Export includes every documented route below.
Stable. No schema drift observed since monitoring began — the response shape has not changed under our checks.
NPPES: common questions
Is NPPES free to use?
Yes — NPPES is a free health & food API. Free tier: Free — no key required. Commercial use is allowed on the free tier.
Does NPPES need an API key?
No — NPPES needs no API key or signup. You can call it straight away; rate limits still apply (Unpublished).
Can I call NPPES from the browser?
Not directly — NPPES doesn't send browser-friendly CORS headers, so call it from a server or proxy instead. Copy the curl or Python snippet on this page to get started.
Is NPPES up right now?
As of our last scheduled check, NPPES is unmonitored. We re-probe it every sweep — the status badge and uptime chart above always show the latest.