CMS Marketplace API

The Marketplace API exposes Qualified Health Plan (QHP) and Stand-alone Dental Plan (SADP) data from healthcare.gov including plan finder, plan compare, plan rates, plan benefits, plan crosswalks, and issuer details. Powers consumer plan-shopping experiences across HealthCare.gov and partner brokers.

CMS Marketplace API is one of 10 APIs that CMS — Centers for Medicare & Medicaid Services publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 1 machine-runnable capability that can be deployed as REST, MCP, or Agent Skill surfaces via Naftiko.

Tagged areas include Healthcare, Marketplace, Insurance, ACA, and Plans. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, and 1 Naftiko capability spec.

OpenAPI Specification

cms-gov-marketplace-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: CMS Marketplace API
  description: |
    The Marketplace API exposes Qualified Health Plan (QHP) and Stand-alone Dental Plan
    (SADP) data from healthcare.gov including plan finder, plan compare, plan rates, plan
    benefits, and crosswalks. Powers consumer plan-shopping experiences across
    HealthCare.gov and partner brokers.
  version: '1.0'
  contact:
    name: CMS Marketplace API
    url: https://developer.cms.gov/marketplace-api/
  license:
    name: Public Domain (U.S. Government Work)
    url: https://www.usa.gov/government-works
servers:
- url: https://marketplace.api.healthcare.gov/api/v1
  description: Production
security:
- ApiKey: []
paths:
  /plans/search:
    post:
      summary: Search Marketplace Plans
      operationId: searchPlans
      description: Search QHPs available to a household based on location, income, and household composition.
      tags: [Plans]
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                household: { type: object }
                place: { type: object }
                market: { type: string, enum: [Individual, SHOP] }
                year: { type: integer }
      responses:
        '200':
          description: List of matching plans
          content:
            application/json:
              schema:
                type: object
                properties:
                  total: { type: integer }
                  plans: { type: array, items: { $ref: '#/components/schemas/Plan' } }
  /plans/{planId}:
    get:
      summary: Get Plan Details
      operationId: getPlan
      tags: [Plans]
      parameters:
      - { name: planId, in: path, required: true, schema: { type: string } }
      - { name: year, in: query, schema: { type: integer } }
      responses:
        '200':
          description: Plan details
          content: { application/json: { schema: { $ref: '#/components/schemas/Plan' } } }
  /counties/by/zip/{zip}:
    get:
      summary: Get Counties by ZIP
      operationId: getCountiesByZip
      tags: [Geography]
      parameters:
      - { name: zip, in: path, required: true, schema: { type: string } }
      responses:
        '200': { description: List of counties }
  /issuers:
    get:
      summary: List Issuers
      operationId: listIssuers
      tags: [Issuers]
      responses:
        '200': { description: List of QHP issuers }
  /providers/search:
    post:
      summary: Search Providers
      operationId: searchProviders
      tags: [Providers]
      requestBody:
        required: true
        content: { application/json: { schema: { type: object } } }
      responses:
        '200': { description: Matching providers and networks }
  /drugs/autocomplete:
    get:
      summary: Drug Autocomplete
      operationId: drugAutocomplete
      tags: [Drugs]
      parameters:
      - { name: q, in: query, required: true, schema: { type: string } }
      responses:
        '200': { description: Drug suggestions }
  /forms/eligibility:
    post:
      summary: Check Subsidy Eligibility
      operationId: checkEligibility
      tags: [Eligibility]
      requestBody:
        required: true
        content: { application/json: { schema: { type: object } } }
      responses:
        '200': { description: Eligibility result including APTC and CSR }
components:
  securitySchemes:
    ApiKey:
      type: apiKey
      in: query
      name: apikey
  schemas:
    Plan:
      type: object
      properties:
        id: { type: string }
        name: { type: string }
        issuer: { type: object }
        metal_level: { type: string, enum: [Bronze, Silver, Gold, Platinum, Catastrophic] }
        type: { type: string, enum: [HMO, PPO, EPO, POS, Indemnity] }
        premium: { type: number }
        deductibles: { type: array, items: { type: object } }
        moops: { type: array, items: { type: object } }
        benefits: { type: array, items: { type: object } }