NEWMedicare Advantage 2027 plans are live in the API.Read the changelog
THE PLATFORM

One network answer. Three ways to get it.

Look up a provider, check a provider against a plan, or take the full set as data files. Each answer arrives with its source type, plan year and the date we read it.

REST and JSONTypical response under 50 msNo patient data
The answer receipt: a lookup window for NPI 1184617268, Michael Williard, MD, Orthopedic Surgery, Gahanna, OH, listing four of 74 plans, each Listed with its read-on date. Below it a receipt stub tears off: 38 marketplace and 36 Medicare Advantage plans from network directories published by insurers, stamped Listed.
01 · NETWORK API

Send an NPI. Get every plan that lists the provider.

One request returns the provider's profile and each marketplace and Medicare Advantage plan whose directory lists them. Each plan comes with its own evidence.

GET /v1/providers/{npi}Profile, specialty, practice locations
GET /v1/providers/{npi}/plansEvery plan that lists the provider
GET /v1/plans/{plan_id}Plan name, market, plan year
GET /v1/plans/{plan_id}/providersProviders a plan lists · Growth and Scale
GET /v1/coverageA summary of the data we hold
One provider, fanned out to every plan that lists them: NPI 1184617268, Michael Williard, MD, Orthopedic Surgery, Gahanna, OH, connects to 74 plans: 38 marketplace plans for plan year 2026 from 3 insurers, such as Anthem Bronze Pathway 10600, and 36 Medicare Advantage plans for plan year 2027, such as Devoted Choice 001 OH (PPO) and Devoted Core 001 OH (HMO), each with its read-on date.
NPI 1184617268 · Michael Williard, MD · Gahanna, OH38 marketplace · 36 Medicare Adv.
02 · PLAN CHECK

Ask about one pair, or a hundred at once.

Plan Check answers one question: does this plan's directory list this provider? Send a single pair while a user waits, or up to 100 pairs in one batch call.

SINGLE CHECK
curl https://api.inplan.io/v1/check \
  -H "Authorization: Bearer $INPLAN_KEY" \
  -G -d npi=1184617268 -d plan_id=H2526-001-000
{
  "in_network": true,
  "answer": "listed",
  "plan": { "plan_name": "DEVOTED CHOICE 001 OH (PPO)", "plan_year": 2027 },
  "evidence": [{
    "plan_year": 2027,
    "accepting_new_patients": true,
    "source": { "type": "plan_directory", "as_of": "2026-10-29" }
  }],
  "request_id": "req_7f3a2c"
}
BATCH CHECK · UP TO 100 PAIRS
curl https://api.inplan.io/v1/check/batch \
  -H "Authorization: Bearer $INPLAN_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "items": [
    { "npi": "1184617268", "plan_id": "H2526-001-000" },
    { "npi": "1184617268", "plan_id": "<plan_id>" }
  ] }'
{
  "results": [
    { "answer": "listed",    "in_network": true, "evidence": [ … ] },
    { "answer": "not_found", "in_network": null, "evidence": [] }
  ],
  "request_id": "req_…"
}
The playground, framed: a request builder (endpoint GET /v1/check, NPI 1184617268, plan ID 29276OH0970001) beside a dark response panel: answer listed, plan Anthem Bronze Pathway 10600, plan year 2026, and an evidence block marked in yellow with network tier PARTICIPATING and as-of date 2026-07-27.
< 50 mstypical response time
100pairs in one batch call
1request ID on every answer, for your logs
03 · DATA FILES

The same answers, delivered as files.

Load provider-plan links into your own warehouse when you need to join them with your data. Files carry the same fields and evidence as API answers, so a row in your table and a call to the API always agree on what they mean.

DATA FILE PRICES
State fileOne state, every plan we hold there$299
National fileEvery state and plan we hold$1,499
RefreshA new copy of your files each time we refresh the data, billed monthly$199 /mo

Three marks. One meaning each.

Every answer uses the same small vocabulary, in the API, in data files and in the playground. Your product can map each mark to one clear message.

The three answers, as stamps: a green double-ring stamp with a tick, Listed, plan by plan; an ink stamp with an open centre, Not found, ask to confirm; an ink stamp around a small receipt whose date line sits on a yellow highlighter band, Evidence, source and date.
LISTEDThe plan's network directory lists the provider. You get the network tier, the plan year and the date."in_network": true
"answer": "listed"
NOT FOUNDNo listing found in current directory data for this provider and plan. The value is null, never false, so your product can ask the user to confirm."in_network": null
"answer": "not_found"
EVIDENCEThe receipt behind a listed answer: what kind of source, which tier and plan year, and when we read it."evidence": [ { … } ]
EVIDENCE FIELDS · EXAMPLES FROM SAMPLE ANSWERS FOR NPI 1184617268
FIELDWHAT IT TELLS YOUEXAMPLE
plan_yearThe plan year the listing applies to2027
network_tierThe tier the directory gives the providerPARTICIPATING
accepting_new_patientsWhether the directory marks the provider as open to new patientstrue
source.typeInsurer directory, plan directory, provider registry or plan catalogplan_directory
source.as_ofThe date we read that source2026-10-29
HOW ANSWERS ARE BUILT

Read, match, date, answer.

Each answer passes through four steps. The date of the source travels with the row from the first step to your screen.

From directory to answer, as a ledger: four ruled columns, Read (network directories published by insurers and national provider registries), Match (provider by NPI, plan by plan ID and year), Date (every row keeps its read-on date) and Answer (listed or not found, with its receipt). One row runs across all four: NPI 1184617268 matched to plan 29276OH0970001, read on 2026-07-27, listed, PARTICIPATING.
  1. 01 · READWe read network directories published by insurers, national provider registries and public plan catalogs.
  2. 02 · MATCHWe match each listing to one provider record by NPI and to one plan by its plan ID and plan year.
  3. 03 · DATEEvery row keeps the date we read its source. That date is the as_of value in your answer.
  4. 04 · ANSWERThe API returns listed with its evidence, or not found. Silence in a directory never becomes a "no".

Try a real answer in a minute.

The playground opens with sample NPIs and plan IDs already filled in. Make a call, read the evidence, then get your own key.

FIGURES ON THIS PAGE
Response time · measured on the production API · 2026-10-30Sample answers · NPI 1184617268 · marketplace read 2026-07-27 and 2026-10-28 · Medicare Advantage read 2026-10-29