How to Find Physicians by Specialty and State (NPI Registry Guide)
taxonomy_description (e.g., Cardiology) and state (e.g., TX) — and it returns individual practitioners with name, practice address, and phone number. No login, no cost, no rate-limit for reasonable usage. For multi-state lists, repeat the query per state and de-duplicate on NPI number.
Why the NPI registry is the right source
The National Provider Identifier (NPI) registry is a federal database maintained by CMS (Centers for Medicare & Medicaid Services) and updated continuously as providers register, move, or retire. Every licensed healthcare provider in the U.S. who bills insurance is required to have an NPI, which means coverage is nearly complete across physicians, nurse practitioners, physician assistants, physical therapists, and dozens of other provider types.
For sales, recruiting, or research purposes, it has several advantages over commercial physician databases: it is free, it is public (no license required), its data comes directly from providers at registration, and it is the same underlying source that many paid healthcare data services resell at a markup. Understanding how to query it directly saves cost and gives you access to the most current records.
For background on what an NPI number is and what data each record contains, see What is an NPI number and what can you look up?
taxonomy_description values for common specialties
taxonomy_description parameter only
accepts human-readable description strings. Passing a numeric NUCC taxonomy code (e.g.,
207RC0000X) silently returns zero results. Always use the specialty name.
| Specialty | taxonomy_description value to use | Also matches (partial) |
|---|---|---|
| Cardiology | Cardiology | Interventional Cardiology |
| Dermatology | Dermatology | Dermatopathology (via Dermatology prefix) |
| Psychiatry | Psychiatry | Child & Adolescent Psychiatry |
| Internal Medicine | Internal Medicine | Geriatric Medicine (where subspecialty listed) |
| Orthopedic Surgery | Orthopedic Surgery | Hand Surgery (orthopedic subspecialty) |
| Family Medicine | Family Medicine | — |
| Neurology | Neurology | Neurological Surgery |
| Oncology | Hematology & Oncology | Radiation Oncology |
| Physical Therapy | Physical Therapy | — |
| Pediatrics | Pediatrics | — |
| Gastroenterology | Gastroenterology | — |
| Urology | Urology | — |
The API performs a partial prefix match on taxonomy_description. A value of
Cardiology matches both Cardiology and
Interventional Cardiology. If you want only the more specific subspecialty,
pass the full string: Interventional Cardiology. For the complete list of
taxonomy values used in getdork's physician search, see the source at
How to search the NPI registry.
Query structure and parameters
The NPI Registry API endpoint is:
https://npiregistry.cms.hhs.gov/api/
A specialty-and-state query looks like this:
# Cardiologists in Texas (individual providers, first 200 results)
https://npiregistry.cms.hhs.gov/api/?version=2.1
&taxonomy_description=Cardiology
&state=TX
&enumeration_type=NPI-1
&limit=200
&skip=0
| Parameter | Value | Notes |
|---|---|---|
version |
2.1 |
Always use 2.1; earlier versions return less structured data |
taxonomy_description |
e.g., Cardiology |
Human-readable string, not a NUCC code. Partial match. |
state |
e.g., TX |
Two-letter USPS state abbreviation, uppercase |
enumeration_type |
NPI-1 |
NPI-1 = individual providers. NPI-2 = organizations. |
limit |
1–200 | Maximum per request is 200 |
skip |
0, 200, 400… | Offset for pagination. Increment by your limit value. |
result_count field showing the total number of matching
records. If result_count is 850, you need five requests (skip=0, 200, 400, 600, 800)
to retrieve all records.
Step-by-step workflow
-
Choose your specialty. Pick the
taxonomy_descriptionvalue from the table above. If you are unsure of the exact string, test with a broader term first (e.g.,Surgery) to see what subspecialties it matches, then narrow to the exact variant you need. - Identify your target states. List the two-letter state codes for every state in your territory or campaign. The NPI registry uses standard USPS abbreviations: CA, TX, NY, FL, IL, and so on.
-
Run the first request. Use the URL structure above with
limit=200&skip=0. Readresult_countfrom the response to know how many pages you need. -
Page through results. Increment
skipby 200 until you have retrieved all records. For large specialties in large states (e.g., Family Medicine in California), this may be 20–30 requests. -
Extract the fields you need. From each record, pull
basic.first_name,basic.last_name,addresses[practice location].address_1,addresses[practice location].city,addresses[practice location].state,addresses[practice location].postal_code, andaddresses[practice location].telephone_number. -
Export to CSV or your CRM. De-duplicate on the
numberfield (the NPI number) before merging records from multiple queries. A provider registered in two states has one NPI number.
Building multi-state outreach lists
For multi-state sales or recruiting campaigns, the workflow is the same query repeated per state. A few practical points:
- De-duplicate on NPI number, not name. Some providers have offices in multiple states. Their NPI number is unique; their name is not. Using NPI as your primary key prevents double-outreach to the same person.
- Practice location vs. mailing address. Each NPI record contains two address slots. Use the practice location address for outreach — this is where the provider sees patients. The mailing address may be a billing service or legal agent.
-
Active status. Filter on
basic.status=A(active) to exclude deactivated or decommissioned NPI records. Inactive providers remain in the registry but are marked accordingly. - Verify before calling. NPI data reflects what the provider submitted at registration. Phone numbers and addresses change. Use the list as a starting point and verify high-value contacts before a campaign.
Select a specialty, choose a state or enter a zip code with radius, and getdork queries the NPI registry and returns a clean, filterable result table — no API calls to write. Pro accounts can export to CSV with one click.
Try the physician search at getdork.com →
Known limitations of the NPI registry
- No email addresses. The NPI registry does not collect or publish email addresses. Phone numbers and practice addresses are present when submitted by the provider.
- Self-reported data. All information is submitted by the provider or their authorized representative at registration. Address and phone accuracy depends on whether the provider keeps their record current.
- No private-practice vs. employed distinction. The registry does not distinguish between independent practitioners and those employed by a health system. A cardiologist at a large hospital group and one in a solo private practice both appear with their practice address.
-
Taxonomy filters by primary taxonomy only. The API's
taxonomy_descriptionfilter matches against the provider's listed taxonomy records, but providers can have multiple taxonomies. Filtering onCardiologywill include general internists who also listed a cardiology subspecialty.
For a walkthrough of the full search interface including zip-code radius search, see How to find cardiologists by zip code.
Frequently asked questions
Can I filter the NPI registry by specialty and state at the same time?
Yes. Pass both taxonomy_description and state in the same
API request. For example, taxonomy_description=Dermatology&state=FL
returns individual dermatologists with a Florida practice address. Both filters apply
simultaneously.
What is the correct taxonomy_description for a specialty?
Use the human-readable NUCC taxonomy description string — for example,
Cardiology, Psychiatry, or Orthopedic Surgery.
Do not use the alphanumeric NUCC taxonomy code (like 207RC0000X). The
API's taxonomy_description parameter accepts only the text description.
Passing a code silently returns zero results.
How many physicians are in the NPI registry?
As of 2026 the registry contains more than 7 million active provider records across individual practitioners (NPI Type 1) and organizational entities (NPI Type 2). The individual-provider segment covers physicians, nurse practitioners, physician assistants, physical therapists, dentists, chiropractors, and other licensed providers.
Does the NPI registry include phone numbers?
Yes, when the provider submitted a practice phone number at registration. Each practice
location address record includes a telephone_number field. Some records
omit it if the provider left it blank during registration. Treat NPI phone numbers as
a starting point — they reflect the practice's main line as of the most recent update
and may not be current.
Is it legal to use NPI data for sales or recruiting outreach?
Yes. The NPI registry is a public federal database maintained by CMS and released under an open government data policy with no restrictions on commercial use. Building healthcare sales lists, recruiting pipelines, or research databases from NPI data is standard practice in the medical device, pharmaceutical, and health IT industries.
Why does my NPI query return zero results for a specialty?
The most common cause is passing a numeric NUCC taxonomy code as the
taxonomy_description value. Use the text name instead. Also check that
the state abbreviation is exactly two uppercase letters, that
enumeration_type=NPI-1 is set for individual providers, and that
version=2.1 is included.
Related guides
- How to search the NPI registry (free guide) — complete walkthrough of all NPI search parameters and what each field returns.
- How to find cardiologists by zip code — geographic radius search using the NPI registry.
- What is an NPI number and what can you look up? — background on the identifier and what data is in each record.
- OSINT for B2B sales: a practical playbook — broader prospecting workflow that includes NPI data alongside other public sources.