+NPI Registry API
Look up any NPI number or search US healthcare providers by name, specialty and place as clean JSON.
The API.SH NPI Registry API returns records from the NPPES NPI Registry as structured JSON. Look up a provider or organization by its 10-digit NPI, or search by organization name, first or last name (with a trailing * wildcard), specialty, city, state, postal code or country, limited to individuals or organizations. Each record has name, credential, status, enumeration and update dates, every specialty with taxonomy code, license number and state, practice locations and phones, other names and identifiers.
- 2 endpoints
- from $1 / 1,000 calls
- 1,000 free credits / month
- failed calls free
GET https://api.api.sh/npi/v1/ search
{ "success": true } What you can build with the NPI Registry API
Provider credential checks
Verify an NPI's name, status, specialties and license numbers by state before onboarding or paying a provider.
Healthcare provider directories
Search by specialty and city or postal code to list providers with practice addresses and phones.
Healthcare sales lists
Build lists of organizations or individual providers by taxonomy and state for medical device, pharma or software outreach.
NPI Registry data you get
Field names from real responses. Numbers come parsed, URLs absolute, dates in ISO 8601.
NPI Registry API endpoints and prices
Every NPI Registry endpoint costs 1 credit per call: credits are $1 per 1,000 on a monthly plan, $2 pay-as-you-go. Pricing
| US healthcare provider search (NPI) /npi/ | $1 · $2 PAYG 1 credit |
| US healthcare provider by NPI /npi/ | $1 · $2 PAYG 1 credit |
Call the NPI Registry API
US healthcare provider search (NPI): GET https://api.api.sh/npi/
curl "https://api.api.sh/npi/v1/search?organization=mayo+clinic" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/npi/v1/search",
params={"organization": "mayo clinic"},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json() const url = new URL("https://api.api.sh/npi/v1/search");
url.searchParams.set("organization", "mayo clinic");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json(); # Google Sheets (API.SH add-on)
=APISH("/npi/v1/search", "organization", "mayo clinic")
# Zapier, Make, n8n (verified node): pick the API.SH app,
# choose "NPI Registry" and "US healthcare provider search (NPI)".
# AI agents (Claude, ChatGPT, Cursor): add the
# API.SH MCP server https://api.sh/mcp - Create a free accountConfirm your email and get 1,000 free credits every month. No card needed.
- Create an API keyOne key works for all 483 platforms.
- Send the requestJSON back in one call. Add
output=csvoroutput=ndjsonfor files.
Why API.SH for NPI Registry data
- Public data only: no NPI Registry login, cookies or account needed
- One key and one response shape for NPI Registry and 482 other platforms
- Built and maintained by API.SH, not third-party publishers
- Pay per call; errors on our side cost nothing
- Live status for every endpoint
API.SH vs the official NPI Registry API
Yes. CMS runs the free NPPES NPI Registry API (version 2.1), which returns JSON with no key, alongside full downloadable data files. API.SH returns the same public registry data with simple named parameters and next_page paging, in the JSON format it uses for every other source, with SDKs, Sheets and no-code tools.
If you need NPI lookups next to other data sources, one API.SH key replaces a separate NPI scraper, Apify actor or paid NPI data service.
NPI Registry API questions
What NPI Registry data can I get?+
One provider or organization by NPI with specialties, license numbers, practice locations, other names, identifiers and endpoints (/npi/v1/provider), and provider search by name, organization, specialty, city, state, postal code or country (/npi/v1/search).
How much does the NPI Registry API cost?+
Every NPI Registry endpoint costs 1 credit per call. On a monthly plan 1,000 credits cost $1 (Starter is $50/month for 50,000 credits). Pay-as-you-go is $2 per 1,000 credits, with top-ups from $15 that never expire.
Is there a free trial?+
Yes. Every account gets 1,000 free credits every month. That is 1,000 calls to /npi/v1/provider at 1 credit each.
Does NPPES have an API?+
Yes. CMS offers the free NPPES NPI Registry API, version 2.1. If NPI data is all you need it is a good choice. API.SH suits teams that want NPI lookups in the same key, JSON shape and tools (SDKs, Sheets, Zapier, MCP) as their other data.
Do I need an NPPES account or login?+
No. The NPI Registry is public data, and API.SH needs only your API.SH key. An individual provider's mailing address is not included.
Can I search by specialty and location?+
Yes. Pass taxonomy (the specialty description) with city, state or postal_code, and set type to only organizations or only individuals. Give at least one of organization, last_name, first_name, taxonomy, city or postal_code.
Should I use the API or the download file for bulk data?+
For a copy of the entire registry, CMS's downloadable NPPES file is the right tool. API.SH is built for lookups and filtered searches, such as all cardiologists in one state, paged with next_page.
How do I get started?+
1. Sign up at api.sh. 2. Copy your API key. 3. Call /npi/v1/provider with an npi, or /npi/v1/search with a last_name and state. Docs are at https://api.sh/docs, with JS and Python SDKs, Google Sheets, Zapier, Make, n8n and the MCP server at https://api.sh/mcp.