Subawards¶
Subawards (FSRS/USAspending subawards) are exposed at /api/subawards/. For field definitions, see the Subawards Data Dictionary.
Endpoints¶
GET /api/subawards/(list + filtering + ordering)GET /api/subawards/{key}/(detail)
Scoped lists:
GET /api/contracts/{key}/subawards/(subawards under a contract)GET /api/entities/{uei}/subawards/(subawards for an entity)
Default response¶
All subaward responses use the shaping pipeline by default. No ?shape= parameter is required to get a shaped response.
Default fields (equivalent to requesting):
award_key,awarding_office(*),fsrs_details(*),funding_office(*),key,piid,
place_of_performance(*),prime_recipient(uei,display_name),
subaward_details(*),subaward_recipient(uei,display_name)
Shaping¶
Use ?shape= to request a custom field set. Subawards support the following leaves and expansions.
Leaves¶
Identity and prime award scalar fields:
| Field | Description |
|---|---|
key | Subaward primary key |
award_key | Prime award identifier |
piid | Prime award PIID (mapped from prime_award_piid) |
prime_award_amount | Total prime award amount |
prime_award_total_outlayed_amount | Prime award total outlayed amount |
prime_award_base_action_date | Prime award base action date |
prime_award_base_action_date_fiscal_year | Fiscal year of base action date |
prime_award_latest_action_date | Prime award latest action date |
prime_award_latest_action_date_fiscal_year | Fiscal year of latest action date |
prime_award_base_transaction_description | Prime award description |
prime_award_project_title | Prime award project title |
prime_award_naics_code | NAICS code |
prime_award_naics_description | NAICS description |
prime_awardee_uei | Prime awardee UEI |
prime_awardee_name | Prime awardee name |
prime_awardee_parent_uei | Prime awardee parent UEI |
prime_awardee_parent_name | Prime awardee parent name |
subawardee_uei | Subawardee UEI |
subawardee_duns | Subawardee DUNS |
subawardee_name | Subawardee name |
subawardee_dba_name | Subawardee DBA name |
subawardee_parent_uei | Subawardee parent UEI |
subawardee_parent_duns | Subawardee parent DUNS |
subawardee_parent_name | Subawardee parent name |
subawardee_business_types | Subawardee business types |
usaspending_permalink | USASpending.gov link |
Expansions¶
| Expansion | Fields |
|---|---|
subaward_details(*) | description, type, number, amount, action_date, fiscal_year |
fsrs_details(*) | last_modified_date, id, year, month |
place_of_performance(*) | city, state, zip, country_code |
highly_compensated_officers(*) | name, amount — list of up to 5 officers |
prime_recipient(uei,display_name) | Prime awardee identity, resolved from the Entities table when available (falling back to denormalized subaward fields when no match exists) |
subaward_recipient(uei,display_name,duns) | Subawardee identity, resolved from the Entities table when available (falling back to denormalized subaward fields when no match exists) |
awarding_office(*) | office_code, office_name, agency_code, agency_name, department_code, department_name |
funding_office(*) | Same fields as awarding_office |
Examples¶
# Default response (no shape needed)
/api/subawards/
# Minimal fields
/api/subawards/?shape=key,piid,award_key
# Subaward details with recipient info
/api/subawards/?shape=key,piid,subaward_details(*),subaward_recipient(uei,display_name)
# Office hierarchy for awarding office
/api/subawards/?shape=key,awarding_office(office_code,office_name,agency_name)
# All offices
/api/subawards/?shape=key,awarding_office(*),funding_office(*)
# Place of performance
/api/subawards/?shape=key,place_of_performance(city,state,country_code)
# FSRS report details
/api/subawards/?shape=key,fsrs_details(id,year,month,last_modified_date)
# Highly compensated officers
/api/subawards/?shape=key,highly_compensated_officers(name,amount)
# Discover available fields
/api/subawards/?show_shapes=true
Filtering¶
Core filters:
| Param | What it does |
|---|---|
award_key | Filter by prime award key (exact). |
prime_uei | Filter by prime awardee UEI (exact). |
sub_uei | Filter by subawardee UEI (exact). |
recipient | Search by recipient name (best-effort mapping to UEIs). |
awarding_agency | Filter by prime awarding agency code (exact). |
funding_agency | Filter by prime funding agency code (exact). |
fiscal_year | Filter by subaward action-date fiscal year (exact). |
fiscal_year_gte, fiscal_year_lte | Fiscal year range. |
Ordering¶
Subawards support ordering= with a strict allowlist:
last_modified_date
Examples:
- Most recently modified first:
GET /api/subawards/?ordering=-last_modified_date
Pagination¶
Subawards use standard page-number pagination:
page(default 1)limit(max 100)
SDK examples¶
The official SDKs don't yet expose a first-class list_subawards() / listSubawards() method. You can still call the endpoint via the SDK's internal HTTP helper.
import { TangoClient } from "@makegov/tango-node";
const client = new TangoClient({ apiKey: process.env.TANGO_API_KEY });
const http = (client as any).http;
const data = await http.get("/api/subawards/", {
recipient: "deloitte",
ordering: "-last_modified_date",
limit: 10,
});
console.log("count:", data.count);