Centers for Medicare and Medicaid Services Bulk Data API

Information about the bulk data json files maintained by Marketplace API.

Operations 6

GET /data/apt Get data apt #
GET /data/decile-mapping Get data decile mapping #
GET /data/state-medicaid Get data state medicaid #
GET /data/rate-areas Get data rate areas #
GET /data/county-zips Get data county zips #
GET /data/crosswalk Get data crosswalk #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cms-bulk-data-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cms-bulk-data-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Marketplace Bulk Data API
  version: '1'
  description: '# About


    The Marketplace API delivers data that helps users find and evaluate health care insurance plans, providers, and coverage information on the marketplace.'
servers:
- url: https://marketplace.api.healthcare.gov/api/v1
security:
- API Key: []
tags:
- name: Bulk Data
  description: Information about the bulk data json files maintained by Marketplace API.
paths:
  /data/apt:
    x-summary: Bulk data containing our Applicable Percentage Tables
    get:
      tags:
      - Bulk Data
      description: Bulk data containing our Applicable Percentage Tables
      parameters:
      - $ref: '#/components/parameters/apikey'
      - $ref: '#/components/parameters/year-required'
      responses:
        '302':
          description: Successful response, will redirect to an S3 URL
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APT'
        '400':
          description: Bad Request, indicating an invalid market year has been provided
      summary: Get data apt
      x-summary-source: derived
      operationId: getDataApt
      x-operation-id-source: derived
  /data/decile-mapping:
    x-summary: Bulk data containing our OOPC Utilization Decile Mapping
    get:
      tags:
      - Bulk Data
      description: Bulk data containing our OOPC Utilization Decile Mapping
      parameters:
      - $ref: '#/components/parameters/apikey'
      - $ref: '#/components/parameters/year-required'
      responses:
        '302':
          description: Successful response, will redirect to an S3 URL
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DecileMapping'
        '400':
          description: Bad Request, indicating an invalid market year has been provided
      summary: Get data decile mapping
      x-summary-source: derived
      operationId: getDataDecileMapping
      x-operation-id-source: derived
  /data/state-medicaid:
    x-summary: Bulk data containing our State Medicaid data
    get:
      tags:
      - Bulk Data
      description: Bulk data containing our State Medicaid data
      parameters:
      - $ref: '#/components/parameters/apikey'
      - $ref: '#/components/parameters/year-required'
      responses:
        '302':
          description: Successful response, will redirect to an S3 URL
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/StateMedicaidList'
                type: array
        '400':
          description: Bad Request, indicating an invalid market year has been provided
      summary: Get data state medicaid
      x-summary-source: derived
      operationId: getDataStateMedicaid
      x-operation-id-source: derived
  /data/rate-areas:
    x-summary: Bulk data containing our rate area information
    get:
      tags:
      - Bulk Data
      description: Bulk data containing our rate area information
      parameters:
      - $ref: '#/components/parameters/apikey'
      - $ref: '#/components/parameters/year-required'
      responses:
        '302':
          description: Successful response, will redirect to an S3 URL
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/StateRateArea'
        '400':
          description: Bad Request, indicating an invalid market year has been provided
      summary: Get data rate areas
      x-summary-source: derived
      operationId: getDataRateAreas
      x-operation-id-source: derived
  /data/county-zips:
    x-summary: Bulk data containing our county zip information
    get:
      tags:
      - Bulk Data
      description: Bulk data containing our county zip information
      parameters:
      - $ref: '#/components/parameters/apikey'
      - $ref: '#/components/parameters/year-required'
      responses:
        '302':
          description: Successful response, will redirect to an S3 URL
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/StateCounty'
                type: array
        '400':
          description: Bad Request, indicating an invalid market year has been provided
      summary: Get data county zips
      x-summary-source: derived
      operationId: getDataCountyZips
      x-operation-id-source: derived
  /data/crosswalk:
    x-summary: Bulk data containing our Crosswalk data
    get:
      tags:
      - Bulk Data
      description: Bulk data containing our Crosswalk data
      parameters:
      - $ref: '#/components/parameters/apikey'
      - $ref: '#/components/parameters/year-required'
      responses:
        '302':
          description: Successful response, will redirect to an S3 URL
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Crosswalk'
        '400':
          description: Bad Request, indicating an invalid market year has been provided
      summary: Get data crosswalk
      x-summary-source: derived
      operationId: getDataCrosswalk
      x-operation-id-source: derived
