FSRS Subawards
Reported prime-contract subawards.
Source, grain and coverage
Subaward records collected through USAspending. Coverage depends on the reporting provided by prime recipients.
Reported subawards can include assistance as well as contracts. Reporting and identifier coverage are incomplete. Qualified report identities deduplicate repeated retained observations; network and prime summaries are separate derived datasets, rather than independent confirmations.
Collection schedule: Daily.
Records describe public source observations. Missing values remain unknown; historical observations do not establish current status.
Definitions audited . Use source status and the returned watermarks to inspect current collection health.
REST and MCP access
Use a credential with intelligence scope and enable that data domain in your workspace.
curl 'https://www.govbiz.ai/api/v2/catalogue/sources/fsrs-incremental/records?limit=2' \ -H "Authorization: Bearer $GOVBIZ_API_KEY"
The primary dataset is subaward_reports. Select another dataset from this source with dataset_id. Supported field names can be used as exact filters; the versioned query endpoint also supports declared ranges and list operators.
Through canonical /mcp, use govbiz_discover_datasets, govbiz_describe_dataset, govbiz_search_records, and govbiz_get_evidence. Cross-source relationships use govbiz_get_related_records and require access to every involved domain.
API contracts · MCP setup · Workspace data domains
Query this source →Subaward Reports
subaward_reports · Schema 1
One normalized reported subaward identity per report_key, qualified by prime_award_key and subaward_number when available; missing keys preserve separate observations.
Search modes: structured, lexical. History: Current retained projection; exact historical reconstruction is unsupported.
Measures: record_count, sum:subaward_amount. Monetary values use decimal strings with declared units. Unknown amounts do not become zero.
Field definitions and supported filters · 24 fields
| Field | Type / unit | Meaning | Availability and filters |
|---|---|---|---|
agency_code | string | Stored source agency identifier; namespace can be CGAC, FPDS, top-tier or publisher-specific and must be declared.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
agency_name | string | Source agency name; a label whose scope can be department, bureau or office.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
description | string | Source description in the relation context; distinguish from generated interpretation.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
ingested_at | string | Producer ingestion timestamp; some relations store ISO text and others timestamp without time zone.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
naics_code | string | Source industry classification code; link with the NAICS edition and declared precision.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ.Require a classification edition; do not join broad prefixes as exact identities. | Values can be missingeq, in, is_null, contains |
naics_description | string | Industry classification description; it is not an award requirement narrative.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
pop_state | string | Source place-of-performance state/territory.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
prime_award_key | string | Reported prime award unique key, including its source award category.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
prime_fain | string | Prime assistance award FAIN in a subaward export; do not confuse it with a contract PIID.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
prime_name | string | Reported prime award recipient label.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
prime_piid | string | Prime contract PIID in a subaward export; not the subaward identity.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
prime_uei | string | Source UEI identifying the prime participant; missing/empty values cannot support an exact entity join.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ.Logical UEI length is 12; a wider varchar is not broader identity support. | Values can be missingeq, in, is_null, contains |
psc_code | string | Product and Service Code classification; it is not a NAICS industry code.Storage and value limits: null: Arrow null type: this schema variant has no populated value for this column; logical type must come from a contract.Classification overlap is contextual, not record identity. | Values can be missingeq, in, is_null, contains |
sub_agency_code | string | Prime-award subagency identifier in the USAspending subaward export.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
sub_city | string | Reported subcontract recipient city.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
sub_country | string | Reported subcontract recipient country.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
sub_name | string | Reported subaward recipient label.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
sub_state | string | Reported subcontract recipient state/territory.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
sub_uei | string | Source UEI identifying the sub participant; missing/empty values cannot support an exact entity join.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ.Logical UEI length is 12; a wider varchar is not broader identity support. | Values can be missingeq, in, is_null, contains |
subaward_amount | decimal / USD | Reported subaward dollars; do not add them to prime dollars as disjoint federal spending.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, gte, lte |
subaward_date | date | Reported subaward action date.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, gte, lte |
subaward_number | string | Subaward reference within a prime award, not globally unique alone.Storage and value limits: large_string: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
report_key | string | Prime source award key plus native subaward number. Repeated reports select latest retained ingestion.Storage and value limits: Bounded by the public query contract. | Values can be missingeq, in, is_null |
fiscal_year | integer | Collector partition fiscal year of the reported subaward date.Storage and value limits: Bounded by the public query contract. | Values can be missingeq, in, is_null, gte, lte |
Subaward Network
subaward_network · Schema 1
One retained legacy network group per prime/subrecipient, agency, NAICS and fiscal year, identified by id. Counts and amounts can include repeated report observations.
Search modes: structured, lexical. History: Current retained projection; exact historical reconstruction is unsupported.
Measures: record_count. Monetary values use decimal strings with declared units. Unknown amounts do not become zero.
Field definitions and supported filters · 14 fields
| Field | Type / unit | Meaning | Availability and filters |
|---|---|---|---|
id | integer | GovBiz surrogate row identifier; interpret together with its relation, not as a source-native key.Storage and value limits: Signed 64-bit integer; values beyond 2^53-1 require a string for JavaScript-safe exactness. | Values can be missingeq, in, is_null, gte, lte |
prime_uei | string | Source UEI identifying the prime participant; missing/empty values cannot support an exact entity join.Storage and value limits: Maximum 12 characters; identifier rules can be narrower.Logical UEI length is 12; a wider varchar is not broader identity support. | Values can be missingeq, in, is_null, contains |
prime_name | string | Reported prime award recipient label.Storage and value limits: Maximum 500 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
sub_uei | string | Source UEI identifying the sub participant; missing/empty values cannot support an exact entity join.Storage and value limits: Maximum 12 characters; identifier rules can be narrower.Logical UEI length is 12; a wider varchar is not broader identity support. | Values can be missingeq, in, is_null, contains |
sub_name | string | Reported subaward recipient label.Storage and value limits: Maximum 500 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
agency_code | string | Stored source agency identifier; namespace can be CGAC, FPDS, top-tier or publisher-specific and must be declared.Storage and value limits: Maximum 10 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
naics_code | string | Source industry classification code; link with the NAICS edition and declared precision.Storage and value limits: Maximum 6 characters; identifier rules can be narrower.Require a classification edition; do not join broad prefixes as exact identities. | Values can be missingeq, in, is_null, contains |
fiscal_year | integer | Source/derived US federal fiscal year; October 1 starts the following numbered year, with source-specific precision.Storage and value limits: Signed 32-bit integer; logical domain constraints can be narrower. | Values can be missingeq, in, is_null, gte, lte |
total_subaward_value | decimal / USD | Retained legacy producer aggregate; inspect the dataset methodology limitations. Sum of reported subaward values in the defined prime/sub/agency/NAICS/year group.Storage and value limits: Precision 15, scale 2; absolute value below 10^13; rounding on assignment; checks can narrow the range.These retained legacy summaries concatenate source reports across files and use floating-point aggregation. Repeated snapshots can inflate counts and amounts; they have not been rebuilt from the canonical deduplicated report projection. Use subaward_reports and its declared measures for qualified report-level analysis. | Values can be missingeq, in, is_null, gte, lte |
subaward_count | integer | Retained legacy producer aggregate; inspect the dataset methodology limitations. Count of reported rows at the network aggregation grain; dedup/version rules affect this count.Storage and value limits: Signed 32-bit integer; logical domain constraints can be narrower.These retained legacy summaries concatenate source reports across files and use floating-point aggregation. Repeated snapshots can inflate counts and amounts; they have not been rebuilt from the canonical deduplicated report projection. Use subaward_reports and its declared measures for qualified report-level analysis. | Values can be missingeq, in, is_null, gte, lte |
first_subaward_date | date | First reported subaward date in the network group.Storage and value limits: Calendar date without time of day or timezone; source precision can be month/quarter instead. | Values can be missingeq, in, is_null, gte, lte |
last_subaward_date | date | Last reported subaward date in the network group.Storage and value limits: Calendar date without time of day or timezone; source precision can be month/quarter instead. | Values can be missingeq, in, is_null, gte, lte |
relationship_years | decimal | Elapsed time between first and last reported subaward dates; not verified continuous relationship length.Storage and value limits: Precision 4, scale 1; absolute value below 10^3; rounding on assignment; checks can narrow the range. | Values can be missingeq, in, is_null, gte, lte |
refreshed_at | datetime | Time a producer refreshed this row; not the underlying source record date.Storage and value limits: Instant with timezone only if declared; otherwise local/producer time must be explicitly interpreted. Do not invent clock precision. | Values can be missingeq, in, is_null, gte, lte |
Prime Subaward Summaries
prime_subaward_summaries · Schema 1
One retained legacy prime-recipient summary per prime_uei and fiscal_year; source reports can be repeated across its input files.
Search modes: structured. History: Current retained projection; exact historical reconstruction is unsupported.
Measures: record_count. Monetary values use decimal strings with declared units. Unknown amounts do not become zero.
Field definitions and supported filters · 10 fields
| Field | Type / unit | Meaning | Availability and filters |
|---|---|---|---|
prime_uei | string | Source UEI identifying the prime participant; missing/empty values cannot support an exact entity join.Storage and value limits: Maximum 12 characters; identifier rules can be narrower.Logical UEI length is 12; a wider varchar is not broader identity support. | Values can be missingeq, in, is_null, contains |
fiscal_year | integer | Source/derived US federal fiscal year; October 1 starts the following numbered year, with source-specific precision.Storage and value limits: Signed 32-bit integer; logical domain constraints can be narrower. | Values can be missingeq, in, is_null, gte, lte |
total_sub_dollars | decimal / USD | Retained legacy producer aggregate; inspect the dataset methodology limitations. Reported prime subcontract dollars by fiscal year; reporting coverage can be partial.Storage and value limits: Precision 15, scale 2; absolute value below 10^13; rounding on assignment; checks can narrow the range.These retained legacy summaries concatenate source reports across files and use floating-point aggregation. Repeated snapshots can inflate counts and amounts; they have not been rebuilt from the canonical deduplicated report projection. Use subaward_reports and its declared measures for qualified report-level analysis. | Values can be missingeq, in, is_null, gte, lte |
unique_sub_count | integer | Retained legacy producer aggregate; inspect the dataset methodology limitations. Distinct observed subcontractor identifier count in a prime/year profile.Storage and value limits: Signed 32-bit integer; logical domain constraints can be narrower.These retained legacy summaries concatenate source reports across files and use floating-point aggregation. Repeated snapshots can inflate counts and amounts; they have not been rebuilt from the canonical deduplicated report projection. Use subaward_reports and its declared measures for qualified report-level analysis. | Values can be missingeq, in, is_null, gte, lte |
avg_subaward_value | decimal / USD | Retained legacy producer aggregate; inspect the dataset methodology limitations. Average reported subaward amount at the profile grain.Storage and value limits: Precision 15, scale 2; absolute value below 10^13; rounding on assignment; checks can narrow the range.These retained legacy summaries concatenate source reports across files and use floating-point aggregation. Repeated snapshots can inflate counts and amounts; they have not been rebuilt from the canonical deduplicated report projection. Use subaward_reports and its declared measures for qualified report-level analysis. | Values can be missingeq, in, is_null, gte, lte |
max_subaward_value | decimal / USD | Retained legacy producer aggregate; inspect the dataset methodology limitations. Largest reported subaward amount in the profile group.Storage and value limits: Precision 15, scale 2; absolute value below 10^13; rounding on assignment; checks can narrow the range.These retained legacy summaries concatenate source reports across files and use floating-point aggregation. Repeated snapshots can inflate counts and amounts; they have not been rebuilt from the canonical deduplicated report projection. Use subaward_reports and its declared measures for qualified report-level analysis. | Values can be missingeq, in, is_null, gte, lte |
top_naics_codes | json | Optional JSON ranking of observed prime subaward industry codes; producer grain and missingness govern it.Storage and value limits: Nested producer-specific structure; no fixed public field contract; redact and project known subfields. | Values can be missingis_null |
top_sub_partners | json | Optional JSON ranking of reported subcontract partners; not a tenant-specific recommendation.Storage and value limits: Nested producer-specific structure; no fixed public field contract; redact and project known subfields. | Values can be missingis_null |
avg_relationship_duration_years | decimal | Derived mean observed relationship span; currently reserved unless independently populated.Storage and value limits: Precision 4, scale 1; absolute value below 10^3; rounding on assignment; checks can narrow the range. | Values can be missingeq, in, is_null, gte, lte |
refreshed_at | datetime | Time a producer refreshed this row; not the underlying source record date.Storage and value limits: Instant with timezone only if declared; otherwise local/producer time must be explicitly interpreted. Do not invent clock precision. | Values can be missingeq, in, is_null, gte, lte |