primaryTaxonomyCode
Optional
NUCC code of the primary specialty, chosen by the record's own primary flag rather than by position in the list.
NPI Registry Search - US Healthcare Providers
Pricing
Pay per event
Searches the NPPES NPI Registry for US doctors, dentists, clinics and other healthcare providers, with practice address, phone and specialty. NPPES caps any one search at 1,200 records and never says how many matched, so every row here carries whether the answer is complete. No key and no login.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Gregory Bolshakov
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
20 hours ago
Last modified
Categories
Share
npi
Optional
The provider's 10-digit National Provider Identifier. Unique and permanent, so it is the key to join these rows to anything else.
entityType
Optional
individual for a person, organization for a practice or facility. Which name fields are filled depends on this, because NPPES stores the two entirely differently.
enumerationType
Optional
NPPES's own name for the entity type: NPI-1 for an individual, NPI-2 for an organisation.
organizationName
Optional
The organisation's legal name. Null on individual providers.
firstName
Optional
The provider's first name. Null on organisations.
lastName
Optional
The provider's last name. Null on organisations.
middleName
Optional
The provider's middle name, where NPPES holds one.
namePrefix
Optional
Title such as Dr. or Mr., on individual providers. Present on 42% of 600 sampled individual records.
nameSuffix
Optional
Suffix such as Jr. or III, on individual providers. Present on 26% of 600 sampled individual records.
credential
Optional
Credential as the provider filed it, for example MD, DDS or NP. Free text, so spelling and punctuation vary between records.
sex
Optional
M or F, on individual providers only. NPPES names this field sex rather than gender, and it was filled on all 600 individual records sampled on 2026-08-31.
soleProprietor
Optional
Whether an individual provider files as a sole proprietor.
status
Optional
NPPES status code. A is active. Measured on 4,600 records across 12 query shapes on 2026-08-31, every record a search returned had status A, so this column is near constant in practice. It is kept because the field is the source's and a value other than A would matter.
isActive
Optional
True when status is A. Every one of 4,600 sampled search results was active, so a search does not appear to return deactivated NPIs at all. Do not read a row's presence here as proof the provider is still practising: the record can be years stale and still active, which is what lastUpdated is for.
enumerationDate
Optional
When the NPI was first issued.
certificationDate
Optional
When the record was last certified by its owner.
lastUpdated
Optional
When NPPES last changed the record. A record untouched for years is still returned as current.
deactivationDate
Optional
When the NPI was deactivated, where NPPES gives a date.
practiceAddress
Optional
Street address of the practice location. This is the address_purpose LOCATION record, never the mailing one.
practiceCity
Optional
City of the practice location.
practiceState
Optional
State of the practice location.
practicePostalCode
Optional
Postal code of the practice location, usually nine digits with no separator.
practicePhone
Optional
Telephone number filed against the practice location.
practiceFax
Optional
Fax number filed against the practice location.
mailingAddress
Optional
Street address of the mailing record, kept separate on purpose. It is often a billing service in another state, so it is not interchangeable with the practice address.
mailingCity
Optional
City of the mailing record. Measured on 4,600 records, this differs from the practice city on 32.8% of them, which is why the two are never merged into one address.
mailingState
Optional
State of the mailing record.
mailingPostalCode
Optional
Postal code of the mailing record.
mailingPhone
Optional
Telephone number filed against the mailing record.
primaryTaxonomyCode
Optional
NUCC code of the primary specialty, chosen by the record's own primary flag rather than by position in the list.
primaryTaxonomyDescription
Optional
The primary specialty in words, for example Dermatology.
primaryTaxonomySource
Optional
How the primary specialty was decided. primary-flag means NPPES flagged exactly one, and it was the value on all 4,600 records sampled on 2026-08-31. The other three values, none-flagged-primary, several-flagged-primary and no-taxonomy, exist so a record that breaks that pattern is reported rather than quietly given whichever specialty came first in the list.
taxonomyCount
Optional
How many specialties the record holds in total.
allTaxonomyDescriptions
Optional
Every specialty on the record, in the order NPPES returns them.
licenseNumber
Optional
State licence number attached to the primary specialty. Many records carry none.
licenseState
Optional
State that issued that licence, which is not always the practice state.
practiceLocationCount
Optional
How many additional practice locations the record lists beyond the one address above. 7.8% of 4,600 sampled records had at least one, so a provider working at several sites is still one row and this is the only column that says so.
practiceLocationCities
Optional
The distinct cities of those extra locations, as CITY, ST. NPPES matches a city or state search against them as well as against the practice address, so this is often the column that explains why an out of state provider is in your results.
otherNames
Optional
Other names the record carries, such as a former or trading name.
searchSlice
Optional
The exact NPPES query this row came from. On a search that had to be split it names the piece, not the whole.
searchComplete
Optional
Whether the search that produced this row returned every matching provider. NPPES caps any one search at 1,200 records and publishes no total, so without this column a capped answer and a whole one are indistinguishable.
searchLimitedBy
Optional
Null when the answer is complete. sourceCeiling means NPPES cut it and no further split was available. maxResults means you asked for fewer rows than exist. requestBudget and timeBudget mean the run stopped itself.
searchRowsReturned
Optional
How many rows the search produced in total, so a single row still says how large the answer it came from was.