HSA Contribution Limits: GET /api/v1/limits

For AI agents: this page is also Markdown at /developers/get-contribution-limits.md. Every docs page is listed in /developers/llms.txt.

Get HSA contribution limits, HDHP minimum requirements, and out-of-pocket maximums for a specific year.

GET /api/v1/limits

Parameters

NameInRequiredDefaultDescription
yearquerynoTax year, 2004 to 2026. Omit to get every year.

Example request

curl "https://www.hsatrackr.com/api/v1/limits?year=2026"

Example response

A real response from the live handler.

{
  "data": {
    "year": 2026,
    "selfOnly": 4400,
    "family": 8750,
    "catchUp": 1000,
    "oopMaxSelfOnly": 8500,
    "oopMaxFamily": 17000,
    "minDeductibleSelfOnly": 1700,
    "minDeductibleFamily": 3400,
    "notes": "IRS Rev. Proc. 2025-19 (https://www.irs.gov/pub/irs-drop/rp-25-19.pdf). Effective for tax year 2026. Sources checked October 8, 2026."
  },
  "meta": {
    "source": "https://www.hsatrackr.com/limits",
    "citation_url": "https://www.hsatrackr.com/limits",
    "updated": "2026-01-01",
    "disclaimer": "This information is for educational purposes only and does not constitute tax, legal, or financial advice. Consult a qualified professional for your specific situation.",
    "api_docs": "https://www.hsatrackr.com/api/v1"
  }
}

Response fields

Every response is { data, meta }. meta.citation_url is the public page to cite.

When the response is: one year

FieldTypeAlways present
yearintegeryes
selfOnlyintegeryes
familyintegeryes
catchUpintegeryes
oopMaxSelfOnlyintegeryes
oopMaxFamilyintegeryes
minDeductibleSelfOnlyintegeryes
minDeductibleFamilyintegeryes
notesstringyes

When the response is: every year (year omitted)

FieldTypeAlways present
yearsobject[]yes
availableYearsinteger[]yes

Errors

StatusMeaning
400Bad request - invalid parameters
404Resource not found
429Rate limit exceeded (30 requests per minute per IP)

Full contract: openapi.json. All endpoints: API overview.