MedicaidRateAPI referenceIndustriesPricingDashboard

Introduction

The MedicaidRate API is organized around REST. It has predictable resource-oriented URLs, returns JSON, and uses standard HTTP response codes and verbs.

Every rate carries its effective dates, unit, provider level, payer type, and a link to the official state document it came from. The same data and filters power the dashboard: each view there has an API button that shows the exact request.

Base URL
https://api.medicaidrate.com

Authentication

Authenticate by sending your API key in the X-API-Key header. During the beta, keys are issued on request; self-serve key management arrives with team accounts. You can try every endpoint without a key in the dashboard's API console.

Keep keys secret: don't put them in client-side code or public repositories. All requests must use HTTPS. Requests without a valid key return 401 or 403.

Request
curl https://api.medicaidrate.com/v1/meta \
  -H "X-API-Key: $MEDICAIDRATE_API_KEY"

Errors

Codes in the 2xx range mean success. 4xx codes mean the request was wrong, with a detail message saying why. 5xx codes are rare and mean something went wrong on our side.

CodeMeaning
200OK: everything worked as expected.
401Unauthorized: no X-API-Key header.
403Forbidden: the key is invalid or revoked.
404Not found: no current rates match, or the id doesn't exist.
422Unprocessable: a parameter is missing or malformed (the body lists which).
429Too many requests: slow down (limits depend on your plan).
5xxServer error on our side; safe to retry with backoff.
Response
{
  "detail": "No current rates for this service."
}

Pagination

List endpoints return total, limit, offset and items. Page through results by increasing offset until it reaches total.

Response
{
  "total": 1842,
  "limit": 100,
  "offset": 0,
  "items": [ … ]
}

Effective dates & history

Rates are effective-dated. By default every endpoint returns what is in effect today. Pass as_of=YYYY-MM-DD to see what was (or will be) in effect on another date, or include_history=true to get every published version.

When a state publishes a new rate, the old one is kept with an effective_end. Nothing is deleted: published rates the state later corrects are marked withdrawn or flagged with a status_reason, so history stays reproducible.

Units, levels & payers

Rates are stored exactly as published. To compare across states, use the normalized fields:

FieldWhat it gives you
serviceOur plain-English service, the same id across every state (e.g. aba.treatment.technician).
unit, unit_minutes, rate_hourlyThe published unit, and an hourly equivalent when the unit is time-based.
provider_levelWho delivers the service (analyst, technician, RN, aide…). Benchmarks only compare like levels.
payer_typeffs, mco (plan-published), state_set_managed_care (state sets, plans pay) or directed_payment.
sourceThe official document, retrieval date and source_locator (sheet/row/page).
Rates

The Rate object

A rate is one published amount for one service, code and variant, in one state and program, over one effective period.

Every amount a state or plan publishes, normalized so it can be compared.

Attributes

  • idinteger
    Unique identifier.
  • statestring
    Two-letter state code.
  • codestring
    Billing code as published (CPT, HCPCS, revenue or state code).
  • modifierstring | null
    Modifier(s), e.g. U5,U6. See modifier_meaning.
  • descriptionstring
    Plain-English name. Licensed CPT/CDT descriptor text is never returned.
  • ratenumber
    The published amount in US dollars.
  • unitstring
    Published unit: 15 min, hour, day, visit, month…
  • rate_hourlynumber | null
    Hourly equivalent for time-based units.
  • effective_startdate
    First day the rate applies.
  • effective_enddate | null
    Last day, or null while current.
  • statusenum
    active, withdrawn or flagged.
  • serviceobject
    The normalized service.
  • provider_levelstring
    Who performs the service.
  • payer_typeenum
    ffs, mco, state_set_managed_care, directed_payment.
  • program_namestring
    Program or waiver, e.g. Texas Medicaid (fee-for-service, TMHP).
  • regionstring
    Region, or Statewide.
  • sourceobject
    Official source.
  • source_locatorstring
    Where in the document: sheet, row or page.
  • confidenceenum
    high, medium or low, how directly the value maps to the service.
The Rate object
{
  "id": 6699761,
  "state": "TX",
  "program": "Texas Medicaid (fee-for-service, TMHP)",
  "rate_type": "ffs",
  "plan_name": null,
  "service_line": "aba",
  "code": "97153",
  "modifier": null,
  "description": "One-on-one ABA therapy by a technician",
  "provider_type": "Behavior technician (RBT / BT) (performer; billed by: Autism Services | LICENSED BEHAVIOR ANALYST (LBA))",
  "unit": "15 min",
  "rate": 14.5,
  "effective_start": "2025-09-01",
  "effective_end": null,
  "region": "Statewide",
  "source": {
    "url": "https://public.tmhp.com/FeeSchedules/StaticFeeSchedule/FeeSchedules.aspx?fn=%5c%5ctmhp.net%5cFeeSchedule%5cPROD%5cStatic%5cTexas_Medicaid_Fee_Schedule_PRCR615C.xls",
    "document": "TMHP Texas Medicaid Fee Schedule - Autism Services (PRCR615C)",
    "retrieved_at": "2026-10-02"
  },
  "notes": "tos=1 | published Medicaid fee 14.50; adjusted fee for report date 14.50 | schedule provider type column: LICENSED BEHAVIOR ANALYST (LBA) | last pricing review 2025-09-01 | seen in 6 snapshot(s) 2025_09_15..2026_09_14; row read from 2026_09_14",
  "status": "active",
  "service": {
    "id": "aba.treatment.technician",
    "name": "One-on-one ABA therapy by a technician",
    "line": "aba",
    "code_plain_name": "One-on-one ABA therapy by a technician",
    "category_path": "cpt/medicine/adaptive_behavior"
  },
  "provider_level": "technician",
  "provider_level_label": "Behavior technician (RBT / BT)",
  "modifier_meaning": null,
  "program_id": "tx-medicaid-ffs",
  "program_name": "Texas Medicaid (fee-for-service, TMHP)",
  "payer_type": "ffs",
  "rate_kind": "fee",
  "setting": "any",
  "group_size": null,
  "unit_minutes": 15,
  "unit_basis": "time",
  "rate_hourly": 58,
  "confidence": "high",
  "facility_id": null,
  "facility_name": null,
  "rate_family": "aba",
  "source_locator": "PRCR615C.xls sheet General row 36 (non-facility block)",
  "mc_role": "required_increase_passthrough",
  "rate_role": "paid",
  "unit_source": "code_definition",
  "status_reason": null
}

List rates

GET/v1/rates

Returns every rate matching the filters, in effect today unless you pass as_of or include_history.

Query parameters

  • statestring
    Comma-separated two-letter state codes, e.g. TX,FL.
  • codestring
    Comma-separated billing codes (CPT, HCPCS, revenue or state codes), e.g. 97153,T1019.
  • servicestring
    Comma-separated normalized service ids, e.g. aba.treatment.technician. See List services.
  • service_linestring
    Comma-separated service lines.
    Possible values: ababehavioral_healthhome_healthpersonal_careprivate_duty_nursingiddhcbs_othernursing_facilityhospicetherapyprofessionaldentalhospital_inpatienthospital_outpatient…
  • provider_levelstring
    Comma-separated provider levels, e.g. analyst,technician or rn,lpn.
  • payer_typestring
    Who pays the rate.
    Possible values: ffsmcostate_set_managed_caredirected_payment
  • modifierstring
    Exact modifier match. Pass an empty string for rates with no modifier.
  • planstring
    Managed-care plan name (substring match).
  • programstring
    Program or waiver name (substring match).
  • qstring
    Free-text search across code, plain-English name, program and plan.
  • as_ofdate
    Return rates in effect on this date (YYYY-MM-DD). Defaults to today.
  • include_historybooleanDefault: false
    Include superseded and future-dated rates, not only those in effect.
  • sortstringDefault: state
    Sort order.
    Possible values: statecoderate-rateeffectiveservicehourly
  • limitintegerDefault: 100
    Number of objects to return, up to 1000.
  • offsetintegerDefault: 0
    Number of objects to skip, for paging.

Returns

A paginated list of Rate objects.

GET/v1/rates
curl -G https://api.medicaidrate.com/v1/rates \
  -H "X-API-Key: $MEDICAIDRATE_API_KEY" \
  -d state=TX \
  -d code=97153 \
  -d limit=2
Response
{
  "total": 2,
  "limit": 2,
  "offset": 0,
  "items": [
    {
      "id": 6699761,
      "state": "TX",
      "program": "Texas Medicaid (fee-for-service, TMHP)",
      "rate_type": "ffs",
      "plan_name": null,
      "service_line": "aba",
      "code": "97153",
      "modifier": null,
      "description": "One-on-one ABA therapy by a technician",
      "provider_type": "Behavior technician (RBT / BT) (performer; billed by: Autism Services | LICENSED BEHAVIOR ANALYST (LBA))",
      "unit": "15 min",
      "rate": 14.5,
      "effective_start": "2025-09-01",
      "effective_end": null,
      "region": "Statewide",
      "source": {
        "url": "https://public.tmhp.com/FeeSchedules/StaticFeeSchedule/FeeSchedules.aspx?fn=%5c%5ctmhp.net%5cFeeSchedule%5cPROD%5cStatic%5cTexas_Medicaid_Fee_Schedule_PRCR615C.xls",
        "document": "TMHP Texas Medicaid Fee Schedule - Autism Services (PRCR615C)",
        "retrieved_at": "2026-10-02"
      },
      "notes": "tos=1 | published Medicaid fee 14.50; adjusted fee for report date 14.50 | schedule provider type column: LICENSED BEHAVIOR ANALYST (LBA) | last pricing review 2025-09-01 | seen in 6 snapshot(s) 2025_09_15..2026_09_14; row read from 2026_09_14",
      "status": "active",
      "service": {
        "id": "aba.treatment.technician",
        "name": "One-on-one ABA therapy by a technician",
        "line": "aba",
        "code_plain_name": "One-on-one ABA therapy by a technician",
        "category_path": "cpt/medicine/adaptive_behavior"
      },
      "provider_level": "technician",
      "provider_level_label": "Behavior technician (RBT / BT)",
      "modifier_meaning": null,
      "program_id": "tx-medicaid-ffs",
      "program_name": "Texas Medicaid (fee-for-service, TMHP)",
      "payer_type": "ffs",
      "rate_kind": "fee",
      "setting": "any",
      "group_size": null,
      "unit_minutes": 15,
      "unit_basis": "time",
      "rate_hourly": 58,
      "confidence": "high",
      "facility_id": null,
      "facility_name": null,
      "rate_family": "aba",
      "source_locator": "PRCR615C.xls sheet General row 36 (non-facility block)",
      "mc_role": "required_increase_passthrough",
      "rate_role": "paid",
      "unit_source": "code_definition",
      "status_reason": null
    },
    {
      "id": 6699765,
      "state": "TX",
      "program": "Texas Medicaid (fee-for-service, TMHP)",
      "rate_type": "ffs",
      "plan_name": null,
      "service_line": "aba",
      "code": "97153",
      "modifier": null,
      "description": "One-on-one ABA therapy by a technician",
      "provider_type": "Behavior technician (RBT / BT) (performer; billed by: Autism Services | LICENSED BEHAVIOR ANALYST (LBA))",
      "unit": "15 min",
      "rate": 14.5,
      "effective_start": "2025-09-01",
      "effective_end": null,
      "region": "Statewide",
      "source": {
        "url": "https://public.tmhp.com/FeeSchedules/StaticFeeSchedule/FeeSchedules.aspx?fn=%5c%5ctmhp.net%5cFeeSchedule%5cPROD%5cStatic%5cTexas_Medicaid_Fee_Schedule_PRCR615C.xls",
        "document": "TMHP Texas Medicaid Fee Schedule - Autism Services (PRCR615C)",
        "retrieved_at": "2026-10-02"
      },
      "notes": "tos=1 | published Medicaid fee 14.50; adjusted fee for report date 14.50 | schedule provider type column: LICENSED BEHAVIOR ANALYST (LBA) | last pricing review 2025-09-01 | seen in 6 snapshot(s) 2025_09_15..2026_09_14; row read from 2026_09_14",
      "status": "active",
      "service": {
        "id": "aba.treatment.technician",
        "name": "One-on-one ABA therapy by a technician",
        "line": "aba",
        "code_plain_name": "One-on-one ABA therapy by a technician",
        "category_path": "cpt/medicine/adaptive_behavior"
      },
      "provider_level": "technician",
      "provider_level_label": "Behavior technician (RBT / BT)",
      "modifier_meaning": null,
      "program_id": "tx-medicaid-ffs",
      "program_name": "Texas Medicaid (fee-for-service, TMHP)",
      "payer_type": "ffs",
      "rate_kind": "fee",
      "setting": "any",
      "group_size": null,
      "unit_minutes": 15,
      "unit_basis": "time",
      "rate_hourly": 58,
      "confidence": "high",
      "facility_id": null,
      "facility_name": null,
      "rate_family": "aba",
      "source_locator": "PRCR615C.xls sheet General row 36 (facility block)",
      "mc_role": "required_increase_passthrough",
      "rate_role": "paid",
      "unit_source": "code_definition",
      "status_reason": null
    }
  ]
}

