Get an alert when a SAM.gov solicitation you're bidding on is amended (Python, no API key)
Описание и применение
Скрипт на Python автоматически скачивает ежедневный CSV из SAM.gov, отслеживает изменения в заявках и выводит уведомления о новых или изменённых уведомлениях, позволяя участникам тендера своевременно реагировать на поправки.
Задача
Bid writers need to know immediately when a solicitation they are working on is amended, but the public SAM.gov data is only available as a large CSV and amendments appear as new notice IDs.
Результат
The script enables bid writers to receive daily alerts about amendments without needing an API key, reducing the risk of missing critical changes.
Рабочий процесс
- Download the daily CSV from https://sam.gov/api/prod/fileextractservices/v1/api/download/Contract%20Opportunities/datagov/ContractOpportunitiesFullCSV.csv?privacy=Public
- Save the file locally to avoid I/O errors
- Parse the CSV, normalizing solicitation numbers
- For each watched solicitation, build a map of current notice IDs to selected fields
- Load previously saved state from sam_watch.json
- Compare current and previous notice sets: new IDs, changed fields, or removed IDs
- Print alerts for new or modified notices
- Save the current state back to sam_watch.json for next run
Доказательства
SAM.gov publishes every active contract opportunity as a public CSV extract, regenerated once a day (around 03:30 UTC recently)
an amendment shows up as a new notice ID under the same solicitation number (the Sol# column)
It was about 210 MB on 22 Oct.
- Дата записи: 2026-11-01T20:43:52.575Z