search_awards
Read-only
Search federal awards (contracts, IDVs, grants, loans, etc.) on USASpending.gov.
This is the primary workhorse for finding awards. Returns matching awards
with standard fields (Award ID, Recipient, Description, Amount, Agencies,
NAICS, PSC, dates). Use get_award_detail() with the generated_internal_id
from results to get full award details.
Important rules:
- award_type groups cannot be mixed; pick one category per call
- time_period_start/end use YYYY-MM-DD format
- award_amount_min/max are in USD
- place_of_performance_state is a 2-letter USPS code (e.g. 'MD', 'VA')
- For loans, use award_type='loans' and sort='Loan Value'
- def_codes filters to Disaster Emergency Fund codes (COVID-19, IIJA,
IRA supplementals); see get_def_codes_reference() for the list
Filtering to specific contracting commands (NAVSEA, AFRL, etc.):
USASpending's subtier level is at the service branch (Department of the
Navy, Army, Air Force), not the contracting command. To filter to a
specific command, use keywords with the PIID office prefix instead:
- NAVSEA contracts: keywords=['N00024']
- Army Contracting: keywords=['W91CRB']
- AFRL: keywords=['FA8650']
- NAVAIR: keywords=['N00019']
This performs a substring match on the PIID field and is more reliable
than the award_ids filter for partial matches.
Common filter value references:
- set_aside_type_codes: SBA, SBP, 8A, 8AN, HZC, HZS, SDVOSBS, SDVOSBC,
WOSB, WOSBSS, EDWOSB, EDWOSBSS, VSA
- extent_competed_type_codes: A (Full & Open), B, C, D, E, F, G, CDO, NDO
- contract_pricing_type_codes: J (FFP), Y (T&M), Z (LH), U (CPFF),
V (CPIF), R (CPAF), L (FP Incentive), M (FP Award Fee)
IMPORTANT: awarding_agency/funding_agency must be the FULL TOPTIER NAME,
not a slug. Use 'Department of Defense', NOT 'department-of-defense'.
Slugs silently return zero results, and so does any name that is not a
toptier agency: the military departments are SUBTIERS, so pass
awarding_agency='Department of Defense' with
awarding_subagency='Department of the Navy' (never 'Department of the
Navy' as awarding_agency). A mismatched pair (a subagency that does not
belong to the given toptier) also silently returns zero results. Use
list_toptier_agencies() and get_agency_sub_agencies() for exact names.
Result caveats: recipient_name matches corporate affiliations, so a
parent-company search can return joint ventures whose display names
share no text with the query (a Hanford JV surfaces under 'Leidos');
verify names before presenting a definitive list. Large pulls can
exceed MCP client payload budgets (limit=100 has measured ~90K
characters); page in batches of 25-30 for big result sets.
"Award Amount" is the award's lifetime obligation, not the amount in
the time window. There is no period-of-performance end-date filter, so
expiring-contract (recompete) questions can't be filtered here: sorting
by 'End Date' over an action-date window returns long-ended awards that
had a closeout mod; filter the End Date column yourself.
date_type controls the award date window. Omitted (the default),
the latest action must be on/after the window start and the first signing
on/before its end. This interval overlap does NOT prove an action occurred
inside the window. For actual dated actions use spending_by_transaction,
read every page, and deduplicate award identifiers for distinct awards;
get_transactions provides a discovered award's complete action history.
'action_date' bounds the latest action, not any action; 'date_signed'
bounds first signing; 'last_modified_date' bounds the latest update.
'new_awards_only' keeps awards first signed in the window.
date_type needs time_period_start and/or time_period_end.
program_numbers filters assistance awards by assistance listing (CFDA)
number, e.g. ['93.778'] for Medicaid; use it with award_type='grants',
'loans', 'direct_payments', or 'other'. autocomplete_cfda() finds numbers
by program name.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| sort | No | ||
| limit | No | ||
| order | No | desc | |
| keywords | No | ||
| award_ids | No | ||
| date_type | No | ||
| def_codes | No | ||
| psc_codes | No | ||
| award_type | No | contracts | |
| naics_codes | No | ||
| funding_agency | No | ||
| recipient_name | No | ||
| awarding_agency | No | ||
| program_numbers | No | ||
| time_period_end | No | ||
| award_amount_max | No | ||
| award_amount_min | No | ||
| time_period_start | No | ||
| awarding_subagency | No | ||
| set_aside_type_codes | No | ||
| extent_competed_type_codes | No | ||
| place_of_performance_state | No | ||
| contract_pricing_type_codes | No |
Output Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||