Retrieve a rate

GET/v1/rates/{id}

Retrieves one rate by id, including superseded versions.

Path parameters

  • idintegerRequired
    The rate id.

Returns

A Rate object.

GET/v1/rates/{id}
curl https://api.medicaidrate.com/v1/rates/1238107 \
  -H "X-API-Key: $MEDICAIDRATE_API_KEY"
Response
{
  "id": 6699761,
  "state": "TX",
  "program": "Texas Medicaid (fee-for-service, TMHP)",
  "rate_type": "ffs",
  "plan_name": null,
  "service_line": "aba",
  "code": "97153",
  "modifier": null,
  "description": "One-on-one ABA therapy by a technician",
  "provider_type": "Behavior technician (RBT / BT) (performer; billed by: Autism Services | LICENSED BEHAVIOR ANALYST (LBA))",
  "unit": "15 min",
  "rate": 14.5,
  "effective_start": "2025-09-01",
  "effective_end": null,
  "region": "Statewide",
  "source": {
    "url": "https://public.tmhp.com/FeeSchedules/StaticFeeSchedule/FeeSchedules.aspx?fn=%5c%5ctmhp.net%5cFeeSchedule%5cPROD%5cStatic%5cTexas_Medicaid_Fee_Schedule_PRCR615C.xls",
    "document": "TMHP Texas Medicaid Fee Schedule - Autism Services (PRCR615C)",
    "retrieved_at": "2026-10-02"
  },
  "notes": "tos=1 | published Medicaid fee 14.50; adjusted fee for report date 14.50 | schedule provider type column: LICENSED BEHAVIOR ANALYST (LBA) | last pricing review 2025-09-01 | seen in 6 snapshot(s) 2025_09_15..2026_09_14; row read from 2026_09_14",
  "status": "active",
  "service": {
    "id": "aba.treatment.technician",
    "name": "One-on-one ABA therapy by a technician",
    "line": "aba",
    "code_plain_name": "One-on-one ABA therapy by a technician",
    "category_path": "cpt/medicine/adaptive_behavior"
  },
  "provider_level": "technician",
  "provider_level_label": "Behavior technician (RBT / BT)",
  "modifier_meaning": null,
  "program_id": "tx-medicaid-ffs",
  "program_name": "Texas Medicaid (fee-for-service, TMHP)",
  "payer_type": "ffs",
  "rate_kind": "fee",
  "setting": "any",
  "group_size": null,
  "unit_minutes": 15,
  "unit_basis": "time",
  "rate_hourly": 58,
  "confidence": "high",
  "facility_id": null,
  "facility_name": null,
  "rate_family": "aba",
  "source_locator": "PRCR615C.xls sheet General row 36 (non-facility block)",
  "mc_role": "required_increase_passthrough",
  "rate_role": "paid",
  "unit_source": "code_definition",
  "status_reason": null
}

Compare a code across states

GET/v1/rates/compare

One headline rate per state for a billing code, plus the minimum, maximum and median. The headline is like-for-like: matching provider level, statewide, standard setting, and the median when several apply.

Query parameters

  • codestringRequired
    One billing code.
  • modifierstring
    Restrict to one modifier.
  • statestring
    Comma-separated two-letter state codes, e.g. TX,FL.
  • rate_typestringDefault: ffs
    Payer.
    Possible values: ffsmcodirected_payment
  • as_ofdate
    Return rates in effect on this date (YYYY-MM-DD). Defaults to today.

Returns

Summary statistics and one entry per state with its variants.

GET/v1/rates/compare
curl -G https://api.medicaidrate.com/v1/rates/compare \
  -H "X-API-Key: $MEDICAIDRATE_API_KEY" \
  -d code=97153
Response
{
  "code": "97153",
  "modifier": null,
  "states": [
    {
      "state": "MI",
      "rate": 54.28,
      "unit": "15 min",
      "rate_hourly": 217.12,
      "provider_level": "Behavior technician (RBT / BT)",
      "setting": "any",
      "variants": [
        {
          "id": 2384227,
          "state": "MI",
          "program": "Michigan Medicaid (fee-for-service)",
          "rate_type": "ffs",
          "plan_name": null,
          "service_line": "aba",
          "code": "97153",
          "modifier": null,
          "description": "One-on-one ABA therapy by a technician",
          "provider_type": null,
          "unit": "15 min",
          "rate": 54.28,
          "effective_start": "2026-07-01",
          "effective_end": null,
          "region": "Statewide",
          "source": {
            "url": "https://www.michigan.gov/mdhhs/-/media/Project/Websites/mdhhs/Assistance-Programs/Medicaid-BPHASA/July-2026-DBs/OPPS-Payment-Rates-July-2026.xlsx?rev=770cef74e47a4a6f846982c444e21e9f",
            "document": "MDHHS OPPS payment rates, July 2026",
            "retrieved_at": "2026-10-02"
          },
          "notes": "svc_cat=OPPS payment rates; 2026 RF=52.30; stored value 54.28217000000001; start = edition date in the file header",
          "status": "active",
          "service": {
            "id": "aba.treatment.technician",
            "name": "One-on-one ABA therapy by a technician",
            "line": "aba",
            "code_plain_name": "One-on-one ABA therapy by a technician",
            "category_path": "cpt/medicine/adaptive_behavior"
          },
          "provider_level": "technician",
          "provider_level_label": "Behavior technician (RBT / BT)",
          "modifier_meaning": null,
          "program_id": "mi-medicaid-ffs",
          "program_name": "Michigan Medicaid (fee-for-service)",
          "payer_type": "ffs",
          "rate_kind": "fee",
          "setting": "any",
          "group_size": null,
          "unit_minutes": 15,
          "unit_basis": "time",
          "rate_hourly": 217.12,
          "confidence": "high",
          "facility_id": null,
          "facility_name": null,
          "rate_family": "hospital_outpatient",
          "source_locator": "sheet 'EXISTING' row 9551 col 'MDHHS Payment Rate'",
          "mc_role": "default_noncontracted",
          "rate_role": "paid",
          "unit_source": "code_definition",
          "status_reason": null
        }
      ]
    },
    {
      "state": "GA",
      "rate": 30.91,
      "unit": "15 min",
      "rate_hourly": 123.64,
      "provider_level": "Behavior technician (RBT / BT)",
      "setting": "clinic",
      "variants": [
        {
          "id": 1888154,
          "state": "GA",
          "program": "Georgia Medicaid (fee-for-service)",
          "rate_type": "ffs",
          "plan_name": null,
          "service_line": "aba",
          "code": "97153",
          "modifier": "U1,U7",
          "description": "One-on-one ABA therapy by a technician",
          "provider_type": "Physician/Psychiatrist (Level 1)",
          "unit": "15 min",
          "rate": 76.31,
          "effective_start": "2025-07-01",
          "effective_end": null,
          "region": "Statewide",
          "source": {
            "url": "https://www.mmis.georgia.gov/portal/Portals/0/StaticContent/Public/ALL/Fee%20Schedules/ASD%20Fee%20Schedule%2020251008194600.xlsx",
            "document": "Georgia Medicaid Autism Spectrum Disorder Services Fee Schedule (posted 10/08/2025)",
            "retrieved_at": "2026-10-02"
          },
          "notes": "svc_cat=ASD Services fee schedule; U1 = Physician/Psychiatrist (Level 1), U7 = Out-of-clinic. Stored value 76.3127; cell displays cents. Effective 2025-07-01 per CMS-approved SPA GA-25-0008 (Att. 4.19-B p.15, approved 2025-10-07). Same amounts in the 10/08/2025 PDF copy and the Q4-2025 / Q1-2026 zip copies.",
          "status": "active",
          "service": {
            "id": "aba.treatment.technician",
            "name": "One-on-one ABA therapy by a technician",
            "line": "aba",
            "code_plain_name": "One-on-one ABA therapy by a technician",
            "category_path": "cpt/medicine/adaptive_behavior"
          },
          "provider_level": "technician",
          "provider_level_label": "Behavior technician (RBT / BT)",
          "modifier_meaning": "U1: Level 1: physician / psychiatrist; U7: Out-of-clinic (home/community)",
          "program_id": "ga-medicaid-ffs",
          "program_name": "Georgia Medicaid (fee-for-service)",
          "payer_type": "ffs",
          "rate_kind": "fee",
          "setting": "community",
          "group_size": null,
          "unit_minutes": 15,
          "unit_basis": "time",
          "rate_hourly": 305.24,
          "confidence": "high",
          "facility_id": null,
          "facility_name": null,
          "rate_family": "aba",
          "source_locator": "sheet 'Sheet1' row 57",
          "mc_role": "default_noncontracted",
          "rate_role": "paid",
          "unit_source": "source",
          "status_reason": null
        }
      ]
    }
  ],
  "compared_level": "technician",
  "summary": {
    "states": 14,
    "min": 9.63,
    "max": 54.28,
    "median": 15.52,
    "note": "Rates are per the unit shown for each state; units can differ between states."
  }
}

Rate history

GET/v1/rates/history

Every published version of a code in a state, oldest first, with the percent change from the prior version.

Query parameters

  • statestringRequired
    One state.
  • codestringRequired
    One billing code.
  • modifierstring
    Restrict to one modifier.
  • rate_typestring
    Payer.

Returns

A list of rate versions.

GET/v1/rates/history
curl -G https://api.medicaidrate.com/v1/rates/history \
  -H "X-API-Key: $MEDICAIDRATE_API_KEY" \
  -d state=TX \
  -d code=97153
