Search awards
Search federal contract awards as a lean, award-focused list. Filter by awardee name, UEI, agency, NAICS, amount range, date range, or state. Each result is a 16-field record; pair the notice_id with /opportunities/{notice_id} for the full 59-field record when you need more.
For FPDS prime contract data, use /api/v1/contracts/*. This endpoint reads SAM Award Notices, which cover roughly 10 to 30 percent of federal contract obligations depending on the agency. The /contracts/* surface covers every FPDS prime contract action in the same coverage window, with denser subaward enrichment on the detail endpoint and a dedicated modification-trail endpoint. This endpoint remains in service for integrations that depend on its 16-field shape and CO contact field.
How It Works
- All filters on every plan. Unlike opportunities, awards filters are not plan-gated. Plans differ on page size (Free 100, paid 1,000) and rate limit, not filter access.
- Partial matching:
awardee_nameandagencyare case-insensitive substring matches.awardee_name=boeingmatches "BOEING DISTRIBUTION SERVICES, INC", "BELL BOEING JOINT PROJECT OFFICE", etc. - Cross-reference to the full record: every result carries
notice_id; pass it to /opportunities/{notice_id} for the complete 59-field record. - Exact
total, no estimate cap. Unlike opportunities search,pagination.totalhere is an exact count (nototal_is_estimateflag). Page-forward math is reliable.
Concepts to know before you integrate.
award_amountis not always a clean dollar value. It can be0(common on indefinite-delivery-vehicle base records),null(no amount on the notice), or rarely a placeholder sentinel like999999999999. Filter and aggregate defensively when you sum or sort.award_dateis the contract/award date, a calendar date with no time or timezone, distinct fromposted_dateon the parent notice. A small number of records carry implausible years (you may see a date like9202-09-28or1921-09-27) straight from the source data. Because the default sort isaward_date DESC, those corrupted future dates land at the very top of an unfiltered search. Addawarded_before=<today's date>or sort byaward_amountif you need a clean newest-first list.awardee_stateis the awardee company's state, not the place of performance. If you want where the work happens, that lives on the parent notice (use the detail endpoint).awardee_nameis a raw source string and often has address fragments appended, e.g."Boeing Company, The MO 63134-1939 USA". Match with substrings; preferueifor identity when you have one.award_uei_samis missing on a share of records. Aueifilter exact-matches only records where the UEI is populated; awards without a UEI are silently excluded even when the company is right. For broader coverage, fall back toawardee_name.
Filter Parameters
awardee_name: Company name (case-insensitive substring onawardee_name). Alias:name.uei: Exact UEI match. Uppercased server-side; lowercase works.naics: Exactly 6 digits. 2-5 digit prefix returns 400; a well-formed but nonexistent 6-digit code returns 200 withtotal=0(an empty result can mean "bad code," not "no awards").agency: Awarding agency, case-insensitive substring on the dotted hierarchy path.amount_min: Minimumaward_amount(≥ 0).amount_min=0is applied, it excludes null-amount rows.amount_max: Maximumaward_amount.awarded_after: Awards on or after this calendar date (YYYY-MM-DD). On the free trial, subject to the 90-day search window (see note below). Alias:date_from.awarded_before: Awards on or before this date (YYYY-MM-DD). Alias:date_to.state: Awardee state code (2-letter, uppercased). This is the awardee's HQ state, NOT performance.sort_by:award_amount,award_date,awardee_name. Default isaward_date. Invalid value returns 400 with the valid list (no silent fallback).sort_order:ascordesc(defaultdesc). NULLs sort first onasc, last ondesc. Tie-broken bynotice_idfor stable pagination.limit: Page size. Default 100; maximum 100 on the free trial and 1,000 on paid plans. Over the maximum returns402;limit=0returns422.offset: ≥ 0. Negative returns 422.fields: Comma-separated projection;notice_idalways included. Unknown name returns 400. See Response Shaping.
On the free trial this endpoint is subject to the search window: awarded_after is injected (when omitted) or clamped (when older than 90 days), the same way date_from behaves on opportunities search, and the response window block says which. Paid plans have no window. Always read filters_applied.awarded_after to see the effective date. Because of the corrupted future-dated rows discussed in the concepts note above, awarded_before does not cleanly cap the top of the result set either, pin both bounds when you need a tight range.
Filters not available here (use /opportunities/search instead): keywords, psc, set_aside, notice_type, active_only, has_attachments, value_min / value_max. Awards has the award-specific amount_min / amount_max and awarded_* dates instead. There is no keywords equivalent on this endpoint; use opportunities search and filter by notice_type=Award Notice if you need full-text matching.
Response (16 fields per award)
{
"data": [
{
"award_number": "FA8620-25-C-0012",
"awardee_name": "NORTHROP GRUMMAN SYSTEMS CORP",
"awardee_uei": "MF2LE5RK6L84",
"award_amount": 12500000,
"award_date": "2026-03-15",
"agency": "DEPT OF THE AIR FORCE",
"naics": ["336411"],
"solicitation_number": "FA8620-25-R-0009",
"title": "Advanced Sensor Integration Support",
"set_aside_type": null,
"awardee_cage_code": "80205",
"awardee_city": "MELBOURNE",
"awardee_state": "FL",
"contact_name": "John Smith",
"contact_email": "[email protected]",
"notice_id": "abc123def456"
}
],
"pagination": {
"limit": 20,
"offset": 0,
"total": 847,
"has_next": true
},
"filters_applied": {},
"window": { "plan_window_days": null, "earliest_searchable": null, "clamped": false }
}
Examples
Find awards by company name:
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://govconapi.com/api/v1/awards/search?awardee_name=boeing&limit=10"
DoD awards over $1M in 2025:
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://govconapi.com/api/v1/awards/search?agency=defense&amount_min=1000000&awarded_after=2025-01-01"
IT services awards in Virginia:
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://govconapi.com/api/v1/awards/search?naics=541519&state=VA"
Find all awards for a specific company by UEI:
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://govconapi.com/api/v1/awards/search?uei=XX2WFHJEFB45&sort_by=award_date"
For FFATA subaward enrichment on a specific contract, use the single-record /awards/{award_number} endpoint; the full prime→sub flow with named sub-vendors is on the dedicated /subawards/* surface.