API Endpoint: NPI Registry

The npi-registry endpoint verifies a National Provider Identifier against the CMS NPPES registry.

POST /api/v1/validate/npi-registry

https://www.tincomply.com/api/v1/validate/npi-registry

Looks up a National Provider Identifier in the CMS NPPES registry and returns its status, the registered provider name, specialty, license and practice address. Send a name as well and the response tells you whether it matches the registry.

Request body

FieldTypeDescription
npirequired string The 10-digit NPI.
name string Optional. The provider name on your record, compared against the registry name.

Response object: npiRegistryResult

FieldTypeDescription
found, active, deactivatedboolRegistry status of the NPI.
invalidCheckDigitboolTrue when the NPI fails its check-digit test and cannot be valid.
status, enumerationTypestringRegistry status code and NPI type (NPI-1 individual, NPI-2 organization).
isOrganization, soleProprietorboolProvider type flags.
name, credentialstringRegistered provider name and credential.
authorizedOfficialName, authorizedOfficialTitlestringAuthorized official, for organizations.
specialty, licenseNumber, licenseStatestringPrimary taxonomy and license.
practiceAddress, mailingAddressobjectline1, city, state, postalCode, countryCode, telephone.
enumerationDate, lastUpdated, retrievedOndatetimeRegistry dates and when we retrieved the record.
submittedName, nameMatched, nameMatchScoremixedComparison against the name you sent, when you sent one.
industryPaymentsarrayCMS Open Payments summary by category: label, transactionCount, totalAmount.
industryPaymentsTotal, industryPaymentsTransactionsnumberOpen Payments totals.
messagestringHuman-readable summary of the result.
completedboolFalse when the upstream source was unavailable and the request is queued for retry.

Pair this endpoint with medicare-enrollment and list-sanctions (which includes the OIG and state exclusion lists) for a complete provider check.

Sample request

curl -X POST https://www.tincomply.com/api/v1/validate/npi-registry \ -H "X-API-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"npi":"1245319599"}'

Sample response

{
  "id": "HqG4GysnqkOESU0DgJhQZAUw",
  "request": {
    "npi": "1245319599",
    "requestDate": "2026-10-06T03:03:13Z",
    "requestedServices": "npi-registry"
  },
  "npiRegistryResult": {
    "npi": "1245319599",
    "message": "Active",
    "found": true,
    "deactivated": false,
    "invalidCheckDigit": false,
    "active": true,
    "completed": true,
    "status": "A",
    "enumerationType": "NPI-1",
    "isOrganization": false,
    "name": "TEST PROVIDER",
    "credential": "M.D.",
    "soleProprietor": false,
    "specialty": "Hospitalist",
    "licenseNumber": "TEST-9001",
    "licenseState": "MD",
    "practiceAddress": {
      "line1": "1 TEST WAY",
      "city": "BALTIMORE",
      "state": "MD",
      "postalCode": "212010000",
      "countryCode": "US",
      "telephone": "4105550120"
    },
    "enumerationDate": "2006-05-23T00:00:00",
    "lastUpdated": "2019-07-08T00:00:00",
    "retrievedOn": "2026-10-06T03:03:13Z",
    "industryPayments": [
      { "label": "Consulting fees", "transactionCount": 24, "totalAmount": 71350.00 },
      { "label": "Food and beverage", "transactionCount": 910, "totalAmount": 36711.18 }
    ],
    "industryPaymentsTotal": 150865.17,
    "industryPaymentsTransactions": 1038
  }
}

Errors

Requests that cannot be processed return HTTP 400 with an object keyed by field name, each listing what was wrong. Authentication, permission and other status codes are covered in the API overview.

This endpoint requires an API key with the Validate permission.

See how this check works in the portal and what it costs: NPI & Medicare Verification