Providers and NPIs
Every provider is identified by a 10-digit NPI (National Provider Identifier). Send it as a string, and keep the leading digit.
NPI format
An NPI has 10 digits and starts with 1 or 2. The last digit is a check digit (Luhn, with the prefix 80840). We validate it before any lookup, so a typo answers 400 invalid_npi instead of a wrong answer.
{ "type": "invalid_npi", "title": "Invalid NPI", "status": 400, "detail": "\"1234567890\" fails the NPI check digit (Luhn with prefix 80840).", "instance": "/v1/check", "request_id": "req_tyeV9VkOEHSgXbbW", "docs": "https://inplan.io/docs/errors#invalid_npi"}
Provider profiles
GET /v1/providers/{npi} returns the name, credential, specialties, practice locations, group practices and facility affiliations from national provider registry records, plus plan_summary: how many marketplace and Medicare Advantage plans list the provider.
{ "data": { "npi": "1184617268", "profile_found": true, "name": { "first": "Michael", "middle": "Buttimer", "last": "Williard", "suffix": null, "display": "Michael B. Williard, MD" }, "credential": "MD", "gender": "male", "status": "active", "specialties": [ { "name": "Orthopedic Surgery", "primary": true } ], "education": { "medical_school": "Ohio State University College of Medicine", "graduation_year": 1987 }, "locations": [ { "address_line_1": "605 Crescent Pl", "address_line_2": null, "city": "Gahanna", "state": "OH", "zip": "43230", "phone": "6145457900", "latitude": null, "longitude": null, "group": { "name": "Orthopedic One, Inc.", "pac_id": "3072598283" }, "telehealth": null } ], "groups": [ { "name": "Orthopedic One, Inc.", "pac_id": "3072598283", "members": 282 } ], "affiliations": [ { "facility_type": "Home health agency", "ccn": "368154", "name": null, "city": null, "state": null }, { "facility_type": "Hospital", "ccn": "360035", "name": "Mount Carmel East & West", "city": "Columbus", "state": "OH" } ], "privacy": { "contact_masked": false }, "plan_summary": { "aca": { "plans": 77, "issuers": 4, "states": [ "OH" ], "plan_years": [ 2025, 2026, 2027 ], "as_of": "2026-10-28" }, "ma": { "plans": 36, "organizations": 4, "plan_years": [ 2027 ], "accepting_new_patients_any": true, "as_of": "2026-10-29" } }, "links": { "plans": "/v1/providers/1184617268/plans" } }}
Names and credentials
name.display joins the name and the credential as published, for example "Michael B. Williard, MD". We never add titles such as "Dr.": show the credential, not a title.
Listings without a profile
Some NPIs appear in plan directories but not in our registry records. Then profile_found is false, the identity fields are absent, and plan_summary still counts the plans. An NPI with neither answers 404 not_found.
Privacy
Providers can ask us to hide their street address and phone. Then privacy.contact_masked is true and those fields are null. City, state and ZIP stay. We hold no patient data.