Response
{
  "state": "TX",
  "code": "97153",
  "modifier": null,
  "points": [
    {
      "id": 6699758,
      "state": "TX",
      "program": "Texas Medicaid (fee-for-service, TMHP)",
      "rate_type": "ffs",
      "plan_name": null,
      "service_line": "aba",
      "code": "97153",
      "modifier": null,
      "description": "One-on-one ABA therapy by a technician",
      "provider_type": "Behavior technician (RBT / BT) (performer; billed by: Autism Services | LICENSED BEHAVIOR ANALYST (LBA))",
      "unit": "15 min",
      "rate": 7.58,
      "effective_start": "2022-02-01",
      "effective_end": "2022-02-28",
      "region": "Statewide",
      "source": {
        "url": "https://public.tmhp.com/FeeSchedules/StaticFeeSchedule/FeeSchedulesArchive.aspx?fn=Archive+-+2022_02_15%5cTexas_Medicaid_Fee_Schedule_PRCR615C.xls",
        "document": "TMHP Texas Medicaid Fee Schedule - Autism Services (PRCR615C)",
        "retrieved_at": "2026-10-02"
      },
      "notes": "tos=1 | published Medicaid fee 7.58; adjusted fee for report date 7.58 | schedule provider type column: LICENSED BEHAVIOR ANALYST (LBA) | last pricing review 2022-02-01 | seen in 1 snapshot(s) 2022_02_15..2022_02_15; row read from 2022_02_15",
      "status": "active",
      "service": {
        "id": "aba.treatment.technician",
        "name": "One-on-one ABA therapy by a technician",
        "line": "aba",
        "code_plain_name": "One-on-one ABA therapy by a technician",
        "category_path": "cpt/medicine/adaptive_behavior"
      },
      "provider_level": "technician",
      "provider_level_label": "Behavior technician (RBT / BT)",
      "modifier_meaning": null,
      "program_id": "tx-medicaid-ffs",
      "program_name": "Texas Medicaid (fee-for-service, TMHP)",
      "payer_type": "ffs",
      "rate_kind": "fee",
      "setting": "any",
      "group_size": null,
      "unit_minutes": 15,
      "unit_basis": "time",
      "rate_hourly": 30.32,
      "confidence": "high",
      "facility_id": null,
      "facility_name": null,
      "rate_family": "aba",
      "source_locator": "PRCR615C.xls sheet General row 33 (non-facility block)",
      "mc_role": null,
      "rate_role": "paid",
      "unit_source": "code_definition",
      "status_reason": null
    },
    {
      "id": 6699762,
      "state": "TX",
      "program": "Texas Medicaid (fee-for-service, TMHP)",
      "rate_type": "ffs",
      "plan_name": null,
      "service_line": "aba",
      "code": "97153",
      "modifier": null,
      "description": "One-on-one ABA therapy by a technician",
      "provider_type": "Behavior technician (RBT / BT) (performer; billed by: Autism Services | LICENSED BEHAVIOR ANALYST (LBA))",
      "unit": "15 min",
      "rate": 7.58,
      "effective_start": "2022-02-01",
      "effective_end": "2022-02-28",
      "region": "Statewide",
      "source": {
        "url": "https://public.tmhp.com/FeeSchedules/StaticFeeSchedule/FeeSchedulesArchive.aspx?fn=Archive+-+2022_02_15%5cTexas_Medicaid_Fee_Schedule_PRCR615C.xls",
        "document": "TMHP Texas Medicaid Fee Schedule - Autism Services (PRCR615C)",
        "retrieved_at": "2026-10-02"
      },
      "notes": "tos=1 | published Medicaid fee 7.58; adjusted fee for report date 7.58 | schedule provider type column: LICENSED BEHAVIOR ANALYST (LBA) | last pricing review 2022-02-01 | seen in 1 snapshot(s) 2022_02_15..2022_02_15; row read from 2022_02_15",
      "status": "active",
      "service": {
        "id": "aba.treatment.technician",
        "name": "One-on-one ABA therapy by a technician",
        "line": "aba",
        "code_plain_name": "One-on-one ABA therapy by a technician",
        "category_path": "cpt/medicine/adaptive_behavior"
      },
      "provider_level": "technician",
      "provider_level_label": "Behavior technician (RBT / BT)",
      "modifier_meaning": null,
      "program_id": "tx-medicaid-ffs",
      "program_name": "Texas Medicaid (fee-for-service, TMHP)",
      "payer_type": "ffs",
      "rate_kind": "fee",
      "setting": "any",
      "group_size": null,
      "unit_minutes": 15,
      "unit_basis": "time",
      "rate_hourly": 30.32,
      "confidence": "high",
      "facility_id": null,
      "facility_name": null,
      "rate_family": "aba",
      "source_locator": "PRCR615C.xls sheet General row 33 (facility block)",
      "mc_role": null,
      "rate_role": "paid",
      "unit_source": "code_definition",
      "status_reason": null,
      "pct_change_from_prior": 0
    }
  ]
}

Facet counts

GET/v1/rates/facets

Counts per state, service line, service, provider level, payer and code for the current filters. Use it to build filter panels.

Query parameters

  • statestring
    Comma-separated two-letter state codes, e.g. TX,FL.
  • codestring
    Comma-separated billing codes (CPT, HCPCS, revenue or state codes), e.g. 97153,T1019.
  • servicestring
    Comma-separated normalized service ids, e.g. aba.treatment.technician. See List services.
  • service_linestring
    Comma-separated service lines.
    Possible values: ababehavioral_healthhome_healthpersonal_careprivate_duty_nursingiddhcbs_othernursing_facilityhospicetherapyprofessionaldentalhospital_inpatienthospital_outpatient…
  • provider_levelstring
    Comma-separated provider levels, e.g. analyst,technician or rn,lpn.
  • payer_typestring
    Who pays the rate.
    Possible values: ffsmcostate_set_managed_caredirected_payment
  • modifierstring
    Exact modifier match. Pass an empty string for rates with no modifier.
  • planstring
    Managed-care plan name (substring match).
  • programstring
    Program or waiver name (substring match).
  • qstring
    Free-text search across code, plain-English name, program and plan.
  • as_ofdate
    Return rates in effect on this date (YYYY-MM-DD). Defaults to today.
  • include_historybooleanDefault: false
    Include superseded and future-dated rates, not only those in effect.

Returns

A map of facet name to [{ value, label, count }].

GET/v1/rates/facets
curl -G https://api.medicaidrate.com/v1/rates/facets \
  -H "X-API-Key: $MEDICAIDRATE_API_KEY" \
  -d state=TX \
  -d service_line=aba
Response
{
  "state": [
    {
      "value": "CA",
      "count": 1764
    },
    {
      "value": "PA",
      "count": 128
    }
  ],
  "service_line": [
    {
      "value": "professional",
      "count": 52449
    },
    {
      "value": "lab_pathology",
      "count": 26864
    }
  ],
  "rate_type": [
    {
      "value": "ffs",
      "count": 20
    }
  ],
  "provider_level": [
    {
      "value": "analyst",
      "count": 8
    },
    {
      "value": "assistant_analyst",
      "count": 6
    }
  ],
  "payer_type": [
    {
      "value": "ffs",
      "count": 20
    }
  ],
  "service": [
    {
      "value": "aba.family_training",
      "label": "ABA parent and caregiver training",
      "count": 6
    },
    {
      "value": "aba.treatment.group_analyst",
      "label": "Group ABA therapy led by an analyst",
      "count": 4
    }
  ],
  "code": [
    {
      "value": "97155",
      "label": "ABA therapy led by the analyst (plan adjusted in session)",
      "count": 4
    },
    {
      "value": "97156",
      "label": "ABA parent or caregiver training by the analyst",
      "count": 4
    }
  ]
}
Codes & services

List services

GET/v1/services

Normalized services: one id per real-world service across every state, with how many states and rates we have.

Query parameters

  • linestring
    Service line.
  • qstring
    Search names and ids.

Returns

A list of services.

GET/v1/services
curl -G https://api.medicaidrate.com/v1/services \
  -H "X-API-Key: $MEDICAIDRATE_API_KEY" \
  -d line=aba
Response
{
  "items": [
    {
      "service_id": "aba.treatment.group",
      "service_name": "Group ABA therapy led by a technician",
      "line": "aba",
      "rates": 284,
      "states": 14,
      "hourly_rates": 281
    },
    {
      "service_id": "aba.treatment.technician",
      "service_name": "One-on-one ABA therapy by a technician",
      "line": "aba",
      "rates": 219,
      "states": 14,
      "hourly_rates": 216
    }
  ]
}

List codes

GET/v1/codes

Billing codes we have rates for, with our plain-English names.

Query parameters

  • qstring
    Code or name prefix.
  • service_linestring
    Service line.
  • limitintegerDefault: 50
    Number of objects to return, up to 500.

Returns

A list of codes.

GET/v1/codes
curl -G https://api.medicaidrate.com/v1/codes \
  -H "X-API-Key: $MEDICAIDRATE_API_KEY" \
  -d q=9715 \
  -d limit=3
Response
{
  "items": [
    {
      "code": "97151",
      "service_line": "aba",
      "description": "Behavior assessment and treatment plan by the analyst",
      "states": 15,
      "service_name": "ABA assessment by a behavior analyst"
    },
    {
      "code": "97153",
      "service_line": "aba",
      "description": "One-on-one ABA therapy by a technician",
      "states": 15,
      "service_name": "One-on-one ABA therapy by a technician"
    }
  ]
}
Industries

List industries

An industry view gathers what one provider industry needs: its key rates ranked across states, the wages of the staff who deliver them, minimum wage, coverage rules and rate changes.

GET/v1/industries

The provider industries available, with rate and state counts.

Parameters

No parameters.

Returns

A list of industries.

GET/v1/industries
curl https://api.medicaidrate.com/v1/industries \
  -H "X-API-Key: $MEDICAIDRATE_API_KEY"
Response
{
  "items": [
    {
      "id": "aba",
      "name": "Applied behavior analysis (ABA)",
      "short": "ABA",
      "audience": "ABA agencies and autism-services providers",
      "description": "Medicaid rates for ABA assessment, technician-delivered treatment, analyst protocol modification and parent training, compared like-for-like by provider level.",
      "rates": 1501,
      "states": 14
    },
    {
      "id": "home-health",
      "name": "Home health",
      "short": "Home health",
      "audience": "Medicare/Medicaid-certified home health agencies",
      "description": "Medicaid home health visit rates for skilled nursing, aide, PT, OT and speech visits, with the wages of the clinicians who deliver them.",
      "rates": 4066,
      "states": 16
    }
  ]
}

Retrieve an industry view

GET/v1/industries/{id}

Key rates for the industry benchmarked like-for-like across states, BLS wages for its roles, the state minimum wage, a calculated rate-vs-wage spread, coverage and prior-authorization counts, and recent rate changes.

Path parameters

  • idstringRequired
    Industry id.
    Possible values: ababehavioral-healthhome-healthhome-careprivate-duty-nursingskilled-nursinghospiceiddtherapy

Query parameters

  • statestring
    Focus state; adds its rank, wages, coverage and changes.
  • payer_typestringDefault: ffs
    Payer.
    Possible values: ffsmcostate_set_managed_care

Returns

An industry view.

GET/v1/industries/{id}
curl -G https://api.medicaidrate.com/v1/industries/aba \
  -H "X-API-Key: $MEDICAIDRATE_API_KEY" \
  -d state=TX
