U.S. Treasury USAspending API
U.S. Treasury USAspending API
U.S. Treasury data on federal awards and account-level spending, including contracts, grants, loans, recipients, agencies, locations, obligations and outlays. The REST API returns JSON records and aggregates from GET and POST endpoints; no key is needed.
Coverage
Coverage is U.S. federal spending, with award search endpoints limited to dates from 1 October 2007 and bulk routes extending to 1 October 2000. More than 100 federal agencies submit financial data monthly, but some smaller executive agencies and the legislative and judicial branches are not required to report. Department of Defense and Army Corps contract data have a 90-day source-system submission delay.
Verdict
This API gives award and account-flow signals for federal procurement, grants, lending, recipients, agencies and locations. Award amounts can change through later transactions, while account data arrive on monthly or quarterly cycles and may lag certification and loading. Reporting exclusions and the stated defense-contract delay create coverage gaps in recent periods. Keep award, transaction and fiscal-period concepts separate when aggregating obligations or outlays.
Get the free weekly email
Free weekly email of newly verified free data. Unsubscribe by emailing us.
By entering your email and clicking Subscribe, you agree to receive the Signal Lab weekly email from Quantum Data Technologies Ltd., 3200-650 West Georgia Street, Vancouver, BC V6B 4P7, Canada (signal-lab@qdt.ai). You can unsubscribe at any time: reply "unsubscribe" to any email or write to signal-lab@qdt.ai. See our Privacy Policy.
Use in your agent
Load USAspending FY2026 contract obligations into Parquet. Checked against the provider's documentation on Nov 1, 2026.
Access
- No account or key was required for the checked POST endpoint.
- The endpoint accepts JSON filters and returns aggregate JSON results plus coverage messages.
Request
curl -X POST -H 'Content-Type: application/json' -d '{"group":"fiscal_year","filters":{"time_period":[{"start_date":"2025-10-01","end_date":"2026-09-30"}],"award_type_codes":["A","B","C","D"]},"spending_level":"transactions"}' 'https://api.usaspending.gov/api/v2/search/spending_over_time/'Format
JSON fiscal-year aggregates containing total and category-specific obligations or outlays, the spending level and provider messages about search coverage.
Load into pandas and Parquet
Needs Python 3 with requests, pandas and pyarrow.
"""USAspending FY2026 contract obligations -> pandas -> Parquet. No key."""
import requests
import pandas as pd
URL = "https://api.usaspending.gov/api/v2/search/spending_over_time/"
payload = {
"group": "fiscal_year",
"filters": {
"time_period": [{"start_date": "2025-10-01", "end_date": "2026-09-30"}],
"award_type_codes": ["A", "B", "C", "D"],
},
"spending_level": "transactions",
}
r = requests.post(URL, json=payload, timeout=60)
r.raise_for_status()
df = pd.json_normalize(r.json()["results"])
df.to_parquet("usaspending_contracts_fy2026.parquet", index=False)
print(len(df), "fiscal-year row", "FY", df.loc[0, "time_period.fiscal_year"],
"contract obligations", f"${df.loc[0, 'Contract_Obligations']:,.2f}")Run by us on 2026-11-01 (python 3.13.5 | pandas 3.1.0 | pyarrow 26.0.0 | requests 2.34.2). Result: 1 fiscal-year row FY 2026 contract obligations $768,293,510,588.91
Limits
- Rate limit: Not stated.
- Award search time periods cannot begin before 2007-10-01; download and bulk-download routes extend to 2000-10-01.
- Some endpoints paginate or impose endpoint-specific result limits documented on their pages.
Quirks
- Obligations and outlays are different measures; the checked transaction query returned obligation values and null outlay fields.
- Award totals can change as later transactions modify an award, so retain retrieval time and transaction-level identifiers for reproducible snapshots.
- Fiscal years begin on 1 October, and reporting cadence differs between award and account submissions.
Terms and attribution
- USAspending describes the federal spending data served by the API as open source and public under the DATA Act.
- Retain source-system context because reporting exclusions, delays and later corrections affect interpretation.
Sources
- https://api.usaspending.gov/: “The USAspending API (Application Programming Interface) allows the public to access comprehensive U.S. government spending data.”
- https://www.usaspending.gov/data/data-sources-download.pdf: “Today, more than 100 federal agencies submit financial data to USAspending.gov on a monthly basis,”
- https://www.usaspending.gov/data/data-sources-download.pdf: “there is a 90-day delay in the submission of these data to the FPDS source system.”
- https://github.com/fedspendingtransparency/usaspending-api/blob/master/README.md: “This API is utilized by USAspending.gov to obtain all federal spending data which is open source and provided to the public as part of the DATA Act.”
Information and education only. Not financial, investment, legal or tax advice. Listings can be inaccurate, incomplete or out of date and are provided "as is". Free tiers, limits and licenses belong to each provider and can change, so check the provider's own terms before you rely on them. Terms & Disclaimer