Award announcements Data Dictionary¶
This document describes the fields available on the award announcements API endpoint (/api/news/award_announcements/). For filtering, ordering, and pagination, see the Award announcements API Reference.
Overview¶
Each row is one announcement of an award, from one of two sources, named on every row.
source | source_name | Coverage | Text |
|---|---|---|---|
official_release | Department of War daily contracts release | Awards of $7.5 million or more, from March 2026 | As published by the Department of War |
makegov_generated | MakeGov, generated from FPDS award data | New civilian IDVs of $25 million or more and every new OTA and OT IDV, from June 2026 | Written by MakeGov from FPDS award data, with a language model summarizing the purpose and writing the title. Not government text. |
Authentication: this endpoint requires authentication (API key or OAuth2).
Plans: every field is available on every plan, including Free.
Note: The full field set is available via the shape query parameter. See Response Shaping.
Update Frequency¶
Both sources are read daily. An official row appears after its release is published, and a generated row appears after the award reaches FPDS.
Identity¶
The primary key and detail-lookup value is uuid.
- Official rows:
uuidis derived from the release and the paragraph's position in it, so it is stable. - Generated rows:
uuidfollows the announcement's earliest-seen award, so it holds when more awards join the row. When two rows merge, the olderuuidsurvives.
A generated row is removed when an official release comes to cover the same award, so its uuid then returns 404. source_record_id on a generated row is not stable; store uuid instead.
Fields¶
"Filled on" says which source populates a field: Both, Official or Generated. A field is null on the other source, and any field can be null where the source doesn't state a value.
| Field | Type | Description | Filled on |
|---|---|---|---|
uuid | UUID | Primary key. See Identity. | Both |
source | String | official_release or makegov_generated. | Both |
source_name | String | The source's display name. | Both |
source_url | String | The release on war.gov. Always null on a generated row, which has no page to link to. | Official |
source_record_id | String | On an official row, the release's article id and the paragraph's position, as article:position. On a generated row, an opaque key that can change. | Both |
published_date | Date | Official: the date of the release. Generated: the date MakeGov first announced the award, which does not move when the row is updated. Rows from the initial backfill carry their award date. | Both |
award_date | Date | The award's date; the earliest of them when a row covers several awards. A release states dates only in its text, so this is null on an official row. | Generated |
title | String | Official: the title of the day's release, such as Contracts for Oct. 1, 2026, shared by every paragraph in it. Generated: a title written by a language model, which can be null. | Both |
text | String | The announcement. Official: as published, unchanged by any correction. Generated: written by MakeGov. In the list response only when named in shape. | Both |
amount | Decimal | The headline dollar figure, in US dollars, including any applied correction. Read it with value_kind. | Both |
value_kind | String | What amount measures — see value_kind. | Both |
obligated_at_award | Decimal | Funds obligated at award. Official: as stated in the release, and 0 when it says none are. Generated: the FPDS figure when every award in the row has had a single action, and null otherwise. | Both |
action_type | String | What the announcement reports — see action_type. Always new_award on a generated row. | Both |
announcement_type | String | The kind of generated announcement — see announcement_type. | Generated |
award_kind | String | The kind of award linked. Official: contract or idv, or null until the award links. Generated: idv, ota or otidv. | Both |
awardee_count | Integer | The number of awardees named. | Both |
piids | Array of String | Contract numbers named, upper-cased with dashes and other punctuation removed. Official rows hold no OT agreement numbers. | Both |
award_uuids | Array of UUID | Tango awards the announcement links to. On an official row these fill in as FPDS catches up, which can take up to 90 days. | Both |
civilian | Boolean | true for a civilian award. Always false on an official row; false on a generated row for a DoD OTA or OT IDV. | Both |
component | String | The DoD component heading the paragraph in the release, such as NAVY, normalized to one spelling per organization. | Official |
contracting_activity | String | The contracting activity named in the release. | Official |
is_modification | Boolean | true when the announcement reports a modification to an existing contract. | Official |
is_multiple_award | Boolean | Official: the announcement names more than one awardee. Generated: a multiple-award vehicle, which can name a single awardee. | Both |
corrections | Array of Object | The Department of War's corrections applied to the announcement — see corrections. | Official |
is_withdrawn | Boolean | true when a correction says the award was not released, not awarded or rescinded. Hidden from lists and alerts unless include_withdrawn=true, and always retrievable by uuid. | Official |
awardees | Array of Object | The awardees named — see awardees. An expansion. | Both |
organization | Object | The awarding organization — see organization. An expansion. | Both |
Vocabularies¶
value_kind¶
| Value | Meaning | Source |
|---|---|---|
face_value | A plain award value. On a generated row, the base and all options value of an award with no real ceiling. | Both |
ceiling | A maximum or not-to-exceed figure. | Both |
combined_ceiling | One figure shared across a multiple-award pool, never attributable to one awardee. | Official |
estimated_value | An estimated value. | Official |
modification_value | The value of a modification, option exercise or extension. | Official |
cumulative_face_value | Only the contract's cumulative face value is stated. | Official |
unknown | No headline figure was found. | Both |
Don't sum or rank amount across kinds.
action_type¶
new_award, modification, option_exercise, order or unknown. A generated row is always new_award.
announcement_type¶
| Value | Meaning |
|---|---|
new_vehicle | A new multiple-award vehicle. |
on_ramp | IDVs added to an existing vehicle. |
single_award | An IDV in no multiple-award vehicle. |
vehicle_pending | An IDV too recent to have been placed in a vehicle. |
ota | A new OTA. |
ot_idv | A new OT IDV. |
Structured fields¶
awardees¶
An array with one object per awardee:
| Key | Type | Description |
|---|---|---|
name | String | The awardee's name. |
uei | String or null | The awardee's UEI. Official releases print no UEI, so on an official row this is set only where one was resolved. |
location | String or null | The awardee's location. |
small_business | Boolean or null | Whether the release states the awardee is a small business. Always null on a generated row. |
organization¶
The canonical office payload for the awarding organization, or null when none resolved. On an official row it comes from the component heading; on a generated row it is the first award's awarding organization.
| Key | Type | Description |
|---|---|---|
organization_id | UUID | The organization's id. |
office_code | String | The office code. |
office_name | String | The office name. |
agency_code | String | The agency code. |
agency_name | String | The agency name. |
department_code | String | The department code. |
department_name | String | The department name. |
corrections¶
An array, in publish order, with one object per correction applied to the announcement. It is null when none applied.
| Key | Type | Description |
|---|---|---|
article_id | String | The release carrying the correction. |
position | Integer | The correction's position in that release. |
publish_date | Date | The date of that release. |
text | String | The correction as published. |
changes | Array of Object | Each change, as {field, previous, corrected}. |
changes[].field is one of contract_numbers, piids, announced_value, is_withdrawn, award_date or completion_date. announced_value is the value served as amount. For award_date and completion_date, previous is null and corrected is an ISO date.
Default shapes¶
- List returns:
uuid,source,source_name,source_url,published_date,award_date,title,amount,value_kind,action_type,announcement_type,awardee_count,piids,is_modification,is_multiple_award,is_withdrawn,awardees(*). - Detail returns the list fields plus
source_record_id,text,obligated_at_award,award_kind,award_uuids,civilian,component,contracting_activity,corrections,organization(*).
Usage Notes¶
- Check
sourcebefore you quotetext. Amakegov_generatedparagraph reads like the official release, but it is not government text. - Check the date you are filtering on.
award_dateisnullon every official row, so usepublished_dateacross both sources. - Don't read
titleas the award's name on an official row. Every paragraph of a release shares its title; the awardees are inawardeesandtext. - Exclude withdrawn rows from counts and sums. The list does this by default.
Data Sources¶
- Department of War — every official row, from the daily contracts release.
- FPDS — the facts on every generated row.
- MakeGov — the wording of generated rows, with a language model summarizing the purpose and writing the title.
- Tango —
uuid,award_uuidsandorganization.