components:
  parameters:
    apikey:
      name: apikey
      description: API key used for authentication
      in: query
      required: true
      x-example: d687412e7b53146b2631dc01974ad0a4
      schema:
        type: string
    year-required:
      x-example: 2019
      name: year
      description: 4 digit market year.
      in: query
      required: true
      schema:
        type: number
        format: integer
  schemas:
    DecileMapping:
      properties:
        low:
          $ref: '#/components/schemas/DecileUtilizationMapping'
        medium:
          $ref: '#/components/schemas/DecileUtilizationMapping'
        high:
          $ref: '#/components/schemas/DecileUtilizationMapping'
      type: object
    CrosswalkCode:
      properties:
        code:
          description: Integer code value
          format: integer
          type: number
        description:
          description: Human readable code description
          type: string
      type: object
    Range:
      properties:
        min:
          format: float
          type: number
        max:
          format: float
          type: number
      type: object
    DecileUtilizationMapping:
      properties:
        male:
          $ref: '#/components/schemas/DecileUtilizationAgeMap'
        femaile:
          $ref: '#/components/schemas/DecileUtilizationAgeMap'
      type: object
    DecileEnum:
      enum:
      - Decile 1
      - Decile 2
      - Decile 3
      - Decile 4
      - Decile 5
      - Decile 6
      - Decile 7
      - Decile 8
      - Decile 9
      - Decile 10
      type: string
      properties: {}
    APTTier:
      properties:
        pctFPL:
          description: Percentage of the Federal Poverty Line in regards to your income
          $ref: '#/components/schemas/Range'
        pctPremium:
          description: Percentage of the premium to pay based on the income range
          $ref: '#/components/schemas/Range'
      type: object
    StateCounty:
      properties:
        state:
          description: 2-letter USPS state abbreviation
          example: KS
          type: string
        counties:
          description: list of counties for given state
          items:
            $ref: '#/components/schemas/CountyZips'
          type: array
      type: object
    CountyZips:
      properties:
        name:
          type: string
          example: Sedgwick
        fips:
          format: ^[0-9]{5}$
          type: string
          example: 20173
        zips:
          items:
            format: ^[0-9]{5}$
            example: 67212
            type: string
          type: array
      type: object
    APT:
      properties:
        market_year:
          type: integer
          example: 2023
        tiers:
          items:
            $ref: '#/components/schemas/APTTier'
          type: array
      type: object
    RateAreaCounty:
      properties:
        rateArea:
          description: Rate area number for the given state.
          type: integer
          example: 6
        counties:
          description: list of counties for given state
          items:
            $ref: '#/components/schemas/CountyZips'
          type: array
      type: object
    StateMedicaidList:
      properties:
        fiscal_year:
          description: 4 digit fiscal year
          format: integer
          type: number
          example: 2023
        fiscal_quarter:
          description: Fiscal quarter (1 - 4)
          format: integer
          type: number
          example: 1
        states:
          items:
            $ref: '#/components/schemas/StateMedicaid'
          type: array
      type: object
    StateRateArea:
      properties:
        state:
          description: 2-letter USPS state abbreviation
          example: KS
          type: string
        rateAreas:
          description: list of rate areas for given state
          items:
            $ref: '#/components/schemas/RateAreaCounty'
          type: array
      type: object
    LowIncomeChild:
      properties:
        min_age:
          description: Minimum age
          format: integer
          type: number
        max_age:
          description: Maximum age
          format: integer
          type: number
        pc_fpl:
          description: Percentage federal poverty level
          format: float
          type: number
      type: object
    Crosswalk:
      properties:
        levels:
          items:
            $ref: '#/components/schemas/CrosswalkCode'
          type: array
        reasons:
          items:
            $ref: '#/components/schemas/CrosswalkCode'
          type: array
        data:
          items:
            $ref: '#/components/schemas/CrosswalkData'
          type: array
      type: object
    DecileUtilizationAgeMap:
      properties:
        '6':
          $ref: '#/components/schemas/DecileEnum'
        '18':
          $ref: '#/components/schemas/DecileEnum'
        '26':
          $ref: '#/components/schemas/DecileEnum'
        '35':
          $ref: '#/components/schemas/DecileEnum'
        '45':
          $ref: '#/components/schemas/DecileEnum'
        '55':
          $ref: '#/components/schemas/DecileEnum'
        '999':
          $ref: '#/components/schemas/DecileEnum'
      type: object
    StateMedicaid:
      properties:
        name:
          description: Uppercase name
          type: string
        abbrev:
          description: 2-letter USPS abbreviation
          type: string
        fiscal_year:
          description: 4 digit fiscal year
          format: integer
          type: number
        fiscal_quarter:
          description: Fiscal quarter (1 - 4)
          format: integer
          type: number
        pc_fpl_parent:
          description: Percentage federal poverty level parent caretaker
          format: float
          type: number
        pc_fpl_pregnant:
          description: Percentage medicaid federal poverty level pregnant woman
          format: float
          type: number
        pc_fpl_adult:
          description: Percentage federal poverty level adult group
          format: float
          type: number
        pc_fpl_child_newborn:
          description: Percentage medicaid federal poverty level child
          format: float
          type: number
        pc_fpl_child_1_5:
          description: Percentage medicaid federal poverty level child 1 - 5
          format: float
          type: number
        pc_fpl_child_6_18:
          description: Percentage medicaid federal poverty level child 6 - 18
          format: float
          type: number
        low_income_child:
          description: Low income child eligibility rules
          items:
            $ref: '#/components/schemas/LowIncomeChild'
          type: array
        chip:
          description: Children's Health Insurance Program eligibility rules
          items:
            $ref: '#/components/schemas/LowIncomeChild'
          type: array
      example:
        name: KANSAS
        abbrev: KS
        fiscal_year: 2019
        fiscal_quarter: 1
        pc_fpl_parent: 0.33
        pc_fpl_pregnant: 1.66
        pc_fpl_adult: 0
        pc_fpl_child_newborn: 1.66
        pc_fpl_child_1_5: 1.49
        pc_fpl_child_6_18: 1.33
        low_income_child: []
        chip:
        - min_age: 0
          max_age: 18
          pc_fpl: 2.35
      type: object
    CrosswalkData:
      properties:
        state:
          description: Two letter State designation
          type: string
        previous_plan_id:
          type: string
        new_plan_id:
          type: string
        fips:
          description: County FIPS code
          type: string
        level:
          description: Integer code value
          format: integer
          type: number
        reason:
          description: Integer code value
          format: integer
          type: number
        zipcodes:
          items:
            type: string
          type: array
      type: object
  securitySchemes:
    API_Key:
      x-summary: API Key Auth
      description: Your API key should be included as a query parameter with the request. You can [fill out this form](https://cms.gov1.qualtrics.com/jfe/form/SV_4N2GHCJfNuX7n8x) to request an API key.
      type: apiKey
      in: query
      name: apikey
      x-example: d687412e7b53146b2631dc01974ad0a4