Skip to content

Plans and Rates

Under the Affordable Care Act (ACA), health insurance plans sold on the individual marketplace are standardized around a set of required data fields. Every plan has:

  • A HIOS Plan ID — a unique identifier assigned by the Health Insurance Oversight System
  • An issuer — the insurance company offering the plan
  • A metal level — categorizing the plan’s actuarial value
  • A plan type — the network structure (HMO, PPO, EPO, POS)
  • Cost-sharing details — deductibles, copays, coinsurance, and out-of-pocket maximums

ACA plans use age-rated premiums: the same plan costs different amounts depending on the enrollee’s age. The API stores rate tables with premiums for every age from 14 to 65+.

When you search for plans with an age parameter, the API joins each plan with its corresponding rate record for that age, so the returned premium field reflects the actual monthly cost.

Plans are identified by their Standard Component ID, which follows the HIOS format:

12345AB0010001-01
│ │ │ │ │
│ │ │ │ └─ variant (01 = standard)
│ │ │ └──── plan number within product
│ │ └───────── product number
│ └──────────── state code (2 letters)
└────────────────── issuer ID (5 digits)

The API uses standard_component_id as the primary plan identifier. When fetching plan details, use the full ID including the variant suffix.

Plans and rates are stored in separate tables and joined via plans.standard_component_id = rates.plan_id. This is an important detail: the join key is the standard component ID, not the plan’s primary key.

Plan and rate data is sourced from CMS Public Use Files (PUFs) and state exchange data, loaded at the start of each plan year. The current dataset covers plan year 2026.