Response
{
  "industry": {
    "id": "aba",
    "name": "Applied behavior analysis (ABA)",
    "short": "ABA",
    "audience": "ABA agencies and autism-services providers",
    "description": "Medicaid rates for ABA assessment, technician-delivered treatment, analyst protocol modification and parent training, compared like-for-like by provider level.",
    "lines": [
      "aba"
    ]
  },
  "state": "TX",
  "payer_type": "auto",
  "flagship_key": "aba.treatment.technician|technician",
  "services": [
    {
      "key": "aba.treatment.technician|technician",
      "service_id": "aba.treatment.technician",
      "label": "One-on-one ABA therapy by a technician",
      "provider_level": "technician",
      "provider_level_label": "Behavior technician (RBT / BT)",
      "role": "rbt",
      "basis": "hourly",
      "compare_unit": "hour",
      "national": {
        "states": 14,
        "ranked": 13,
        "median": 64.16,
        "min": 38.52,
        "max": 217.12
      },
      "selected": {
        "state": "TX",
        "rate": 14.5,
        "unit": "15 min",
        "rate_hourly": 58,
        "rate_id": 6699761,
        "code": "97153",
        "modifier": null,
        "effective_start": "2025-09-01",
        "source_url": "https://public.tmhp.com/FeeSchedules/StaticFeeSchedule/FeeSchedules.aspx?fn=%5c%5ctmhp.net%5cFeeSchedule%5cPROD%5cStatic%5cTexas_Medicaid_Fee_Schedule_PRCR615C.xls",
        "variants": 2,
        "payer_type": "ffs",
        "rank": 9,
        "comparable": true,
        "vs_median_pct": -9.6
      },
      "states": [
        {
          "state": "MI",
          "rate": 54.28,
          "unit": "15 min",
          "rate_hourly": 217.12,
          "rate_id": 2384227,
          "code": "97153",
          "modifier": null,
          "effective_start": "2026-07-01",
          "source_url": "https://www.michigan.gov/mdhhs/-/media/Project/Websites/mdhhs/Assistance-Programs/Medicaid-BPHASA/July-2026-DBs/OPPS-Payment-Rates-July-2026.xlsx?rev=770cef74e47a4a6f846982c444e21e9f",
          "variants": 1,
          "payer_type": "ffs",
          "rank": 1,
          "comparable": true
        }
      ]
    },
    {
      "key": "aba.treatment.analyst|analyst",
      "service_id": "aba.treatment.analyst",
      "label": "ABA therapy with plan changes by an analyst",
      "provider_level": "analyst",
      "provider_level_label": "Behavior analyst (BCBA / licensed behavior analyst)",
      "role": "bcba",
      "basis": "hourly",
      "compare_unit": "hour",
      "national": {
        "states": 14,
        "ranked": 13,
        "median": 100.4,
        "min": 56.36,
        "max": 379.36
      },
      "selected": {
        "state": "TX",
        "rate": 25.1,
        "unit": "15 min",
        "rate_hourly": 100.4,
        "rate_id": 6699780,
        "code": "97155",
        "modifier": "HO",
        "effective_start": "2025-09-01",
        "source_url": "https://public.tmhp.com/FeeSchedules/StaticFeeSchedule/FeeSchedules.aspx?fn=%5c%5ctmhp.net%5cFeeSchedule%5cPROD%5cStatic%5cTexas_Medicaid_Fee_Schedule_PRCR615C.xls",
        "variants": 2,
        "payer_type": "ffs",
        "rank": 7,
        "comparable": true,
        "vs_median_pct": 0
      },
      "states": [
        {
          "state": "MI",
          "rate": 94.84,
          "unit": "15 min",
          "rate_hourly": 379.36,
          "rate_id": 2384229,
          "code": "97155",
          "modifier": null,
          "effective_start": "2026-07-01",
          "source_url": "https://www.michigan.gov/mdhhs/-/media/Project/Websites/mdhhs/Assistance-Programs/Medicaid-BPHASA/July-2026-DBs/OPPS-Payment-Rates-July-2026.xlsx?rev=770cef74e47a4a6f846982c444e21e9f",
          "variants": 1,
          "payer_type": "ffs",
          "rank": 1,
          "comparable": true
        }
      ]
    }
  ],
  "labor": {
    "period": "May 2025",
    "roles": [
      {
        "role": "bcba",
        "label": "Behavior analyst (BCBA)",
        "soc": "21-1018",
        "proxy": true,
        "note": "BLS has no behavior-analyst occupation; closest is substance abuse, behavioral disorder and mental health counselors.",
        "state": {
          "hourly_median": 30.11,
          "hourly_mean": 31.34,
          "hourly_p25": 21.77,
          "hourly_p75": 38.08,
          "annual_median": 62630,
          "employment": 21400,
          "period": "May 2025",
          "occupation": "Substance Abuse, Behavioral Disorder, and Mental Health Counselors",
          "source_url": "https://www.bls.gov/oes/special-requests/oesm25st.zip"
        },
        "us": {
          "hourly_median": 28.53,
          "hourly_mean": 30.98,
          "hourly_p25": 22.65,
          "hourly_p75": 36.8,
          "annual_median": 59350,
          "employment": 491930,
          "period": "May 2025",
          "occupation": "Substance Abuse, Behavioral Disorder, and Mental Health Counselors",
          "source_url": "https://www.bls.gov/oes/special-requests/oesm25nat.zip"
        }
      }
    ],
    "benefits": {
      "id": 2,
      "series": "CMU2016200000000D",
      "group": "Private industry workers — Health care and social assistance",
      "owner": "Private industry workers",
      "industry": "Health care and social assistance",
      "occupation": "All occupations",
      "area": "United States (National)",
      "period": "2026 Q02",
      "wages_per_hour": 35.13,
      "benefits_per_hour": 14.8,
      "total_comp_per_hour": 49.93,
      "benefits_pct_of_comp": 29.6,
      "wages_pct_of_comp": 70.4,
      "load_factor": 1.4213,
      "wages_series": "CMU2026200000000D",
      "benefits_series": "CMU2036200000000D",
      "pct_series": "CMU2036200000000P",
      "source_url": "https://download.bls.gov/pub/time.series/cm/cm.data.0.Current",
      "source_doc": "BLS Employer Costs for Employee Compensation (ECEC), cost per hour worked, time-series database (survey cm)",
      "retrieved_at": "2026-10-02"
    },
    "min_wage": [
      {
        "id": 317,
        "state": "TX",
        "variant": "general",
        "effective_date": null,
        "as_of": "2015-01-01",
        "last_confirmed": "2024-01-01",
        "hourly_rate": 7.25,
        "tipped_rate": null,
        "status": "historical",
        "basis_note": "general statewide rate (DOL history table: rate in effect on January 1)",
        "source_doc": "US DOL WHD, Changes in Basic Minimum Wages in Non-Farm Employment Under State Law (rates as of January 1 of each year)",
        "source_url": "https://www.dol.gov/agencies/whd/state/minimum-wage/history",
        "retrieved_at": "2026-10-02",
        "date": "2015-01-01",
        "date_is_as_of": true
      }
    ],
    "min_wage_variants": []
  },
  "economics": [
    {
      "key": "aba.treatment.technician|technician",
      "label": "One-on-one ABA therapy by a technician",
      "rate_hourly": 58,
      "role": "rbt",
      "role_label": "Behavior technician (RBT)",
      "wage_median": 22.05,
      "load_factor": 1.4213,
      "loaded_wage": 31.34,
      "spread_per_hour": 26.66,
      "wage_share_pct": 54
    },
    {
      "key": "aba.treatment.analyst|analyst",
      "label": "ABA therapy with plan changes by an analyst",
      "rate_hourly": 100.4,
      "role": "bcba",
      "role_label": "Behavior analyst (BCBA)",
      "wage_median": 30.11,
      "load_factor": 1.4213,
      "loaded_wage": 42.8,
      "spread_per_hour": 57.6,
      "wage_share_pct": 42.6
    }
  ],
  "coverage": [
    {
      "code": "97151",
      "rules": 3,
      "pa_yes": 2,
      "pa_cond": 0,
      "not_covered": 0,
      "unit_limit": "24",
      "limit_period": "per evaluation or re-evaluation (30-day authorization period)"
    },
    {
      "code": "97153",
      "rules": 2,
      "pa_yes": 1,
      "pa_cond": 0,
      "not_covered": 0,
      "unit_limit": "8 hours",
      "limit_period": "per day (combined across 97153, 97154, 97155, 97158)"
    }
  ],
  "changes": [
    {
      "id": 14413,
      "state": "TX",
      "title": "GAA 2026-27 Art. II HHSC Rider 30: Rate Increase for Applied Behavior Analysis Services and Report on Autism Services",
      "summary": "1 code-level line(s) in change_lines.csv over 0 code(s), 1 newly priced",
      "status": "enacted",
      "service_lines": "aba",
      "codes": null,
      "pct_change": null,
      "published_date": "2025-09-18",
      "effective_date": "2025-09-01",
      "comment_deadline": null,
      "source_url": "https://www.lbb.texas.gov/Documents/GAA/General_Appropriations_Act_2026_2027.pdf",
      "stage": "enacted",
      "channel": "budget",
      "old_rate": null,
      "new_rate": "14.50"
    },
    {
      "id": 14420,
      "state": "TX",
      "title": "Reimbursement Rate Updates for Procedure Codes Presented at the July 22, 2025, Public Rate Hearing",
      "summary": "120 code-level line(s) in change_lines.csv over 23 code(s): 120 increase(s), 0 decrease(s), 0 unchanged; pct_change = median of 120 line(s) with both rates",
      "status": "effective",
      "service_lines": "aba;radiology",
      "codes": "23 codes: 97151;97153;97155;97156;76801;76802;76805;76810;76811;76812;...",
      "pct_change": 10,
      "published_date": "2025-08-21",
      "effective_date": "2025-09-01",
      "comment_deadline": null,
      "source_url": "https://www.tmhp.com/news/2025-08-21-reimbursement-rate-updates-procedure-codes-presented-july-22-2025-public-rate",
      "stage": "effective",
      "channel": "bulletin",
      "old_rate": null,
      "new_rate": null
    }
  ],
  "plans": 19
}
Rate changes

List rate changes

GET/v1/changes

Proposed, enacted and effective rate changes from public notices, fee-schedule updates, state plan amendments and budgets, one event per notice, with status, percent change, effective date and comment deadline.

Query parameters

  • statestring
    Comma-separated two-letter state codes, e.g. TX,FL.
  • service_linestring
    Service line.
  • statusstring
    Comma-separated statuses.
    Possible values: proposedhearingenactedapproved_cmseffectiveblockedreversed
  • codestring
    Billing code.
  • sincedate
    Published on or after.
  • limitintegerDefault: 100
    Number of objects to return, up to 500.

Returns

A list of change events, newest first.

GET/v1/changes
curl -G https://api.medicaidrate.com/v1/changes \
  -H "X-API-Key: $MEDICAIDRATE_API_KEY" \
  -d state=NY \
  -d service_line=aba \
  -d limit=2
Response
{
  "items": [
    {
      "id": 12869,
      "state": "NY",
      "title": "FY2027 Enacted Budget Medicaid action: Applied Behavioral Analysis Reforms",
      "summary": "Applied Behavioral Analysis Reforms (Managed Care Actions). State share $ in millions (parentheses = savings): FY 2027 ($13.7); FY 2028 ($30.9). Authority: Admin. Effective 10/1/26.",
      "status": "enacted",
      "service_lines": [
        "aba"
      ],
      "codes": [],
      "pct_change": null,
      "published_date": null,
      "effective_date": "2026-10-01",
      "comment_deadline": null,
      "source_url": "https://www.health.ny.gov/health_care/medicaid/redesign/2026/2027_enacted_budget_scorecard.htm"
    },
    {
      "id": 13015,
      "state": "NY",
      "title": "Medicaid Update August 2026 Volume 42 - Number 9: Reimbursement Change for Unlicensed Individuals Providing Applied Behavior Analysis Services",
      "summary": "As authorized by the New York State (NYS) Enacted Budget for Fiscal Year 2026-2027, NYS Medicaid fee-for-service (FFS) will decrease the fee paid for Applied Behavioral Analysis (ABA) services provided by unlicensed individuals/technicians represented by Current Procedural Terminology (CPT) code \"97153\" . This change in reimbursement methodology ensures providers of ABA services are compensated…",
      "status": "effective",
      "service_lines": [
        "aba"
      ],
      "codes": [
        "97153"
      ],
      "pct_change": null,
      "published_date": "2026-08-01",
      "effective_date": "2026-10-01",
      "comment_deadline": null,
      "source_url": "https://www.health.ny.gov/health_care/medicaid/program/update/2026/no09_2026-08.htm"
    }
  ]
}
Coverage & plans

List coverage rules

GET/v1/coverage

