Data dictionary

Every field we emit, mapped to the bulk-extract column it came from. The extract's exact header set is confirmed against each daily file; aliases are handled in the ingest layer.

Event fieldExtract columnTypeNotes
notice_idNoticeIdstringStable ID; our dedupe key.
titleTitlestringKeyword matching runs against this field and description.
naicsNaicsCodestring|null6-digit NAICS; filter by prefix or exact.
set_asideSetASideCodestring|nulle.g. SBA, 8A; matched case-insensitively.
agencyDepartment/Ind.Agencystring|nullIssuing department/agency.
posted_datePostedDatestring|nullAs published.
response_deadlineResponseDeadLinestring|nullDeadline changes emit opportunity.changed.
statusActivestring|nullNormalized; cancellations/awards emit their own event kinds.
descriptionDescriptionstring|nullPlain-text notice description from the extract's final column (flattened; nominal 5,000-char upstream cap, occasionally exceeded). null when the extract row has none.
description_linkLink (or derived)stringAlways present: the SAM.gov notice URL.
changed_fieldscomputedstring[]Which fields differed since the previous daily snapshot.
eventcomputedenumopportunity.new|changed|cancelled|awarded from snapshot-to-snapshot diffing.

Related: Parsing the SAM.gov daily bulk extract · payload schema.