Code sets

Curated starting lists for your fee sheets.

GET/api/v1/code-sets

List code sets

GET /api/v1/code-sets lists the same starting selections used by the site's specialty pages and fee sheets. GET /api/v1/code-sets/{id} retrieves one set.

Optional attributes

  • Name
    kind
    Type
    string
    Description

    fee_sheet or specialty. Omit for all curated sets.

Parameter usage notes

The collection accepts optional kind=fee_sheet or kind=specialty. There are currently three sets of each kind: primary care, behavioral health, and physical therapy. IDs use fee-sheet- or specialty- followed by the specialty slug. This small collection is not paginated.

Response

  • Name
    data
    Type
    object[]
    Description

    Curated sets. No pagination.

  • Name
    data[].id
    Type
    string
    Description

    Stable code-set identifier.

  • Name
    data[].kind
    Type
    string
    Description

    fee_sheet or specialty.

  • Name
    data[].name
    Type
    string
    Description

    Human-readable set name.

  • Name
    data[].curated
    Type
    boolean
    Description

    Always true. These are editorial starting lists.

  • Name
    data[].codes
    Type
    string[]
    Description

    Codes in editorial order.

  • Name
    data[].sections
    Type
    object[] · fee_sheet
    Description

    Sections containing title, optional note, and codes.

  • Name
    data[].summary
    Type
    string · specialty
    Description

    Overview of the specialty selection.

  • Name
    data[].explanation
    Type
    string · specialty
    Description

    How the selection was assembled.

  • Name
    data[].source_url
    Type
    string · specialty
    Description

    Reference URL for the selection.

  • Name
    data[].payment_notes
    Type
    object[] · specialty
    Description

    Payment notes, each containing title and text.

Response behavior and edge cases

Collections use { "data": [...] }; single sets have no wrapper. All sets contain id, kind, name, curated: true, and codes in editorial order.

Fee sheets add sections, each with title, optional note, and codes. Specialty sets add summary, explanation, source_url, and payment_notes. The two kinds intentionally have different code selections. Unknown IDs return 404 code_set_not_found.

Build a fee sheet

Retrieve a set, load its code facts through codes, and request batch rates for the selected location and date. Preserve the set's section order and show unavailable codes rather than dropping them.

Selections are curated starting lists, not CMS classifications or utilization rankings. Set membership can evolve; retain the returned code list if you need to reproduce a saved sheet.

Request

GET
/api/v1/code-sets
curl -G 'https://feebase.co/api/v1/code-sets' \
  -H 'Authorization: Bearer YOUR_API_KEY'

Response

{
  "data": [
    {
      "id": "fee-sheet-primary-care",
      "kind": "fee_sheet",
      "name": "Primary care",
      "curated": true,
      "codes": [
        "99213",
        "99214"
      ],
      "sections": [
        {
          "title": "Office visits",
          "codes": [
            "99213",
            "99214"
          ]
        }
      ]
    }
  ]
}

Illustrative response. Values and release IDs are examples.


GET/api/v1/code-sets/{id}

Retrieve a code set

Retrieve a curated code set by its stable ID.

Required attributes

  • Name
    id
    Type
    string
    Description

    Code-set ID in the URL path, such as fee-sheet-primary-care.

Parameter usage notes

id is the set identifier returned by the collection, such as fee-sheet-primary-care.

Response

  • Name
    id
    Type
    string
    Description

    Stable code-set identifier.

  • Name
    kind
    Type
    string
    Description

    fee_sheet or specialty.

  • Name
    name
    Type
    string
    Description

    Human-readable set name.

  • Name
    curated
    Type
    boolean
    Description

    Always true. These are editorial starting lists.

  • Name
    codes
    Type
    string[]
    Description

    Codes in editorial order.

  • Name
    sections
    Type
    object[] · fee_sheet
    Description

    Sections containing title, optional note, and codes.

  • Name
    summary
    Type
    string · specialty
    Description

    Overview of the specialty selection.

  • Name
    explanation
    Type
    string · specialty
    Description

    How the selection was assembled.

  • Name
    source_url
    Type
    string · specialty
    Description

    Reference URL for the selection.

  • Name
    payment_notes
    Type
    object[] · specialty
    Description

    Payment notes, each containing title and text.

Response behavior and edge cases

Returns one set without a wrapper, including the same kind-specific fields described above. An unknown ID returns 404 code_set_not_found.

Request

GET
/api/v1/code-sets/{id}
curl -G 'https://feebase.co/api/v1/code-sets/fee-sheet-primary-care' \
  -H 'Authorization: Bearer YOUR_API_KEY'

Response

{
  "id": "fee-sheet-primary-care",
  "kind": "fee_sheet",
  "name": "Primary care",
  "curated": true,
  "codes": [
    "99213",
    "99214"
  ],
  "sections": [
    {
      "title": "Office visits",
      "codes": [
        "99213",
        "99214"
      ]
    }
  ]
}

Illustrative response. Values and release IDs are examples.

© 2026 Textual, LLC. FeeBase is a Textual product.

Medicare payment data is published by the Centers for Medicare & Medicaid Services (CMS). FeeBase is an independent service, not affiliated with or endorsed by CMS or the American Medical Association (AMA).

Government-produced CMS materials are in the public domain; third-party code sets retain their copyright protections. CPT® is a registered trademark of the AMA. CPT codes and descriptions are copyrighted by the AMA. HCPCS Level II is maintained by CMS; dental codes (CDT®) are copyrighted by the American Dental Association.