Whether a code is covered, whether it needs prior authorization and from whom, and its unit, age and place-of-service limits, by state and program.

Query parameters

  • statestring
    Comma-separated two-letter state codes, e.g. TX,FL.
  • codestring
    Comma-separated billing codes (CPT, HCPCS, revenue or state codes), e.g. 97153,T1019.
  • pa_requiredstring
    Prior authorization.
    Possible values: YNconditional
  • coveredstring
    Coverage.
    Possible values: YNconditional
  • qstring
    Search notes and limits.
  • limitintegerDefault: 100
    Number of objects to return, up to 1000.
  • offsetintegerDefault: 0
    Number of objects to skip, for paging.

Returns

A paginated list of coverage rules.

GET/v1/coverage
curl -G https://api.medicaidrate.com/v1/coverage \
  -H "X-API-Key: $MEDICAIDRATE_API_KEY" \
  -d state=TX \
  -d code=97153 \
  -d limit=2
Response
{
  "total": 2,
  "items": [
    {
      "id": 1135097,
      "state": "TX",
      "program": "Medicaid FFS",
      "code": "97153",
      "modifier": null,
      "population": "child",
      "covered": "Y",
      "pa_required": null,
      "pa_entity": null,
      "unit_limit": null,
      "limit_period": null,
      "age_min": "0",
      "age_max": "20",
      "pos_allowed": "facility; non-facility",
      "provider_types_allowed": "Autism Services",
      "other_limits": null,
      "effective_start": null,
      "effective_end": null,
      "source_url": "https://public.tmhp.com/FeeSchedules/StaticFeeSchedule/FeeSchedules.aspx?fn=%5c%5ctmhp.net%5cFeeSchedule%5cPROD%5cStatic%5cTexas_Medicaid_Fee_Schedule_PRCR615C.xls",
      "source_doc": "TMHP static fee schedules (current, posted 2026-09-14): 1 schedule(s)",
      "source_locator": "PRCR615C.xls sheet General row 36",
      "retrieved_at": "2026-10-02",
      "notes": "; PA is not flagged on TMHP static schedules (see TMPPM)"
    },
    {
      "id": 1137570,
      "state": "TX",
      "program": "Medicaid FFS",
      "code": "97153",
      "modifier": null,
      "population": "child",
      "covered": "conditional",
      "pa_required": "Y",
      "pa_entity": "TMHP Prior Authorization Department",
      "unit_limit": "8 hours",
      "limit_period": "per day (combined across 97153, 97154, 97155, 97158)",
      "age_min": "0",
      "age_max": "20",
      "pos_allowed": null,
      "provider_types_allowed": "behavior technician level; HO/HN/HM informational modifiers allowed (p.40)",
      "other_limits": "direct treatment limited to 8 hours per day across 97153/97154/97155/97158 (p.38); authorized for up to 90 days initially, then 90-day extension, then up to 180-day recertifications (pp.36-38); limits may be exceeded with evidence of medical necessity for clients 20 or younger (p.39)",
      "effective_start": "2026-10-01",
      "effective_end": null,
      "source_url": "https://www.tmhp.com/sites/default/files/file-library/resources/provider-manuals/tmppm/pdf-chapters/2026/2026-10-october/2_04_childrens_services.pdf",
      "source_doc": "TMPPM October 2026, 2_04_childrens_services",
      "source_locator": "2_04_childrens_services.pdf p.35: \"Prior authorization is required for an ABA evaluation (procedure code 97151), an initial course of ABA treatment, and fo\"",
      "retrieved_at": "2026-10-02",
      "notes": "TMPPM October 2026 edition; effective_start = edition month, not the policy's origin date"
    }
  ]
}

List managed-care plans

GET/v1/plans

Medicaid managed-care plans by state and program, with enrollment and links to each plan's provider manual and prior-authorization list.

Query parameters

  • statestring
    Comma-separated two-letter state codes, e.g. TX,FL.
  • programstring
    Program name (substring).
  • current_onlybooleanDefault: true
    Only plans that are currently active.
  • limitintegerDefault: 200
    Number of objects to return, up to 2000.

Returns

A list of plans.

GET/v1/plans
curl -G https://api.medicaidrate.com/v1/plans \
  -H "X-API-Key: $MEDICAIDRATE_API_KEY" \
  -d state=IN \
  -d limit=2
Response
{
  "items": [
    {
      "id": 48550,
      "state": "IN",
      "plan_name": "Anthem",
      "parent_company": null,
      "program": "Healthy Indiana Plan (2.0) (Comprehensive MCO)",
      "service_area": "Statewide",
      "effective_start": null,
      "effective_end": null,
      "enrollment": "163076",
      "enrollment_as_of": "2016 (CMS annual)",
      "website": "https://www.anthem.com/in/provider/state-federal/",
      "provider_manual_url": null,
      "pa_list_url": null,
      "source_url": "https://data.medicaid.gov/api/1/datastore/query/0bef7b8a-c663-5b14-9a46-0b5c2b86b0fe/0?conditions%5B0%5D%5Bproperty%5D=state&conditions%5B0%5D%5Bvalue%5D=Indiana&conditions%5B0%5D%5Boperator%5D=%3D&limit=500",
      "retrieved_at": "2026-10-02",
      "notes": "CMS Managed Care Enrollment by Program and Plan, result 3 (year 2016); plan name as published: 'Anthem'"
    },
    {
      "id": 48559,
      "state": "IN",
      "plan_name": "Anthem",
      "parent_company": "Anthem Insurance Companies",
      "program": "Healthy Indiana Plan (2.0) (Comprehensive MCO)",
      "service_area": "Statewide",
      "effective_start": null,
      "effective_end": null,
      "enrollment": "181110",
      "enrollment_as_of": "2017 (CMS annual)",
      "website": "https://www.anthem.com/in/provider/state-federal/",
      "provider_manual_url": null,
      "pa_list_url": null,
      "source_url": "https://data.medicaid.gov/api/1/datastore/query/0bef7b8a-c663-5b14-9a46-0b5c2b86b0fe/0?conditions%5B0%5D%5Bproperty%5D=state&conditions%5B0%5D%5Bvalue%5D=Indiana&conditions%5B0%5D%5Boperator%5D=%3D&limit=500",
      "retrieved_at": "2026-10-02",
      "notes": "CMS Managed Care Enrollment by Program and Plan, result 12 (year 2017); plan name as published: 'Anthem'"
    }
  ]
}
Reports

State profile

GET/v1/reports/state/{state}

Everything we have for one state: totals, service lines, every service with its median and range, programs, sources and recent changes.

Path parameters

  • statestringRequired
    Two-letter state code.

Returns

A state profile.

GET/v1/reports/state/{state}
curl https://api.medicaidrate.com/v1/reports/state/IN \
  -H "X-API-Key: $MEDICAIDRATE_API_KEY"
Response
{
  "state": "IN",
  "totals": {
    "current_rates": 28364,
    "services": 119,
    "programs": 19,
    "sources": 25,
    "all_versions": 76933,
    "history_from": "1994-01-01",
    "last_retrieved": "2026-10-02"
  },
  "lines": [
    {
      "line": "professional",
      "rates": 9652,
      "services": 4
    },
    {
      "line": "hospital_outpatient",
      "rates": 4536,
      "services": 3
    }
  ],
  "services": [
    {
      "service_id": "aba.assessment",
      "service_name": "ABA assessment by a behavior analyst",
      "line": "aba",
      "variants": 4,
      "unit": "15 min",
      "median_rate": 23.265,
      "min_rate": 20.56,
      "max_rate": 25.97,
      "median_hourly": 93.06
    },
    {
      "service_id": "aba.assessment.technician_support",
      "service_name": "ABA assessment support by a technician",
      "line": "aba",
      "variants": 2,
      "unit": "15 min",
      "median_rate": 16.04,
      "min_rate": 16.04,
      "max_rate": 16.04,
      "median_hourly": 64.16
    }
  ],
  "programs": [
    {
      "program_id": "in-medicaid-ffs",
      "program_name": "Indiana Medicaid (fee-for-service)",
      "payer_type": "ffs",
      "rates": 27493
    },
    {
      "program_id": "in-mrt",
      "program_name": "Indiana Medicaid disability determination exams (Medical Review Team)",
      "payer_type": "ffs",
      "rates": 253
    }
  ],
  "sources": [
    {
      "url": "https://provider.indianamedicaid.com/ihcp/Publications/MaxFee/Professional%20Fee%20Schedule.xlsx",
      "document": "IHCP Professional Fee Schedule (Last Updated September 08, 2026; changes completed as of 8/24/2026)",
      "retrieved_at": "2026-10-02",
      "rates": 19716
    },
    {
      "url": "https://provider.indianamedicaid.com/ihcp/Publications/MaxFee/Outpatient-Fee-Schedule-2025-10.xlsx",
      "document": "IHCP Outpatient Fee Schedule (2025-10)",
      "retrieved_at": "2026-10-02",
      "rates": 2911
    }
  ],
  "changes": [
    {
      "id": 12369,
      "state": "IN",
      "title": "Myers and Stauffer IN LTC announcement: 2026-09-08 - Fair Rental Value Allowance Calculation",
      "summary": "September 8, 2026 Announcement - Fair Rental Value Allowance Calculation The fair rental value allowance calculation (FRVAC) is proposed to transition nursing facility providers from a state-wide median based approach to a provider specific calculation for rates beginning July 1, 2027 and forward",
      "status": "proposed",
      "service_lines": "nursing facility",
      "codes": null,
      "pct_change": null,
      "published_date": "2026-09-08",
      "effective_date": "2027-07-01",
      "comment_deadline": null,
      "source_url": "https://myersandstauffer.com/documents/IN/Long-Term%20Care/Announcements/New%20Announcements//New%20Announcements/2026-09-08%20-%20Fair%20Rental%20Value%20Allowance%20Calculation.pdf",
      "stage": "proposed",
      "channel": "notice",
      "old_rate": null,
      "new_rate": null
    },
    {
      "id": 12411,
      "state": "IN",
      "title": "Notice of Change Requiring Medicare Application as a Condition of Medicaid Eligibility [Other Notice]",
      "summary": "relevance=coverage. Notice of Change Requiring Medicare Application as a Condition of Medicaid Eligibility In accordance with public notice requirements established at 42 CFR 447.205, the Indiana Family and Social Services Administration (FSSA), Office of Medicaid Policy and Planning (OMPP), publishes this notice of proposed changes to Medicaid eligibility requirements for participants aged 65 and older . The public notice period is from June 3, 2026, through July 3, 2026. FSSA - OMPP proposes to submit a State Pla | This change is effective July 1, 2027",
      "status": "proposed",
      "service_lines": "other",
      "codes": null,
      "pct_change": null,
      "published_date": "2026-06-03",
      "effective_date": "2027-07-01",
      "comment_deadline": "2026-07-03",
      "source_url": "https://drxya2s1hkmtl.cloudfront.net/api/registerDoc?din=20260603-IR-405260164ONA&doc_stage=public",
      "stage": "proposed",
      "channel": "register",
      "old_rate": null,
      "new_rate": null
    }
  ]
}

Service benchmark

GET/v1/reports/service/{service_id}

One service ranked across every state, like-for-like, with each state's variants and history.

Path parameters

  • service_idstringRequired
    Normalized service id.

Query parameters

  • payer_typestringDefault: ffs
    Payer.
  • provider_levelstring
    Override the compared level.

Returns

A service benchmark.

GET/v1/reports/service/{service_id}
curl https://api.medicaidrate.com/v1/reports/service/aba.treatment.technician \
  -H "X-API-Key: $MEDICAIDRATE_API_KEY"
