BYTETOOLS

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.

No API key requiredHTTPSFree tier

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
curl 'https://api.usaspending.gov/api/v2/references/toptier_agencies/'
JavaScript (fetch)
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);
Python (requests)
import requests

res = requests.get("https://api.usaspending.gov/api/v2/references/toptier_agencies/", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
{
  "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": 160468

Parameters

ParameterTypeRequiredDescription
limitintegerOptionalResults per page on list endpoints. 10
pageintegerOptionalPage number. 2
sortstringOptionalField to sort by on supported endpoints. budget_authority_amount
filtersobjectOptionalPOST-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

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.