Microproduct data guideintermediate

USAspending Federal Awards

Federal contract, grant, loan, and other award records for building recipient research, agency-spending, and public-market analysis tools.

At a glance

Difficulty
Intermediate — some data preparation helps
Size
Small · ≤0.1 GB
Formats
JSON, CSV, ZIP
Access
API or Download
API key
Not required
Provider
U.S. Department of the Treasury
Updates
Daily
Data terms
U.S. Government public data / federal copyright guidance

From source to product signal

Test a product idea in four steps

USAspending links federal awards, recipients, agencies, and transactions. Start with one awarding agency, one fiscal period, and a small award result page. Award amounts and transactions can represent obligations or outlays, and records can be amended after their initial publication.

1

Check the setup

  • Python 3.10 or newer
  • A notebook environment such as Jupyter or Google Colab
  • An internet connection
2

Access the data

  1. 1.Read the award-search endpoint documentation and choose one awarding agency.
  2. 2.Set a bounded fiscal-period filter and request only the fields needed for recipient ranking.
  3. 3.Save the retrieval timestamp and inspect the spending measure before aggregating award amounts.
Open official source
3

Run the Python example

Install the packages, then run the notebook cell.

python -m pip install pandas requests

import pandas as pd
import requests

payload = {
    "filters": {
        "time_period": [{"start_date": "2025-10-01", "end_date": "2026-09-30"}],
        "award_type_codes": ["A", "B", "C", "D"],
        "agencies": [{
            "type": "awarding",
            "tier": "toptier",
            "name": "Department of Energy",
        }],
    },
    "fields": [
        "Award ID",
        "Recipient Name",
        "Award Amount",
        "Start Date",
        "End Date",
        "Awarding Agency",
    ],
    "page": 1,
    "limit": 100,
    "subawards": False,
}
response = requests.post(
    "https://api.usaspending.gov/api/v2/search/spending_by_award/",
    json=payload,
    timeout=30,
)
response.raise_for_status()
awards = pd.DataFrame(response.json()["results"])
awards["retrieved_at_utc"] = pd.Timestamp.now(tz="UTC")
print(awards.head(20))
4

Test a useful signal

Rank recipients for one federal agency

Find which recipients account for the largest returned award amounts for one agency and fiscal period.

  1. 01Confirm the selected award types and whether the returned measure represents obligations or another spending concept.
  2. 02Group the bounded result page by recipient and rank summed award amounts.
  3. 03Explain why pagination, amendments, recipient normalization, and the distinction between obligations and outlays limit the ranking.

Dataset details

U.S. Department of the Treasury is a government source. Last verified 2026-08-11. Temporal coverage: fiscal year 2001-present, with endpoint-specific limits.

Domains

Public SpendingGovernment Procurement

Data types

Transaction DataTabular

Tasks

Award AnalysisRecipient ResearchMarket Sizing

Geography

United States

Formats

JSONCSVZIP

Provider

U.S. Department of the Treasury

Data terms

U.S. Government public data / federal copyright guidance