Response
{
  "service_id": "aba.treatment.technician",
  "service_name": "One-on-one ABA therapy by a technician",
  "line": "aba",
  "payer_type": "ffs",
  "compared_level": "technician",
  "summary": {
    "states": 14,
    "median_hourly": 64.16,
    "min_hourly": 38.52,
    "max_hourly": 217.12,
    "basis": "hourly"
  },
  "provider_levels": [
    {
      "provider_level": "technician",
      "label": "Behavior technician (RBT / BT)",
      "n": 175
    },
    {
      "provider_level": "assistant_analyst",
      "label": "Assistant behavior analyst (BCaBA / LaBA)",
      "n": 22
    }
  ],
  "states": [
    {
      "state": "MI",
      "variants": 1,
      "headline_rate": 54.28,
      "headline_unit": "15 min",
      "headline_hourly": 217.12,
      "median_hourly": 217.12,
      "min_hourly": 217.12,
      "max_hourly": 217.12,
      "effective_start": "2026-07-01",
      "source_url": "https://www.michigan.gov/mdhhs/-/media/Project/Websites/mdhhs/Assistance-Programs/Medicaid-BPHASA/July-2026-DBs/OPPS-Payment-Rates-July-2026.xlsx?rev=770cef74e47a4a6f846982c444e21e9f",
      "headline_level": "Behavior technician (RBT / BT)",
      "headline_setting": "any",
      "headline_rate_id": 2384227,
      "items": [
        {
          "id": 2384227,
          "state": "MI",
          "program": "Michigan Medicaid (fee-for-service)",
          "rate_type": "ffs",
          "plan_name": null,
          "service_line": "aba",
          "code": "97153",
          "modifier": null,
          "description": "One-on-one ABA therapy by a technician",
          "provider_type": null,
          "unit": "15 min",
          "rate": 54.28,
          "effective_start": "2026-07-01",
          "effective_end": null,
          "region": "Statewide",
          "source": {
            "url": "https://www.michigan.gov/mdhhs/-/media/Project/Websites/mdhhs/Assistance-Programs/Medicaid-BPHASA/July-2026-DBs/OPPS-Payment-Rates-July-2026.xlsx?rev=770cef74e47a4a6f846982c444e21e9f",
            "document": "MDHHS OPPS payment rates, July 2026",
            "retrieved_at": "2026-10-02"
          },
          "notes": "svc_cat=OPPS payment rates; 2026 RF=52.30; stored value 54.28217000000001; start = edition date in the file header",
          "status": "active",
          "service": {
            "id": "aba.treatment.technician",
            "name": "One-on-one ABA therapy by a technician",
            "line": "aba",
            "code_plain_name": "One-on-one ABA therapy by a technician",
            "category_path": "cpt/medicine/adaptive_behavior"
          },
          "provider_level": "technician",
          "provider_level_label": "Behavior technician (RBT / BT)",
          "modifier_meaning": null,
          "program_id": "mi-medicaid-ffs",
          "program_name": "Michigan Medicaid (fee-for-service)",
          "payer_type": "ffs",
          "rate_kind": "fee",
          "setting": "any",
          "group_size": null,
          "unit_minutes": 15,
          "unit_basis": "time",
          "rate_hourly": 217.12,
          "confidence": "high",
          "facility_id": null,
          "facility_name": null,
          "rate_family": "hospital_outpatient",
          "source_locator": "sheet 'EXISTING' row 9551 col 'MDHHS Payment Rate'",
          "mc_role": "default_noncontracted",
          "rate_role": "paid",
          "unit_source": "code_definition",
          "status_reason": null
        }
      ]
    },
    {
      "state": "GA",
      "variants": 15,
      "headline_rate": 30.91,
      "headline_unit": "15 min",
      "headline_hourly": 123.64,
      "median_hourly": 123.64,
      "min_hourly": 62.32,
      "max_hourly": 305.24,
      "effective_start": "2025-07-01",
      "source_url": "https://www.mmis.georgia.gov/portal/Portals/0/StaticContent/Public/ALL/Fee%20Schedules/ASD%20Fee%20Schedule%2020251008194600.xlsx",
      "headline_level": "Behavior technician (RBT / BT)",
      "headline_setting": "clinic",
      "headline_rate_id": 1888159,
      "items": [
        {
          "id": 1888152,
          "state": "GA",
          "program": "Georgia Medicaid (fee-for-service)",
          "rate_type": "ffs",
          "plan_name": null,
          "service_line": "aba",
          "code": "97153",
          "modifier": "U1,GT",
          "description": "One-on-one ABA therapy by a technician",
          "provider_type": "Physician/Psychiatrist (Level 1)",
          "unit": "15 min",
          "rate": 59.96,
          "effective_start": "2025-07-01",
          "effective_end": null,
          "region": "Statewide",
          "source": {
            "url": "https://www.mmis.georgia.gov/portal/Portals/0/StaticContent/Public/ALL/Fee%20Schedules/ASD%20Fee%20Schedule%2020251008194600.xlsx",
            "document": "Georgia Medicaid Autism Spectrum Disorder Services Fee Schedule (posted 10/08/2025)",
            "retrieved_at": "2026-10-02"
          },
          "notes": "svc_cat=ASD Services fee schedule; U1 = Physician/Psychiatrist (Level 1), GT = Telemedicine. Stored value 59.956300000000006; cell displays cents. Effective 2025-07-01 per CMS-approved SPA GA-25-0008 (Att. 4.19-B p.15, approved 2025-10-07). Same amounts in the 10/08/2025 PDF copy and the Q4-2025 / Q1-2026 zip copies.",
          "status": "active",
          "service": {
            "id": "aba.treatment.technician",
            "name": "One-on-one ABA therapy by a technician",
            "line": "aba",
            "code_plain_name": "One-on-one ABA therapy by a technician",
            "category_path": "cpt/medicine/adaptive_behavior"
          },
          "provider_level": "technician",
          "provider_level_label": "Behavior technician (RBT / BT)",
          "modifier_meaning": "U1: Level 1: physician / psychiatrist; GT: Delivered by interactive audio and video (telehealth)",
          "program_id": "ga-medicaid-ffs",
          "program_name": "Georgia Medicaid (fee-for-service)",
          "payer_type": "ffs",
          "rate_kind": "fee",
          "setting": "telehealth",
          "group_size": null,
          "unit_minutes": 15,
          "unit_basis": "time",
          "rate_hourly": 239.84,
          "confidence": "high",
          "facility_id": null,
          "facility_name": null,
          "rate_family": "aba",
          "source_locator": "sheet 'Sheet1' row 52",
          "mc_role": "default_noncontracted",
          "rate_role": "paid",
          "unit_source": "source",
          "status_reason": null
        }
      ]
    }
  ],
  "history": [
    {
      "state": "AZ",
      "effective_start": "2023-11-01",
      "value": 88.436
    },
    {
      "state": "AZ",
      "effective_start": "2024-10-01",
      "value": 88.436
    }
  ]
}
Rate card & managed care

Rate card

Answers for one state at a time: what Medicaid pays for a provider's codes, what managed-care plans must pay, and how it compares with other states and Medicare.

GET/v1/ratecard

For each code: the state's like-for-like fee-for-service headline, the managed-care rule that governs it, any state-set plan rate, national rank and median, the Medicare physician fee schedule amount for the state, the last rate change and recent history. pct_of_medicare is set only when the Medicaid rate uses the code's own billing unit.

Query parameters

  • statestringRequired
    One state.
  • codestringRequired
    Comma-separated billing codes, up to 60.

Returns

{ state, items }, one item per code.

GET/v1/ratecard
curl -G https://api.medicaidrate.com/v1/ratecard \
  -H "X-API-Key: $MEDICAIDRATE_API_KEY" \
  -d state=NC \
  -d code=97153,99213,90837
Response
{
  "state": "NC",
  "items": [
    {
      "code": "97153",
      "found": true,
      "ffs": {
        "id": 2739106,
        "state": "NC",
        "program": "North Carolina Medicaid Direct (fee-for-service)",
        "rate_type": "ffs",
        "plan_name": null,
        "service_line": "aba",
        "code": "97153",
        "modifier": null,
        "description": "One-on-one ABA therapy by a technician",
        "provider_type": null,
        "unit": "15 min",
        "rate": 20.81,
        "effective_start": "2025-10-01",
        "effective_end": null,
        "region": "Statewide",
        "source": {
          "url": "https://ncdhhs.servicenowservices.com/api/g_ncd2/pubatt/dl/24d5e505471ef290fa2659af926d436b",
          "document": "NC Medicaid fee schedule 'LCSW LCMHC LMFT LCAS Behavioral Health*' - LCSW_ LCMHC_ LMFT_LCAS Behavioral Health Fee Schedule.xlsx (posted 2026-01-05)",
          "retrieved_at": "2026-10-02"
        },
        "notes": "workbook defined names unreadable; read without them | printed in 3 posting(s) 2025-11-12..2026-01-05 | svc_cat=licensed clinicians BH",
        "status": "active",
        "service": {
          "id": "aba.treatment.technician",
          "name": "One-on-one ABA therapy by a technician",
          "line": "aba",
          "code_plain_name": "One-on-one ABA therapy by a technician",
          "category_path": "cpt/medicine/adaptive_behavior"
        },
        "provider_level": "technician",
        "provider_level_label": "Behavior technician (RBT / BT)",
        "modifier_meaning": null,
        "program_id": "nc-medicaid-ffs",
        "program_name": "North Carolina Medicaid Direct (fee-for-service)",
        "payer_type": "ffs",
        "rate_kind": "fee",
        "setting": "any",
        "group_size": null,
        "unit_minutes": 15,
        "unit_basis": "time",
        "rate_hourly": 83.24,
        "confidence": "high",
        "facility_id": null,
        "facility_name": null,
        "rate_family": "behavioral_health",
        "source_locator": "sheet 'Licensed Behavioral Health ' row 36",
        "mc_role": "default_noncontracted",
        "rate_role": "paid",
        "unit_source": "code_definition",
        "status_reason": null
      },
      "managed_care": {
        "role": "default_noncontracted",
        "answer": "Paid to out-of-network providers; plans negotiate in-network rates",
        "state_set_rate": null,
        "plan_rate": null
      },
      "national": {
        "states": 12,
        "median": 16.205,
        "rank": 3,
        "vs_median_pct": 28.4
      },
      "last_change": {
        "effective_start": "2026-07-01",
        "from": 20.81,
        "to": 19.06,
        "pct": -8.4
      },
      "history": [
        {
          "effective_start": "2019-01-01",
          "rate": 18.09
        }
      ],
      "variants": 11,
      "medicare": {
        "status": "C",
        "payable": false,
        "nonfacility": null,
        "facility": null,
        "localities": 1,
        "conversion_factor": 33.4009,
        "cf_track": "non_qpp",
        "effective_start": "2026-04-01",
        "release": "RVU26B",
        "opps_cap": false,
        "source": {
          "url": "https://www.cms.gov/files/zip/rvu26b.zip",
          "doc": "RVU26B.zip / PPRRVU2026_Apr_nonQPP.csv",
          "formula": "[(Work RVU x Work GPCI) + (PE RVU x PE GPCI) + (MP RVU x MP GPCI)] x CF, CMS PFS release notes"
        },
        "comparable": true,
        "pct_of_medicare": null
      }
    },
    {
      "code": "99213",
      "found": true,
      "ffs": {
        "id": 2568546,
        "state": "NC",
        "program": "North Carolina Medicaid Direct (fee-for-service)",
        "rate_type": "ffs",
        "plan_name": null,
        "service_line": "professional",
        "code": "99213",
        "modifier": null,
        "description": "Return-patient office visit, level 3 of 5",
        "provider_type": "Physician",
        "unit": null,
        "rate": 50.41,
        "effective_start": "2025-10-01",
        "effective_end": null,
        "region": "Statewide",
        "source": {
          "url": "https://ncdhhs.servicenowservices.com/api/g_ncd2/pubatt/dl/98b3e95acf888790b5a0b3842f851ca7",
          "document": "NC Medicaid fee schedule 'ACA Physician Services*' - ACA Physicians Services.xlsx (posted 2026-04-06)",
          "retrieved_at": "2026-10-02"
        },
        "notes": "stored value 50.41304348, displayed 50.41 | printed in 2 posting(s) 2026-01-28..2026-04-06 | svc_cat=ACA primary care (physician)",
        "status": "active",
        "service": {
          "id": "professional.fee_schedule",
          "name": "Physician and practitioner services (fee schedule)",
          "line": "professional",
          "code_plain_name": "Return-patient office visit, level 3 of 5",
          "category_path": "cpt/evaluation_management"
        },
        "provider_level": "physician_psychologist",
        "provider_level_label": "Physician or licensed psychologist (incl. BCBA-D)",
        "modifier_meaning": null,
        "program_id": "nc-medicaid-ffs",
        "program_name": "North Carolina Medicaid Direct (fee-for-service)",
        "payer_type": "ffs",
        "rate_kind": "fee",
        "setting": "any",
        "group_size": null,
        "unit_minutes": null,
        "unit_basis": "other",
        "rate_hourly": null,
        "confidence": "high",
        "facility_id": null,
        "facility_name": null,
        "rate_family": "professional",
        "source_locator": "sheet 'ACA Phys Fee Shdl' row 46",
        "mc_role": "contract_floor",
        "rate_role": "paid",
        "unit_source": null,
        "status_reason": null
      },
      "managed_care": {
        "role": "contract_floor",
        "answer": "Plans must pay at least this rate",
        "state_set_rate": null,
        "plan_rate": null
      },
      "national": {
        "states": 12,
        "median": 50.485,
        "rank": 7,
        "vs_median_pct": -0.1
      },
      "last_change": null,
      "history": [
        {
          "effective_start": "2022-01-01",
          "rate": 70.86
        }
      ],
      "variants": 32,
      "medicare": {
        "status": "A",
        "payable": true,
        "nonfacility": {
          "min": 90.84,
          "max": 90.84
        },
        "facility": {
          "min": 55.63,
          "max": 55.63
        },
        "localities": 1,
        "conversion_factor": 33.4009,
        "cf_track": "non_qpp",
        "effective_start": "2026-04-01",
        "release": "RVU26B",
        "opps_cap": false,
        "source": {
          "url": "https://www.cms.gov/files/zip/rvu26b.zip",
          "doc": "RVU26B.zip / PPRRVU2026_Apr_nonQPP.csv",
          "formula": "[(Work RVU x Work GPCI) + (PE RVU x PE GPCI) + (MP RVU x MP GPCI)] x CF, CMS PFS release notes"
        },
        "comparable": false,
        "pct_of_medicare": null
      }
    }
  ]
}

