Back to Hermes Agent

USAspending — Federal Government Contracts and Grants

optional-skills/research/osint-investigation/references/sources/usaspending.md

2026.6.53.8 KB
Original Source

USAspending — Federal Government Contracts and Grants

1. Summary

USAspending.gov is the official source of federal spending data. Coverage: contracts, grants, loans, direct payments, sub-awards. Required by the DATA Act of 2014 — all federal agencies must report to a single schema.

2. Access Methods

  • API v2: https://api.usaspending.gov/api/v2/ (no auth, no key)
  • Bulk: https://files.usaspending.gov/ (CSV / Parquet by award type)
  • Auth: None
  • Rate limit: Not strictly enforced, but be polite — keep to <10 req/s

3. Data Schema

Key fields emitted by fetch_usaspending.py (prime awards):

ColumnTypeDescription
award_idstrFederal award ID (PIID for contracts, FAIN for grants)
recipient_namestrAwardee legal name
recipient_ueistrUnique Entity Identifier (replaced DUNS in 2022)
recipient_dunsstrLegacy DUNS number (historical only)
recipient_parent_namestrUltimate parent organization
recipient_statestrRecipient state
awarding_agencystrDepartment / agency name
awarding_sub_agencystrSub-tier (e.g. DoD → Army)
award_typestrContract / Grant / Loan / Direct Payment
award_amountfloatCurrent total obligation in USD
award_datestrAction / signed date YYYY-MM-DD
period_of_performance_startstrYYYY-MM-DD
period_of_performance_endstrYYYY-MM-DD
naics_codestrIndustry classification
psc_codestrProduct / Service Code
competition_extentstrFull / limited / sole-source
descriptionstrAward description (free-text)

4. Coverage

  • US federal awards only (state/local not included)
  • FY 2008 → present (full coverage from FY 2017)
  • Updated bi-weekly from agency reporting
  • ~100M+ transaction records cumulative

5. Cross-Reference Potential

  • SEC EDGARrecipient_name (public companies as contractors)
  • Senate LDrecipient_name (lobbying clients winning contracts)
  • OFAC SDNrecipient_name (sanctions screening of contractors — must be filtered out by SAM.gov but verify)
  • ICIJ Offshorerecipient_name (offshore-linked contractors)

Join key: normalized recipient name. UEI is canonical when present.

6. Data Quality

  • DUNS → UEI transition (April 2022) — old records have DUNS, new records have UEI
  • Some sub-awards aren't reported (FFATA threshold is $30k)
  • Award amount changes over time (mod actions) — fetch script reports current total
  • competition_extent field is free-text in older records — fetch_usaspending.py normalizes to canonical values
  • Recipient name variations are extensive — "ACME LLC", "Acme L.L.C.", "ACME, INC" all appear. Use entity_resolution.py.

7. Acquisition Script

Path: scripts/fetch_usaspending.py

bash
# By recipient name
python3 SKILL_DIR/scripts/fetch_usaspending.py --recipient "EXAMPLE CORP" \
    --fy 2024 --out data/contracts.csv

# By awarding agency
python3 SKILL_DIR/scripts/fetch_usaspending.py --agency "Department of Defense" \
    --fy 2024 --out data/contracts.csv

# Filter to sole-source only
python3 SKILL_DIR/scripts/fetch_usaspending.py --recipient "EXAMPLE CORP" \
    --fy 2024 --sole-source-only --out data/contracts.csv
  • Public record under the Federal Funding Accountability and Transparency Act (FFATA, 2006) and DATA Act (2014)
  • No commercial use restrictions on the data
  • Personal information of award recipients (e.g. small business owners' addresses in some grants) should be handled per the source agency's privacy notice

9. References