NPPES

Health API · Works in USA · CMS healthcare provider data · NPI registry

TL;DR

The NPPES (National Plan and Provider Enumeration System) API from CMS lets you look up any US healthcare provider by their National Provider Identifier (NPI) number. Returns name, address, taxonomy (specialty), license information, and practice location. This is official US government data covering every licensed doctor, nurse, dentist, therapist, clinic, and hospital in the country — over 10 million providers. No authentication required for basic lookups.

Quick start: https://npiregistry.cms.hhs.gov/api/?number=1234567893&version=2.1

No API key needed — just make a request!

How to Use This API

1. Lookup by NPI Number

https://npiregistry.cms.hhs.gov/api/?number=1234567893&version=2.1

2. Search by Name

https://npiregistry.cms.hhs.gov/api/?first_name=John&last_name=Smith&version=2.1

3. Search by City and State

https://npiregistry.cms.hhs.gov/api/?city=Los+Angeles&state=CA&version=2.1

4. JavaScript — Provider Lookup

const npi = '1234567893';
fetch(`https://npiregistry.cms.hhs.gov/api/?number=${npi}&version=2.1`)
  .then(r => r.json())
  .then(d => {
    const p = d.results[0];
    console.log('Name:', p.basic.first_name, p.basic.last_name);
    console.log('NPI:', p.number);
    console.log('Address:', p.addresses[0].address_1, p.addresses[0].city);
    console.log('Taxonomy:', p.taxonomies[0].desc);
  });

5. Python — Find by Specialty

import requests

resp = requests.get('https://npiregistry.cms.hhs.gov/api/', params={
    'taxonomy_description': 'Internal Medicine',
    'city': 'Chicago',
    'state': 'IL',
    'limit': 5,
    'version': '2.1'
})
for provider in resp.json()['results']:
    basic = provider['basic']
    print(f"{basic.get('first_name', '')} {basic['last_name']} — {provider['number']}")
Try it: https://npiregistry.cms.hhs.gov/api/?number=1234567893&version=2.1

API Details

API URL
https://npiregistry.cms.hhs.gov/api
Documentation
npiregistry.cms.hhs.gov
Category
Health
Authentication
Not Required
Geographic Coverage
USA

Frequently Asked Questions

Do I need an API key?
No, the NPPES NPI Registry API is a free public government service with no authentication required.
What is an NPI number?
The National Provider Identifier (NPI) is a 10-digit unique identifier for US healthcare providers, required by HIPAA for electronic transactions.
Can I search by taxonomy (specialty)?
Yes, use the taxonomy_description parameter to search by provider type like "Internal Medicine", "Pediatrics", "Physical Therapist", etc.
How do I paginate through results?
Use limit (default 10, max 50) and skip parameters. The response includes result_count for total matching results.
What address types are available?
Providers can have multiple addresses: primary practice location, mailing address, and other addresses. Each address includes line1, line2, city, state, zip, phone, and fax.
What format does the response use?
JSON format with results array containing provider objects with number (NPI), basic (name, gender, etc.), addresses, taxonomies, and identifiers.

What You Can Build