USAspending API
Free US federal spending API with no key: agency budgets, contracts, grants and award data covering trillions in government spending. Tested curl example.
Endpoint tested and returned HTTP 200 on 2026-08-19
What is the USAspending API?
The USAspending API is the official free API for US federal spending data. It exposes agency budgets, contract awards, grants and loans with no API key, covering every federal award reported since 2008.
USAspending is the US Treasury's official transparency platform, and the API behind it is fully open. It covers federal contracts, grants, loans and direct payments — the complete picture of where federal money goes.
The API mixes GET and POST endpoints: reference lookups such as the agency list are simple GETs, while the powerful award searches take a POST body with structured filters. That is unusual but sensible, since the filter objects get too large for a query string.
Quick facts
- Base URL
https://api.usaspending.gov/api/v2- Authentication
- No API key required.
- Rate limit
- No published hard limit; heavy queries are throttled by response time rather than a request cap.
- Pricing
- Free public domain US government data.
- CORS
- Not enabled — call it from your server
- Official docs
- Read the docs
How to use the USAspending API
Every request below was executed against the live API on 2026-08-19, and the response shown is the real body it returned — not an illustration.
1. List all top-tier federal agencies
GET https://api.usaspending.gov/api/v2/references/toptier_agencies/
curl 'https://api.usaspending.gov/api/v2/references/toptier_agencies/'const res = await fetch("https://api.usaspending.gov/api/v2/references/toptier_agencies/");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://api.usaspending.gov/api/v2/references/toptier_agencies/", timeout=20)
res.raise_for_status()
print(res.json()){
"results": [
{
"agency_id": 1525,
"toptier_code": "247",
"abbreviation": "AAHC",
"agency_name": "400 Years of African-American History Commission",
"congressional_justification_url": null,
"active_fy": "2026",
"active_fq": "3",
"outlay_amount": 952000.0,
"obligated_amount": 1267000.0,
"budget_authority_amount": 7610814.15,
"current_total_budget_authority_amount": 16046843330623.99,
"percentage_of_total_budget_authority": 4.742873095467587e-07,
"agency_slug": "400-years-of-african-american-history-commission"
},
{
"agency_id": 1146,
"toptier_code": "310",
"abbreviation": "USAB",
"agency_name": "Access Board",
"congressional_justification_url": "https://www.access-board.gov/cj",
"active_fy": "2026",
"active_fq": "3",
"outlay_amount": 7076038.71,
"obligated_amount": 5426838.71,
"budget_authority_amount": 13571753.44,
"current_total_budget_authority_amount": 16046843330623.99,
"percentage_of_total_budget_authority": 8.457584560634116e-07,
"agency_slug": "access-board"
},
{
"agency_id": 1136,
"toptier_code": "302",
"abbreviation": "ACUS",
"agency_name": "Administrative Conference of the U.S.",
"congressional_justification_url": "https://www.acus.gov/cj",
"active_fy": "2026",
"active_fq": "3",
"outlay_amount": 2391393.46,
"obligated_amount": 2422761.52,
"budget_authority_amount": 3502154.18,
"current_total_budget_authority_amount": 160468Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | integer | Optional | Results per page on list endpoints. 10 |
page | integer | Optional | Page number. 2 |
sort | string | Optional | Field to sort by on supported endpoints. budget_authority_amount |
filters | object | Optional | POST-body filter object used by the award search endpoints. {"time_period":[...]} |
Response fields
results[].agency_namestring- Full agency name.
results[].abbreviationstring- Common agency abbreviation, e.g. DOD.
results[].toptier_codestring- Treasury agency code used to join other endpoints.
results[].budget_authority_amountnumber- Total budget authority for the fiscal year.
results[].current_total_obligationsnumber- Obligated spend so far this fiscal year.
What you can build with the USAspending API
- Analyse federal spending by agency, state or industry
- Track which companies receive government contracts
- Build transparency dashboards and journalism tooling
- Research grant funding available in a sector
Common errors and how to fix them
422
The POST filter object is malformed.
Fix: Award search endpoints require a specific filter schema — copy the shape from the docs rather than improvising.
504
The query was too broad and timed out.
Fix: Add a fiscal-year or agency filter; unbounded award searches span millions of rows.
USAspending API — frequently asked questions
Is the USAspending API free?
Yes, completely free with no API key. It is the US Treasury's official open data platform and the data is public domain.
Why do some USAspending endpoints require POST?
The award search endpoints take structured filter objects that are too large and too nested for a query string, so they are sent as a JSON POST body. Simple reference lookups remain GET.
How current is the spending data?
Agencies report on a rolling basis, so recent months are incomplete and get revised. Treat the most recent quarter as provisional.
Can I see which companies won federal contracts?
Yes. The award search endpoints return recipient names, award amounts, awarding agency and place of performance for every reported federal contract.
Tools that pair with this API
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
CSV to JSON Converter
Convert CSV to a JSON array of objects online. Header-row detection, comma/semicolon/tab delimiters and pretty-printed output — 100% in your browser.
Percentage Calculator
Calculate what X% of a number is, what percent one number is of another, and percentage increase or decrease between two values — instantly and free.
USAspending is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-19; always check the official documentation before relying on this API in production, as terms and limits can change.