Data dictionary
Every field the API returns, with its type and meaning. The paths and types come from real responses for each schema in /openapi.json, so this page cannot fall behind the API.
.mdView as MarkdownUpdated 2026-10-30
Envelope
Every successful response has these top-level fields. data changes by endpoint.
| FIELD | DESCRIPTION |
|---|---|
request_idstring | Unique to this request. Also sent as the X-Request-Id header. Quote it when you contact support. |
data_as_ofdate | null | The date of the newest data behind this response. |
dataobject | The answer. Its fields depend on the endpoint and are listed below. |
sourcesobject[] | The types of data behind the response, each with its date. |
sources[].typestring | The source type: insurer_directory, plan_directory, provider_registry or plan_catalog. |
sources[].descriptionstring | The source type in plain words. |
sources[].as_ofdate | null | The date this type of data is current to. |
notesstring[] | Short notes to show next to the answer. Present on most endpoints. |
Check
data of GET /v1/check.
| FIELD | DESCRIPTION |
|---|---|
npistring | The NPI you checked. |
plan_idstring | The plan we checked. Marketplace ids are normalized to the 14-character plan id. |
input_plan_idstring | The plan id exactly as you sent it. |
marketstring | aca for marketplace plans, ma for Medicare Advantage plans. |
plan_years_listedinteger[] | Plan years in which the directory lists the provider for this plan. |
in_networktrue | null | true: the directory lists the provider for this plan. null: no listing found in current directory data. It is never a statement that the provider is out of network. |
answerstring | listed, not_found, or no_provider_network for a prescription drug plan id (contract ids that start with S). |
explanationstring | One plain sentence that states the answer. Safe to show to users as it is. |
evidenceobject[] | One entry for each listing we found. Empty when the answer is not_found. |
evidence[].plan_idstring | The plan of this listing. |
evidence[].plan_yearinteger | The plan year of this listing. |
evidence[].network_tierstring | Marketplace plans: the tier the directory names, for example PARTICIPATING or PREFERRED. Several tiers are joined with commas. |
evidence[].sourceobject | Where this listing comes from. |
evidence[].source.typestring | insurer_directory for marketplace plans, plan_directory for Medicare Advantage plans. |
evidence[].source.as_ofdate | The date we read that directory. |
evidence[].accepting_new_patientsboolean | null | Medicare Advantage plans: whether the directory says the provider accepts new patients (null when it does not say). |
evidence[].provider_kindstring | Medicare Advantage plans: the kind of provider listed, for example practitioner. |
plan_yearinteger | null | The plan year this answer is about: the year you sent, else the newest year listed, else the newest plan year we hold. |
planobject | null | Plan details. null when we hold no details for this plan id. |
plan.plan_namestring | The plan name as the insurer publishes it. |
plan.issuerobject | Marketplace plans: the insurer. |
plan.issuer.idstring | The 5-digit insurer id (the first 5 characters of the plan id). |
plan.issuer.namestring | The insurer name. |
plan.statestring | Marketplace plans: the state the plan is sold in. |
plan.metal_levelstring | Marketplace plans: Bronze, Expanded Bronze, Silver, Gold, Platinum or Catastrophic. |
plan.plan_typestring | HMO, PPO, EPO, POS and similar. |
plan.variantstring | null | Marketplace plans: the 2-digit variant you sent (for example 01), else null. |
plan.organizationstring | Medicare Advantage plans: the organization that offers the plan. |
plan.service_area_statesstring[] | Medicare Advantage plans: the states in the plan's service area. |
sourceobject | The source type of the answer and its date. |
source.typestring | insurer_directory or plan_directory. |
source.as_ofdate | null | The date we read the directory that gave this answer. |
as_ofdate | null | The date we read the directory that gave this answer (same as source.as_of). |
Batch check
data of POST /v1/check/batch. Each item in results has the fields of a check, plus index.
| FIELD | DESCRIPTION |
|---|---|
countinteger | The number of items you sent. |
summaryobject | Counts of the answers in this batch. |
summary.listedinteger | Items answered listed. |
summary.not_foundinteger | Items answered with in_network: null. |
summary.invalidinteger | Items that failed validation and carry an error. |
resultsobject[] | One result for each item, in the order you sent them. |
results[].indexinteger | The position of the item in your items array, starting at 0. |
results[].npistring | The NPI you checked. |
results[].plan_idstring | The plan we checked. Marketplace ids are normalized to the 14-character plan id. |
results[].input_plan_idstring | The plan id exactly as you sent it. |
results[].marketstring | aca for marketplace plans, ma for Medicare Advantage plans. |
results[].plan_years_listedinteger[] | Plan years in which the directory lists the provider for this plan. |
results[].in_networktrue | null | true: the directory lists the provider for this plan. null: no listing found in current directory data. It is never a statement that the provider is out of network. |
results[].answerstring | listed, not_found, or no_provider_network for a prescription drug plan id (contract ids that start with S). |
results[].explanationstring | One plain sentence that states the answer. Safe to show to users as it is. |
results[].evidenceobject[] | One entry for each listing we found. Empty when the answer is not_found. |
results[].evidence[].plan_idstring | The plan of this listing. |
results[].evidence[].plan_yearinteger | The plan year of this listing. |
results[].evidence[].network_tierstring | Marketplace plans: the tier the directory names, for example PARTICIPATING or PREFERRED. Several tiers are joined with commas. |
results[].evidence[].sourceobject | Where this listing comes from. |
results[].evidence[].source.typestring | insurer_directory for marketplace plans, plan_directory for Medicare Advantage plans. |
results[].evidence[].source.as_ofdate | The date we read that directory. |
results[].evidence[].accepting_new_patientsboolean | null | Medicare Advantage plans: whether the directory says the provider accepts new patients (null when it does not say). |
results[].evidence[].provider_kindstring | Medicare Advantage plans: the kind of provider listed, for example practitioner. |
results[].plan_yearinteger | null | The plan year this answer is about: the year you sent, else the newest year listed, else the newest plan year we hold. |
results[].planobject | null | Plan details. null when we hold no details for this plan id. |
results[].plan.plan_namestring | The plan name as the insurer publishes it. |
results[].plan.issuerobject | Marketplace plans: the insurer. |
results[].plan.issuer.idstring | The 5-digit insurer id (the first 5 characters of the plan id). |
results[].plan.issuer.namestring | The insurer name. |
results[].plan.statestring | Marketplace plans: the state the plan is sold in. |
results[].plan.metal_levelstring | Marketplace plans: Bronze, Expanded Bronze, Silver, Gold, Platinum or Catastrophic. |
results[].plan.plan_typestring | HMO, PPO, EPO, POS and similar. |
results[].plan.variantstring | null | Marketplace plans: the 2-digit variant you sent (for example 01), else null. |
results[].plan.organizationstring | Medicare Advantage plans: the organization that offers the plan. |
results[].plan.service_area_statesstring[] | Medicare Advantage plans: the states in the plan's service area. |
results[].sourceobject | The source type of the answer and its date. |
results[].source.typestring | insurer_directory or plan_directory. |
results[].source.as_ofdate | null | The date we read the directory that gave this answer. |
results[].as_ofdate | null | The date we read the directory that gave this answer (same as source.as_of). |
results[].errorobject | Only on an item that failed validation. The other fields of a check are then absent. |
results[].error.typestring | The problem type, for example invalid_npi. |
results[].error.titlestring | A short summary. |
results[].error.detailstring | What is wrong with this item. |
Provider profile
data of GET /v1/providers/{npi}.
| FIELD | DESCRIPTION |
|---|---|
npistring | The NPI you asked for. |
profile_foundboolean | true when we hold identity details for this NPI. When false, only npi, plan_summary and links are present. |
nameobject | The name as published, with a display form. |
name.firststring | First name. |
name.middlestring | Middle name. |
name.laststring | Last name. |
name.suffixstring | null | Suffix, for example Jr. |
name.displaystring | Name and credential ready to show, for example "Michael B. Williard, MD". We never add titles. |
credentialstring | The credential as published, for example MD, DO, NP or PA. |
genderstring | male, female, or null when not published. |
statusstring | active or deactivated in the national provider registry. |
specialtiesobject[] | Specialties, primary first. |
specialties[].namestring | The specialty name. |
specialties[].primaryboolean | true for the primary specialty. |
educationobject | Training details, or null when not published. |
education.medical_schoolstring | The school named in the registry. |
education.graduation_yearinteger | The graduation year. |
locationsobject[] | Practice locations. |
locations[].address_line_1string | Street address. null when the provider asked us to hide contact details. |
locations[].address_line_2string | null | Suite or second address line. |
locations[].citystring | City. |
locations[].statestring | 2-letter state code. |
locations[].zipstring | 5-digit ZIP code. |
locations[].phonestring | null | Phone number, digits only. null when not published or hidden at the provider's request. |
locations[].latitudenumber | null | Latitude of the location, when known. |
locations[].longitudenumber | null | Longitude of the location, when known. |
locations[].groupobject | The group practice at this location, or null. |
locations[].group.namestring | The group name. |
locations[].group.pac_idstring | The group identifier in the national registry. |
locations[].telehealthboolean | null | true when the registry marks telehealth at this location, else null. |
groupsobject[] | Group practices the provider belongs to. |
groups[].namestring | The group name. |
groups[].pac_idstring | The group identifier in the national registry. |
groups[].membersinteger | Number of providers in the group. |
affiliationsobject[] | Facilities the provider is affiliated with. |
affiliations[].facility_typestring | For example Hospital or Home health agency. |
affiliations[].ccnstring | The facility's 6-character certification number. |
affiliations[].namestring | null | Facility name, when we hold it. |
affiliations[].citystring | null | Facility city. |
affiliations[].statestring | null | Facility state. |
privacyobject | Privacy settings for this record. |
privacy.contact_maskedboolean | true when the provider asked us to hide street address and phone. Those fields are then null. |
plan_summaryobject | Counts of the plans that list this provider. Get the plans from links.plans. |
plan_summary.acaobject | Marketplace plans. |
plan_summary.aca.plansinteger | Plan and plan-year pairs that list the provider. |
plan_summary.aca.issuersinteger | Insurers among those plans. |
plan_summary.aca.statesstring[] | States of those plans. |
plan_summary.aca.plan_yearsinteger[] | Plan years with a listing. |
plan_summary.aca.as_ofdate | The newest date we read a directory that lists the provider. |
plan_summary.maobject | Medicare Advantage plans. |
plan_summary.ma.plansinteger | Plan and plan-year pairs that list the provider. |
plan_summary.ma.organizationsinteger | Organizations among those plans. |
plan_summary.ma.plan_yearsinteger[] | Plan years with a listing. |
plan_summary.ma.accepting_new_patients_anyboolean | true when at least one directory says the provider accepts new patients, else null. |
plan_summary.ma.as_ofdate | The newest date we read a directory that lists the provider. |
linksobject | Related endpoints. |
links.plansstring | The path of the full plan list for this provider. |
Plans that list a provider
data of GET /v1/providers/{npi}/plans.
| FIELD | DESCRIPTION |
|---|---|
npistring | The NPI you asked for. |
provider_statesstring[] | States of the provider's practice locations. |
filtersobject | The filters you sent (null when not sent). |
filters.marketstring | null | aca, ma or null. |
filters.statestring | null | The state filter. |
filters.yearinteger | null | The plan year filter. |
totalinteger | Plans that match the filters, across all pages. |
countsobject | The total, split by market. |
counts.acainteger | Marketplace plans that match. |
counts.mainteger | Medicare Advantage plans that match. |
offsetinteger | The offset of this page. |
limitinteger | The page size. |
next_offsetinteger | null | The offset for the next page, or null on the last page. |
plansobject[] | The plans on this page: marketplace plans first, then Medicare Advantage plans. |
plans[].marketstring | aca or ma. |
plans[].plan_idstring | The plan id. |
plans[].plan_yearinteger | The plan year of this listing. |
plans[].plan_namestring | null | The plan name, when we hold plan details. |
plans[].issuerobject | Marketplace plans: the insurer. |
plans[].issuer.idstring | The 5-digit insurer id. |
plans[].issuer.namestring | null | The insurer name, when we hold it. |
plans[].statestring | Marketplace plans: the plan state. |
plans[].metal_levelstring | null | Marketplace plans: the metal level. |
plans[].plan_typestring | null | HMO, PPO, EPO, POS and similar. |
plans[].network_tiersstring[] | Marketplace plans: the tiers the directory names for this provider. |
plans[].plan_details_availableboolean | true when plan name, metal level and plan type are included. |
plans[].sourceobject | Where this listing comes from. |
plans[].source.typestring | insurer_directory or plan_directory. |
plans[].source.as_ofdate | null | The date we read that directory. |
plans[].organizationstring | Medicare Advantage plans: the organization that offers the plan. |
plans[].snpobject | Medicare Advantage plans: special needs plan details. |
plans[].snp.is_snpboolean | true for a special needs plan. |
plans[].snp.typestring | The special needs plan type, as published. |
plans[].service_area_statesstring[] | Medicare Advantage plans: states in the plan's service area. |
plans[].accepting_new_patientsboolean | null | Medicare Advantage plans: whether the directory says the provider accepts new patients. |
plans[].provider_kindstring | Medicare Advantage plans: the kind of provider listed. |
plans[].taxonomystring | Medicare Advantage plans: the provider taxonomy code listed with the network entry. |
plans[].provider_state_in_service_areaboolean | null | Medicare Advantage plans: true when one of the provider's states is in the service area, null when either side is unknown. |
Plan details
data of GET /v1/plans/{plan_id}. Marketplace and Medicare Advantage plans share some fields and add their own.
| FIELD | DESCRIPTION |
|---|---|
marketstring | aca or ma. |
plan_idstring | The normalized plan id. |
plan_yearinteger | The plan year of these details: the year you sent, else the newest year we hold. |
plan_namestring | The plan name as published. |
issuerobject | Marketplace plans: the insurer. |
issuer.idstring | The 5-digit insurer id. |
issuer.namestring | The insurer name. |
statestring | Marketplace plans: the plan state. |
metal_levelstring | Marketplace plans: the metal level. |
plan_typestring | HMO, PPO, EPO, POS and similar. |
marketsstring[] | Marketplace plans: the markets the plan is sold in, for example Individual. |
network_idstring | Marketplace plans: the insurer's network id for this plan. |
variant_idsstring[] | Marketplace plans: every variant id of this plan. |
plan_details_availableboolean | true when plan name and plan details are included. |
listingsobject | Whether we hold provider listings for this plan. |
listings.has_listingsboolean | true when we hold provider listings for this plan. |
listings.as_ofdate | The date we read its directory. |
variantstring | null | Marketplace plans: the variant you sent, else null. |
input_plan_idstring | The plan id exactly as you sent it. |
available_yearsinteger[] | Every plan year we hold for this plan. |
linksobject | Related endpoints. |
links.providersstring | The path of the provider list for this plan. |
links.checkstring | A check path for this plan. Put an NPI in place of {npi}. |
contract_idstring | Medicare Advantage plans: the contract id (the part before the first dash). |
contract_namestring | Medicare Advantage plans: the contract name as published. |
organizationstring | Medicare Advantage plans: the organization that offers the plan. |
parent_organizationstring | Medicare Advantage plans: the parent organization. |
categorystring | Medicare Advantage plans: the plan category, for example MA-PD. |
snpobject | Medicare Advantage plans: special needs plan details. |
snp.is_snpboolean | true for a special needs plan. |
snp.typestring | The special needs plan type, as published. |
service_areaobject | Medicare Advantage plans: the service area. |
service_area.statesstring[] | States in the service area. |
service_area.countiesinteger | Number of counties in the service area. |
star_ratingnumber | null | Medicare Advantage plans: the overall star rating published for the plan. |
monthly_premiumobject | Medicare Advantage plans: the monthly premium range in US dollars. |
monthly_premium.mininteger | Lowest monthly premium. |
monthly_premium.maxinteger | Highest monthly premium. |
Providers in a plan
data of GET /v1/plans/{plan_id}/providers.
| FIELD | DESCRIPTION |
|---|---|
plan_idstring | The plan id. |
plan_yearinteger | The plan year of these listings. |
plan_namestring | The plan name. |
issuerobject | The insurer. |
issuer.idstring | The 5-digit insurer id. |
issuer.namestring | The insurer name. |
filtersobject | The filters you sent (null when not sent). |
filters.statestring | null | State filter. |
filters.zipstring | null | ZIP filter. |
filters.radiusinteger | null | Radius in miles around zip. |
filters.specialtystring | null | Specialty filter, in upper case. |
providersobject[] | Providers on this page, in directory order. |
providers[].npistring | The NPI. |
providers[].namestring | null | Display name with credential. |
providers[].credentialstring | null | The credential as published. |
providers[].primary_specialtystring | null | The primary specialty. |
providers[].network_tiersstring[] | Tiers the directory names for this provider in this plan. |
providers[].locationsobject[] | Up to 5 practice locations that match your filters. |
providers[].locations[].citystring | City. |
providers[].locations[].statestring | State. |
providers[].locations[].zipstring | ZIP code. |
providers[].locations[].distance_milesnumber | null | Miles from the zip you sent, when you sent radius. Else null. |
providers[].profile_foundboolean | true when we hold identity details for this NPI. |
pageobject | Paging state. See Pagination. |
page.limitinteger | The page size you asked for. |
page.rows_scannedinteger | Listing rows read for this page. |
page.scanned_throughinteger | Listing rows read so far, across pages. |
page.max_depthinteger | The most listing rows paging reads for one plan. |
page.next_cursorstring | null | Pass it as cursor for the next page. null on the last page. |
sourceobject | The source type and date of these listings. |
source.typestring | Always insurer_directory. |
source.as_ofdate | The date we read the directory. |
Coverage
data of GET /v1/coverage.
| FIELD | DESCRIPTION |
|---|---|
filtersobject | The filters you sent (null when not sent). |
filters.marketstring | null | aca, ma or null. |
filters.statestring | The state filter. |
filters.yearinteger | null | The plan year filter. |
marketsstring[] | Markets with listings for these filters. |
summaryobject | Totals by market, then by plan year. |
summary.{market}object | aca or ma. |
summary.{market}.{year}object | Totals for one plan year. |
summary.{market}.{year}.statesinteger | States with listings. |
summary.{market}.{year}.insurersinteger | Insurers or organizations with listings. |
summary.{market}.{year}.plansinteger | Plans with listings. |
summary.{market}.{year}.as_ofdate | The newest date we read a directory in this group. |
rowsobject[] | One row for each market, state, insurer and plan year with listings. |
rows[].marketstring | aca or ma. |
rows[].statestring | 2-letter state code. |
rows[].insurerstring | The insurer or organization name. |
rows[].plan_yearinteger | The plan year. |
rows[].plansinteger | Plans with listings in this row. |
rows[].as_ofdate | null | The date we read the directory for this row. |
Status
data of GET /v1/status.
| FIELD | DESCRIPTION |
|---|---|
statusstring | ok, degraded (answers still served), busy or paused. busy and paused come with HTTP 503. |
api_enabledboolean | false while the API is paused for maintenance. |
versionstring | The running API build. |
timestring | Server time, ISO 8601 UTC. |
checksobject | Health of the parts behind the API. |
checks.databaseobject | The database check. |
checks.database.okboolean | true when the database answered. |
checks.database.latency_msinteger | null | Time the database check took, in milliseconds. |
checks.cacheobject | The cache check. |
checks.cache.okboolean | true when the cache answered. |
datasetsobject[] | Every source type with the date it is current to. |
datasets[].typestring | The source type: insurer_directory, plan_directory, provider_registry or plan_catalog. |
datasets[].descriptionstring | The source type in plain words. |
datasets[].as_ofdate | The date this type of data is current to. |
Problem
The body of every error. See Errors.
| FIELD | DESCRIPTION |
|---|---|
typestring | Short problem type. Branch your code on this value. See Errors. |
titlestring | A short, readable summary. |
statusinteger | The HTTP status code. |
detailstring | What went wrong with this request, in one sentence. |
instancestring | The path you called. |
request_idstring | Unique to this request. Quote it to support. |
docsstring | A link to the matching entry on the errors page. |
current_planstring | plan_upgrade_required only: the plan of the key you sent. |
required_planstring | plan_upgrade_required only: the smallest plan that includes the endpoint. |
sample_npisstring[] | demo_restricted only: the NPIs the demo key answers for. |
Docs / Reference / Data dictionaryNext: Versioning