Managed-care model

GET/v1/managed-care/{state}

How plan payment relates to published rates in a state, by service line (binding floor, state-set, plans negotiate, carve-out), with the cited rule, state-directed payments and payment levels, capitation and the plan roster.

Parameters

No parameters.

Returns

{ state, summary, lines, directed_payments, capitation, plans }.

GET/v1/managed-care/{state}
curl https://api.medicaidrate.com/v1/managed-care/NC \
  -H "X-API-Key: $MEDICAIDRATE_API_KEY"
Response
{
  "state": "NC",
  "summary": {
    "lines": 22,
    "classified_lines": 22,
    "binding_lines": 17,
    "directed_payments": 5,
    "capitation_cells": 1905,
    "plans": 15
  },
  "lines": [
    {
      "line": "professional",
      "rates": 74139,
      "roles": [
        {
          "role": "contract_floor",
          "rates": 64831,
          "answer": "Plans must pay at least the published rate"
        }
      ],
      "payers": {
        "ffs": 73775,
        "state_set_managed_care": 364
      },
      "dominant_role": "contract_floor",
      "answer": "Plans must pay at least the published rate",
      "binding": true,
      "classified": true
    },
    {
      "line": "lab_pathology",
      "rates": 28159,
      "roles": [
        {
          "role": "contract_floor",
          "rates": 24832,
          "answer": "Plans must pay at least the published rate"
        }
      ],
      "payers": {
        "ffs": 19662,
        "state_set_managed_care": 8497
      },
      "dominant_role": "contract_floor",
      "answer": "Plans must pay at least the published rate",
      "binding": true,
      "classified": true
    }
  ],
  "directed_payments": [
    {
      "id": 2566197,
      "state": "NC",
      "program": "North Carolina Medicaid Managed Care state directed payments (42 CFR 438.6(c))",
      "rate_type": "directed_payment",
      "plan_name": null,
      "service_line": "other",
      "code": "",
      "modifier": null,
      "description": "Directed payment uniform increase (required MCO uplift)",
      "provider_type": null,
      "unit": "The specific uniform increase per service is provided in an attachment. EVV enhancements will be a 10% uniform increase.",
      "rate": 10,
      "effective_start": "2026-07-01",
      "effective_end": "2027-06-30",
      "region": "Statewide",
      "source": {
        "url": "https://www.medicaid.gov/medicaid/managed-care/downloads/NC_Fee_HCBS.BHO_Renewal_20260701-20270630.pdf",
        "document": "CMS approval letter + 42 CFR 438.6(c) preprint (NC_Fee_HCBS.BHO_Renewal_20260701-20270630)",
        "retrieved_at": "2026-10-02"
      },
      "notes": "printed (Q19b): 'The specific uniform increase per service is provided in an attachment. EVV enhancements will be a 10% uniform increase.'. Minimum Fee Schedule and Uniform dollar increase for home and community-based services and behavioral health outpatient services established by the state for the rating period covering July 1, 2026 through June 30, 2027, incorporated in the capitation rates through a risk-based rate adjustment up to $374,700,000. | CMS provider class: Behavioral health outpatient services; HCBS/personal care services; payment type: Fee schedule; managed care program(s) (Q3): PIHPs and PHPs including Tailored Plan, Standard Plan, and CFSP; control name (CMS letter): NC_Fee_HCBS.BHO_Renewal_20260701-20270630; CMS approval 2026-07-15",
      "status": "active",
      "service": {
        "id": "other.directed_payment.uniform_increase",
        "name": "Directed payment uniform increase (required MCO uplift)",
        "line": "other",
        "code_plain_name": null,
        "category_path": "state/NC"
      },
      "provider_level": "any",
      "provider_level_label": "Any qualified provider (rate does not vary by provider)",
      "modifier_meaning": null,
      "program_id": "nc-mc-sdp",
      "program_name": "North Carolina Medicaid Managed Care state directed payments (42 CFR 438.6(c))",
      "payer_type": "directed_payment",
      "rate_kind": "add_on",
      "setting": "any",
      "group_size": null,
      "unit_minutes": null,
      "unit_basis": "other",
      "rate_hourly": null,
      "confidence": "high",
      "facility_id": null,
      "facility_name": null,
      "rate_family": "idd",
      "source_locator": "PDF p.10, preprint Section IIB question 19b (magnitude of the increase)",
      "mc_role": "sdp",
      "rate_role": "paid",
      "unit_source": "source",
      "status_reason": null
    },
    {
      "id": 2566198,
      "state": "NC",
      "program": "North Carolina Medicaid Managed Care state directed payments (42 CFR 438.6(c))",
      "rate_type": "directed_payment",
      "plan_name": null,
      "service_line": "other",
      "code": "",
      "modifier": null,
      "description": "Directed payment uniform increase (required MCO uplift)",
      "provider_type": null,
      "unit": "The per diem add on will be equal to $34.29 for every claim. An increase of $102.06 will be paid to support DCW wage increases.",
      "rate": 34.29,
      "effective_start": "2026-07-01",
      "effective_end": "2027-06-30",
      "region": "Statewide",
      "source": {
        "url": "https://www.medicaid.gov/medicaid/managed-care/downloads/NC_Fee_BHI_Renewal_20260701-20270630.pdf",
        "document": "CMS approval letter + 42 CFR 438.6(c) preprint (NC_Fee_BHI_Renewal_20260701-20270630)",
        "retrieved_at": "2026-10-02"
      },
      "notes": "printed (Q19b): 'The per diem add on will be equal to $34.29 for every claim. An increase of $102.06 will be paid to support DCW wage increases.'. Uniform dollar increase for eligible behavioral health inpatient services for the rating period covering July 1, 2026 through June 30, 2027, incorporated in the capitation rates through a risk-based rate adjustment up to $136,400,000. | CMS provider class: Behavioral health inpatient service; payment type: Fee schedule; managed care program(s) (Q3): PIHPs and PHPs including Tailored Plan, Standard Plan; control name (CMS letter): NC_Fee_BHI_Renewal_20260701-20270630; CMS approval 2026-07-08; Table 2 provider payment analysis as printed (columns: avg base payment level absent SDP / effect of this SDP / other SDPs / PTPs / total): a. ICF - Standard 49% 22% 71% Plan b. ICF - Tailored Plan 49% 22% 71% c. ICF - PIHP 49% 22% 71% d. e. f. g.",
      "status": "active",
      "service": {
        "id": "other.directed_payment.uniform_increase",
        "name": "Directed payment uniform increase (required MCO uplift)",
        "line": "other",
        "code_plain_name": null,
        "category_path": "state/NC"
      },
      "provider_level": "any",
      "provider_level_label": "Any qualified provider (rate does not vary by provider)",
      "modifier_meaning": null,
      "program_id": "nc-mc-sdp",
      "program_name": "North Carolina Medicaid Managed Care state directed payments (42 CFR 438.6(c))",
      "payer_type": "directed_payment",
      "rate_kind": "add_on",
      "setting": "facility",
      "group_size": null,
      "unit_minutes": null,
      "unit_basis": "day",
      "rate_hourly": null,
      "confidence": "high",
      "facility_id": null,
      "facility_name": null,
      "rate_family": "icf_iid",
      "source_locator": "PDF p.10, preprint Section IIB question 19b (magnitude of the increase)",
      "mc_role": "sdp",
      "rate_role": "paid",
      "unit_source": "source",
      "status_reason": null
    }
  ],
  "capitation": {
    "n": 1905,
    "first": "2021-07-01",
    "last": "2024-07-01",
    "lo": 0,
    "hi": 14663.38
  },
  "plans": [
    {
      "plan_name": "Alliance Health",
      "program": "NC Medicaid Managed Care - Behavioral Health I/DD Tailored Plan",
      "parent": "Alliance Health",
      "as_of": "2024-07-01..2025-06-30 (average monthly)",
      "ended": null
    },
    {
      "plan_name": "AmeriHealth Caritas North Carolina",
      "program": "NC Medicaid Managed Care - Standard Plan",
      "parent": "AmeriHealth Caritas North Carolina, Inc.",
      "as_of": "2024-07-01..2025-06-30 (average monthly)",
      "ended": null
    }
  ]
}
Reference data

Wages by occupation

Official labor-cost data that puts rates in context. BLS has no behavior-analyst, behavior-technician or DSP occupation; industry views show the closest published occupation and say so.

GET/v1/reference/wages

BLS Occupational Employment and Wage Statistics by state and SOC code: employment, mean, median and percentile hourly and annual wages.

Query parameters

  • statestring
    Comma-separated two-letter state codes, e.g. TX,FL.
  • socstring
    SOC code(s), repeatable, e.g. 29-1141.
  • periodstring
    May 2025, May 2024 or all. Defaults to the latest release.
  • naicsstring
    Industry-specific national estimates, e.g. 621600.
  • limitintegerDefault: 2000
    Number of objects to return, up to 10000.

Returns

A list of wage estimates.

