USAspending budget_authority is not budget authority, and the snapshot has no year in it

Checked 2026-09-08 · Federal budget and spending

In the federal-account snapshot the field named budget_authority is total budgetary resources: it equals appropriations plus balance_brought_forward, exactly, in every year checked. The field that matches what OMB calls budget authority is appropriations. Separately, the response body carries no fiscal-year field, so a request that leaves the year out of the path returns the open year and there is nothing in the payload to tell you.

What we saw

budget_authority = appropriations + balance_brought_forward, to the cent, FY2023 through FY2026. Source (results.budget_authority, results.appropriations, results.balance_brought_forward, 2026-09-08).

FY2023 appropriations=419527402600.58 bbf=1896072768.03 sum=421423475368.61 budget_authority=421423475368.61 match=True
FY2024 appropriations=388681350795.73 bbf=152843155.50 sum=388834193951.23 budget_authority=388834193951.23 match=True
FY2025 appropriations=444126814742.86 bbf=1869983827.79 sum=445996798570.65 budget_authority=445996798570.65 match=True
FY2026 appropriations=496549860439.82 bbf=541494237.00 sum=497091354676.82 budget_authority=497091354676.82 match=True

Omitting the year returns the open fiscal year, and the body is byte-identical to the explicit FY2026 request. Source (results object, 2026-09-08).

no-year body identical to FY2026? True

The results object contains no fiscal-year key at all. Source (top-level keys of results, 2026-09-08).

{
    "results": {
        "outlay": 408182004260.39,
        "budget_authority": 497091354676.82,
        "obligated": 410599125517.83,
        "unobligated": 86492229158.99,
        "balance_brought_forward": 541494237.0,
        "other_budgetary_resources": 0.0,
        "appropriations": 496549860439.82,
        "name": "Federal Hospital Insurance Trust Fund - Treasury Managed, Health and Human Services"
    }
}

The two endpoints one path segment apart take different key types: the snapshot takes the numeric account id, the detail endpoint takes the account code, and the wrong one returns a bare Django 404. Source (path parameter, 2026-09-08).

GET /api/v2/federal_accounts/075-8005/fiscal_year_snapshot/2025/  -> http=404 (HTML 'Not Found')
GET /api/v2/federal_accounts/5599/                                 -> http=404 (HTML 'Not Found')
GET /api/v2/federal_accounts/075-8005/                             -> {'account_title': 'Federal Hospital Insurance Trust Fund - Treasury Managed, Health and Human Services', 'agency_identifier': '075', 'main_account_code': '8005'}

The command

for y in 2023 2024 2025 2026; do curl -sS "https://api.usaspending.gov/api/v2/federal_accounts/5599/fiscal_year_snapshot/$y/"; done   # identity check
FY2023 appropriations=419527402600.58 bbf=1896072768.03 sum=421423475368.61 budget_authority=421423475368.61 match=True outlay=408062736621.70
FY2024 appropriations=388681350795.73 bbf=152843155.50 sum=388834193951.23 budget_authority=388834193951.23 match=True outlay=407385121062.23
FY2025 appropriations=444126814742.86 bbf=1869983827.79 sum=445996798570.65 budget_authority=445996798570.65 match=True outlay=444839228359.41
FY2026 appropriations=496549860439.82 bbf=541494237.00 sum=497091354676.82 budget_authority=497091354676.82 match=True outlay=408182004260.39

Checked 2026-09-08.

curl -sS -w " http=%{http_code}\n" "https://api.usaspending.gov/api/v2/federal_accounts/075-8005/fiscal_year_snapshot/2025/"
<!doctype html>
<html lang="en">
<head>
  <title>Not Found</title>
</head>
<body>
  <h1>Not Found</h1><p>The requested resource was not found on this server.</p>
</body>
</html>
 http=404

Checked 2026-09-08.

FieldWhat it actually isFY2025 value
appropriationsthe figure comparable to OMB budget authority444,126,814,742.86
balance_brought_forwardunobligated balance carried in1,869,983,827.79
budget_authoritytotal budgetary resources (the sum of the two above)445,996,798,570.65
outlaygross outlays, positive444,839,228,359.41

Limits

Open question

Whether budget_authority is still appropriations + balance_brought_forward for an account where other_budgetary_resources is non-zero, or whether that term enters too.

Plain text