US federal award search
Federal awards from USAspending.gov: contracts, IDVs, grants, loans, direct payments or other assistance (type), filtered by keyword, recipient, agency, period, amount, NAICS, PSC, assistance listing, award id, set-aside, competition, disaster codes and locations. Each award has its ids, recipient with UEI and location, amount and outlays (loan value and subsidy cost for loans), dates, award type, description, awarding and funding agency and sub-agency, NAICS, PSC, assistance listings, COVID-19 and infrastructure obligations and place of performance; use internal_id with /usaspending/v1/award. Give at least one filter. Pass next_page back as page; null on the last page.
Every response includes credits_used: the credits this call cost.
Parameters
| name | type | description |
|---|---|---|
type | contracts | idvs | grants | loans | direct_payments | other | Award group (default contracts). |
q | string | Keywords, comma list (each 3+ characters). |
recipient | string | Recipient name, UEI or DUNS, comma list. Example: lockheed martin |
agency | string | Agency name (e.g. Department of Defense); see /usaspending/v1/agencies. |
agency_tier | toptier | subtier | Agency level. |
agency_type | awarding | funding | Awarding or funding agency. |
from | string | Start of the period (YYYY-MM-DD, 2007-10-01 or later). Example: 2025-01-01 |
to | string | End of the period (YYYY-MM-DD). |
date_type | action_date | date_signed | last_modified_date | new_awards_only | Which date the period applies to. |
min_amount | number | Minimum award amount (USD). |
max_amount | number | Maximum award amount (USD). |
naics | string | NAICS codes, comma list (2-6 digits). |
psc | string | Product and service codes, comma list. |
assistance_listing | string | Assistance listing (CFDA) numbers, comma list (e.g. 93.778). |
award_id | string | Award ids (PIID or FAIN), comma list. |
set_aside | string | Set-aside codes, comma list (e.g. SBA, 8A, WOSB). |
extent_competed | string | Extent-competed codes, comma list. |
def_codes | string | Disaster emergency fund codes, comma list. |
place_of_performance | string | US state code (CA, or CA-037 for a county) or a 3-letter country code. |
recipient_location | string | Recipient's US state code or 3-letter country code. |
recipient_type | string | Recipient business types, comma list (e.g. small_business, nonprofit, higher_education). |
sort | amount | start_date | end_date | recipient | award_id | last_modified | issued_date | loan_value | Sort field (default amount; loan_value for loans). |
order | desc | asc | Sort order (default desc). |
limit | integer | Results per page. |
page | integer | Page number (1-based). Pass next_page back as page; null on the last page. |
Every endpoint also takes fresh, raw, fields (see lean responses and caching).
Example
curl "https://api.api.sh/usaspending/v1/awards" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/usaspending/v1/awards",
params={},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json() const url = new URL("https://api.api.sh/usaspending/v1/awards");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json(); Response
A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).