GET/v1/reference/wages
curl -G https://api.medicaidrate.com/v1/reference/wages \
  -H "X-API-Key: $MEDICAIDRATE_API_KEY" \
  -d state=TX \
  -d soc=29-1141
Response
{
  "periods": [
    "May 2025",
    "May 2024"
  ],
  "proxies": [
    {
      "role": "BCBA",
      "role_name": "Board Certified Behavior Analyst",
      "label": "closest BLS occupation",
      "soc_code": "21-1018",
      "alternates": [
        "19-3039"
      ],
      "note": "BLS has no Board Certified Behavior Analyst occupation; this is a proxy, not a BCBA wage."
    },
    {
      "role": "RBT",
      "role_name": "Registered Behavior Technician",
      "label": "closest BLS occupation",
      "soc_code": "21-1093",
      "alternates": [
        "31-1133"
      ],
      "note": "BLS has no Registered Behavior Technician occupation; this is a proxy, not an RBT wage."
    }
  ],
  "items": [
    {
      "state": "TX",
      "soc_code": "29-1141",
      "occupation": "Registered Nurses",
      "naics": null,
      "naics_title": null,
      "own_code": "1235",
      "period": "May 2025",
      "employment": 271380,
      "employment_rse": 1.1,
      "hourly_mean": 45.86,
      "hourly_median": 46.14,
      "hourly_p10": 32.27,
      "hourly_p25": 38.06,
      "hourly_p75": 50.53,
      "hourly_p90": 61.51,
      "annual_mean": 95380,
      "annual_median": 95970,
      "mean_wage_rse": 0.3,
      "footnote": null,
      "source_url": "https://www.bls.gov/oes/special-requests/oesm25st.zip",
      "source_file": "oews/oesm25st.zip",
      "retrieved_at": "2026-10-02"
    }
  ]
}

Minimum wage

GET/v1/reference/min-wage

State minimum wage: current, scheduled increases, and optionally history since 2015, with regional and employer-size variants.

Query parameters

  • statestring
    Comma-separated two-letter state codes, e.g. TX,FL.
  • include_historybooleanDefault: false
    Include past rates.

Returns

A list of minimum-wage rows.

GET/v1/reference/min-wage
curl -G https://api.medicaidrate.com/v1/reference/min-wage \
  -H "X-API-Key: $MEDICAIDRATE_API_KEY" \
  -d state=CA
Response
{
  "items": [
    {
      "state": "CA",
      "variant": "general",
      "effective_date": null,
      "as_of": "2026-01-01",
      "last_confirmed": "2026-07-01",
      "hourly_rate": 16.9,
      "tipped_rate": 16.9,
      "status": "current",
      "basis_note": "general statewide rate; adjusted annually by formula (per DOL) (in effect as of 2026-01-01; DOL table does not state the change date)",
      "source_doc": "US DOL WHD, State Minimum Wage Laws (updated 2026-01-01) [Internet Archive copy of the DOL page]",
      "source_url": "https://web.archive.org/web/20260115012636id_/https://www.dol.gov/agencies/whd/minimum-wage/state",
      "retrieved_at": "2026-10-02"
    },
    {
      "state": "CA",
      "variant": "general",
      "effective_date": "2027-01-01",
      "as_of": "2027-01-01",
      "last_confirmed": "2027-01-01",
      "hourly_rate": 17.4,
      "tipped_rate": null,
      "status": "scheduled",
      "basis_note": "indexed to CPI (announced by state); general statewide rate",
      "source_doc": "State labor department publication: Beginning January 1, 2027, California's statewide minimum wage will increase to $17.40 per hour",
      "source_url": "https://dir.ca.gov/DIRNews/2026/2026-66.html",
      "retrieved_at": "2026-10-02"
    }
  ]
}

Medicare physician fee schedule

GET/v1/medicare/pfs

Medicare PFS amounts for a code in every locality (or one state), non-facility and facility, computed from the CMS relative value file with the formula CMS publishes. 2026 has two conversion factors: non_qpp (default) and qpp for qualifying APM participants.

Query parameters

  • codestringRequired
    One HCPCS/CPT code.
  • statestring
    Comma-separated two-letter state codes, e.g. TX,FL.
  • datedate
    Fee schedule in effect on this date. Defaults to today.
  • trackstringDefault: non_qpp
    Conversion factor.
    Possible values: non_qppqpp

Returns

RVUs, conversion factor and one amount per locality for each modifier line.

GET/v1/medicare/pfs
curl -G https://api.medicaidrate.com/v1/medicare/pfs \
  -H "X-API-Key: $MEDICAIDRATE_API_KEY" \
  -d code=99213 \
  -d state=NC
Response
{
  "code": "99213",
  "effective_start": "2026-04-01",
  "release": "RVU26B",
  "cf_track": "non_qpp",
  "conversion_factor": 33.4009,
  "formula": "[(Work RVU x Work GPCI) + (PE RVU x PE GPCI) + (MP RVU x MP GPCI)] x CF, CMS PFS release notes",
  "source": {
    "url": "https://www.cms.gov/files/zip/rvu26b.zip",
    "doc": "RVU26B.zip / PPRRVU2026_Apr_nonQPP.csv"
  },
  "lines": [
    {
      "modifier": null,
      "status": "A",
      "payable": true,
      "rvu": {
        "work": 1.3,
        "pe_nonfacility": 1.46,
        "pe_facility": 0.33,
        "mp": 0.09
      },
      "global_days": "XXX",
      "opps_cap": false,
      "localities": [
        {
          "state": "NC",
          "locality": "00",
          "name": "NORTH CAROLINA",
          "nonfacility": 90.84,
          "facility": 55.63
        }
      ]
    }
  ]
}

Benefits load

GET/v1/reference/benefits

BLS Employer Costs for Employee Compensation: wages vs benefits per hour worked, and the load factor (total compensation ÷ wages) by industry and region.

Parameters

No parameters.

Returns

A list of benefit-cost series.

GET/v1/reference/benefits
curl https://api.medicaidrate.com/v1/reference/benefits \
  -H "X-API-Key: $MEDICAIDRATE_API_KEY"
Response
{
  "items": [
    {
      "series": "CMU2010000000000D",
      "group": "Private industry workers — All industries",
      "owner": "Private industry workers",
      "industry": "All industries",
      "occupation": "All occupations",
      "area": "United States (National)",
      "period": "2026 Q02",
      "wages_per_hour": 32.82,
      "benefits_per_hour": 14.07,
      "total_comp_per_hour": 46.89,
      "benefits_pct_of_comp": 30,
      "wages_pct_of_comp": 70,
      "load_factor": 1.4287,
      "wages_series": "CMU2020000000000D",
      "benefits_series": "CMU2030000000000D",
      "pct_series": "CMU2030000000000P",
      "source_url": "https://download.bls.gov/pub/time.series/cm/cm.data.0.Current",
      "source_doc": "BLS Employer Costs for Employee Compensation (ECEC), cost per hour worked, time-series database (survey cm)",
      "retrieved_at": "2026-10-02"
    },
    {
      "series": "CMU2016200000000D",
      "group": "Private industry workers — Health care and social assistance",
      "owner": "Private industry workers",
      "industry": "Health care and social assistance",
      "occupation": "All occupations",
      "area": "United States (National)",
      "period": "2026 Q02",
      "wages_per_hour": 35.13,
      "benefits_per_hour": 14.8,
      "total_comp_per_hour": 49.93,
      "benefits_pct_of_comp": 29.6,
      "wages_pct_of_comp": 70.4,
      "load_factor": 1.4213,
      "wages_series": "CMU2026200000000D",
      "benefits_series": "CMU2036200000000D",
      "pct_series": "CMU2036200000000P",
      "source_url": "https://download.bls.gov/pub/time.series/cm/cm.data.0.Current",
      "source_doc": "BLS Employer Costs for Employee Compensation (ECEC), cost per hour worked, time-series database (survey cm)",
      "retrieved_at": "2026-10-02"
    }
  ]
}
Revenue impact

Calculate revenue impact

POST/v1/impact

Monthly revenue for your service mix in a state, and what it becomes under a percent change, another state's rates, or the rates in effect on another date.

Body parameters

  • statestringRequired
    Two-letter state code.
  • linesarrayRequired
    Your mix: [{ code, modifier?, units_per_month }].
  • scenariostringDefault: percent
    What to compare.
    Possible values: percentcompare_stateas_of
  • percentnumber
    For percent: e.g. -6 for a 6% cut.
  • compare_statestring
    For compare_state.
  • as_ofdate
    For as_of.
  • rate_typestringDefault: ffs
    Payer.

Returns

Per-line current and scenario revenue, with totals.

POST/v1/impact
curl https://api.medicaidrate.com/v1/impact \
  -H "X-API-Key: $MEDICAIDRATE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"state":"TX","scenario":"percent","percent":-6,"lines":[{"code":"97153","units_per_month":4000},{"code":"97155","units_per_month":600}]}'
Response
{
  "state": "TX",
  "scenario": "percent",
  "lines": [
    {
      "code": "97153",
      "modifier": null,
      "units_per_month": 4000,
      "unit": "15 min",
      "current_rate": 14.5,
      "scenario_rate": 13.63,
      "current_monthly": 58000,
      "scenario_monthly": 54520,
      "missing": false,
      "sources": [
        "https://public.tmhp.com/FeeSchedules/StaticFeeSchedule/FeeSchedules.aspx?fn=%5c%5ctmhp.net%5cFeeSchedule%5cPROD%5cStatic%5cTexas_Medicaid_Fee_Schedule_PRCR615C.xls"
      ]
    },
    {
      "code": "97155",
      "modifier": null,
      "units_per_month": 600,
      "unit": "15 min",
      "current_rate": 20.08,
      "scenario_rate": 18.8752,
      "current_monthly": 12048,
      "scenario_monthly": 11325.12,
      "missing": false,
      "sources": [
        "https://public.tmhp.com/FeeSchedules/StaticFeeSchedule/FeeSchedules.aspx?fn=%5c%5ctmhp.net%5cFeeSchedule%5cPROD%5cStatic%5cTexas_Medicaid_Fee_Schedule_PRCR615C.xls"
      ]
    }
  ],
  "totals": {
    "current_monthly": 70048,
    "scenario_monthly": 65845.12,
    "delta_monthly": -4202.88,
    "delta_annual": -50434.56,
    "pct_change": -6
  },
  "note": "Totals include only lines with a rate on both sides. Units can differ between states."
}
Metadata

Coverage & freshness

GET/v1/meta

Which states, service lines and payer types are loaded, how many rates each state has, and when each was last retrieved.

Parameters

No parameters.

Returns

Coverage totals and per-state freshness.

GET/v1/meta
curl https://api.medicaidrate.com/v1/meta \
  -H "X-API-Key: $MEDICAIDRATE_API_KEY"
Response
{
  "totals": {
    "rates": 5461654,
    "codes": 30237,
    "states": 17,
    "changes": 12338
  },
  "states": [
    {
      "state": "AZ",
      "rates": 612400,
      "codes": 16453,
      "last_retrieved": "2026-10-02",
      "service_lines": [
        "aba"
      ],
      "mco_rates": 21833
    },
    {
      "state": "CA",
      "rates": 936340,
      "codes": 18122,
      "last_retrieved": "2026-10-02",
      "service_lines": [
        "aba"
      ],
      "mco_rates": 46608
    }
  ],
  "service_lines": [
    {
      "id": "aba",
      "label": "Applied Behavior Analysis",
      "available": true
    },
    {
      "id": "personal_care",
      "label": "Personal care / attendant",
      "available": true
    }
  ],
  "rate_types": [
    {
      "id": "ffs",
      "label": "State fee-for-service"
    },
    {
      "id": "mco",
      "label": "Managed care plan"
    }
  ]
}