Guide: health tech platforms
Add network status where your users already pick a provider: search results, matching and intake forms.
Show who the provider is
GET /v1/providers/{npi} returns the name with credential, specialties, practice locations and a count of the plans that list the provider.
curl https://api.inplan.io/v1/providers/1184617268 \ -H "Authorization: Bearer $INPLAN_KEY"
Search inside a plan
On Growth and above, GET /v1/plans/{plan_id}/providers pages through the providers a marketplace plan lists. Filter by state, zip with radius in miles, or specialty (a case-insensitive part of the specialty name).
curl https://api.inplan.io/v1/plans/29276OH0970001/providers \ -H "Authorization: Bearer $INPLAN_KEY" \ -G -d specialty=cardio -d limit=2
200 OK · shortened
{ "data": { "plan_id": "29276OH0970001", "plan_year": 2026, "plan_name": "Anthem Bronze Pathway 10600 ($0 Virtual PCP + $0 Select Drugs)", "issuer": { "id": "29276", "name": "Anthem Blue Cross and Blue Shield" }, "filters": { "state": null, "zip": null, "radius": null, "specialty": "CARDIO" }, "providers": [ { "npi": "1023120250", "name": "Jayanta T. Mukherjee, MD", "credential": "MD", "primary_specialty": "Cardiovascular Disease (cardiology)", "network_tiers": [ "PARTICIPATING" ], "locations": [ { "city": "Kettering", "state": "OH", "zip": "45429", "distance_miles": null } ], "profile_found": true } ], "page": { "limit": 2, "rows_scanned": 200, "scanned_through": 200, "max_depth": 5000, "next_cursor": "eyJvIjoyMDAsInkiOjIwMjYsInAiOiIyOTI3Nk9IMDk3MDAwMSJ9" }, "source": { "type": "insurer_directory", "as_of": "2026-07-27" } }}
Follow page.next_cursor until it is null. See Pagination.
Check at intake
When a user enters a plan, check it against their chosen provider with GET /v1/check, or check a whole roster with POST /v1/check/batch. Store as_of with the answer.
Docs / Guides / Health techNext: API reference