get_federal_grants
Returns federal GRANTS and cooperative agreements from USAspending. Distinct universe from get_federal_contracts — recipients here are universities, non-profits, state and local agencies, research labs, healthcare institutions, public-private partnerships. ⚠ award_amount and total_outlays are NULLABLE. USAspending omits Total Outlays from the search response for most grants, and this tool reports that as null rather than as $0 — a 0 means the source really said zero. Null-check before doing arithmetic. Null values never satisfy min_amount and sort last. Award type codes covered: 02 (Block Grant), 03 (Formula Grant), 04 (Project Grant — most common), 05 (Cooperative Agreement). Killer query patterns: - All NIH R01 grants this quarter: cfda_number='93.847' + since=... - State and local infrastructure funding: awarding_agency='Department of Transportation' + min_amount=1000000 - Recipient-specific grant history: recipient_name='Stanford' - Recipient by federal UEI: recipient_uei='ABC123XYZ' (most precise) Source: api.usaspending.gov — official Treasury federal-spending data. Awards covering both COVID/IIJA emergency-funding codes and routine appropriations. Pure-publisher posture: raw award data, no derived rankings or performance scores. COVERAGE — live passthrough (source:'live'): each call queries USAspending's API over the full dataset (2007-10 onward), with recipient/CFDA/min-amount/date filters applied server-side. The response's total_count is USAspending's authoritative grant count for your filtered query — USE IT for volume answers (the results array is just the requested page). total_count is omitted — and coverage_warning says why — when USAspending cannot count the answer: a recipient_uei that is also the PARENT of other recipients (USAspending cannot filter to one UEI's own grants), recipient_name combined with recipient_uei, or a start_date window (sort_by start_date with since/until). Then has_more is true whenever the search stopped before the end. Note: live cfda_number matching is against the award's FULL assistance-listings array (awards can carry several CFDAs); the cached fallback matches the primary listing only. On USAspending outage the tool falls back to a recent cached window (source:'cache' + coverage_warning) — don't infer volume there.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max records. Default 50, max 500. | |
| since | No | Inclusive lower bound (YYYY-MM-DD) on last_modified_date — or on start_date when sort_by is start_date. | |
| until | No | Inclusive upper bound (YYYY-MM-DD), on the same date field as since. | |
| sort_by | No | Sort key. since/until apply to start_date when this is start_date, and to last_modified_date for every other sort. Default: last_modified_date. | |
| min_amount | No | Inclusive lower bound on award_amount in dollars. | |
| sort_order | No | Default: desc. | |
| cfda_number | No | Catalog of Federal Domestic Assistance program number (e.g., '93.847' = NIH R01 research grants, '20.939' = highway safety improvement). Filter to one program. | |
| recipient_uei | No | Exact federal UEI (Unique Entity ID) — most precise: only grants made to this UEI itself. If it is also the parent of other recipients, their grants are NOT included and total_count is omitted — coverage_warning names the parent; use recipient_name with that name for the whole family. | |
| recipient_name | No | Case-insensitive substring on the recipient's name (e.g., 'Stanford', 'Mayo Clinic'), applied by USAspending — which also matches the PARENT's name, so a parent name returns its subsidiaries' grants. Combined with recipient_uei it is matched against that recipient's OWN name instead, and coverage_warning says how many grants it removed. | |
| awarding_agency | No | The TOPTIER awarding agency name — exact and case-sensitive; a sub-agency name (e.g. 'National Institutes of Health') or an abbreviation ('NSF') matches nothing. Examples: 'National Science Foundation', 'Department of Energy', 'Department of Health and Human Services'. |