SAM.gov Solicitation Changes & Deadline Monitor (Unofficial)
Pricing
from $6.00 / 1,000 opportunity events
SAM.gov Solicitation Changes & Deadline Monitor (Unofficial)
Monitor official public SAM.gov contract opportunities for new solicitations, amendments, deadline changes, removals, and material updates - no API key required.
Pricing
from $6.00 / 1,000 opportunity events
Rating
0.0
(0)
Developer
Tender Signall
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
SAM.gov Solicitation Changes & Deadline Monitor
Turn the official public SAM.gov Contract Opportunities extract into a focused, stateful watchlist. The Actor reports what changed, the before/after values, why it matters, and the official notice URL.
No SAM.gov account, API key, browser, proxy, CAPTCHA service, or AI key is required.
Unofficial product. Not affiliated with, endorsed by, or operated by the U.S. General Services Administration or the U.S. Government.
Why this is different
Most SAM.gov extractors return today's records. This Actor compares successful source generations and produces decision-ready events:
- deadline shortened or extended, including the exact hour delta;
- deadline added or removed;
- set-aside, NAICS, or PSC changes;
- title or normalized description/scope changes;
- notice-type changes and strict cancellation signals;
- a new notice related to a previously tracked solicitation;
- disappearance from the active feed, confirmed across two distinct successful source generations;
- restoration after a temporary disappearance.
Every event has separate severity and relevanceScore fields. A critical deadline change is not hidden behind a generic keyword score.
Quick start
- Choose a quick-start market or Custom.
- Keep the default actionable notice types.
- Give the watchlist a stable monitorId.
- Run once to create the baseline.
- Schedule the same input daily. Do not enable resetState on scheduled runs.
Recommended first input:
{"monitorId": "sam-cybersecurity-daily","preset": "cybersecurity","closingWithinDays": 90,"outputMode": "new_and_changes","emitBaseline": true,"maxResults": 500}
The first run labels current matches as baseline; it never falsely presents the initial snapshot as newly posted. Later runs emit only the selected event types.
High-value custom watchlist
{"monitorId": "va-small-business-it","preset": "custom","keywords": ["software", "cloud migration", "data analytics"],"excludeKeywords": ["hardware maintenance"],"naicsCodes": ["541511", "541512", "518210"],"departments": ["Veterans Affairs"],"setAsideCodes": ["SBA", "SDVOSBC"],"states": [],"noticeTypes": ["Solicitation","Combined Synopsis/Solicitation","Presolicitation","Sources Sought"],"minDaysRemaining": 1,"closingWithinDays": 120,"minimumSeverity": "low","outputMode": "new_and_changes"}
Codes accept prefixes: 5415 matches the broader NAICS family, while 541512 is precise.
Output
Each dataset row is one stable event and includes:
- eventId, eventType, changeTypes, and severity;
- reason, relevanceScore, and the matched filters;
- title, agency, office, solicitation number, NAICS, PSC, and set-aside;
- previous/current deadline and deadlineDeltaHours;
- structured changedFields with before/after values;
- place of performance and the official SAM.gov notice link;
- source version timestamp and detection timestamp.
Example:
{"eventType": "deadline_shortened","severity": "critical","previousDeadline": "2026-09-01T17:00:00-04:00","currentDeadline": "2026-08-18T12:00:00-04:00","deadlineDeltaHours": -317,"daysRemaining": 2,"reason": "Deadline shortened by 13.2 days. Response due in 2 days. Match: title matches software · NAICS 541512."}
CSV and JSON exports are available from the default dataset. The OUTPUT key-value record contains source health, validation, state, event, delivery, and backlog metrics.
Output modes
| Mode | Behavior |
|---|---|
| changes_only | Amendments and material changes; suppresses new postings and unchanged records |
| new_and_changes | New matching postings plus every selected change |
| all_current | Also returns unchanged current matches; useful for one-off exports, not recommended for daily billing |
Undelivered events caused by maxResults or the run spending limit are stored and delivered before newer events on the next run. Consumers should use the stable eventId as their deduplication key.
Scheduling
The official bulk extract is not a real-time feed. A daily schedule is the normal cadence. Use the same monitorId and identical targeting fields on every scheduled run. Changing targeting fields intentionally creates a new baseline; changing output-only controls does not.
If the official ETag is unchanged, the Actor skips the full download. This saves time and compute and does not fabricate change events.
Reliability controls
- Exact allowlist for the official public S3 object.
- Redirects and URL overrides are blocked.
- HEAD validation before download: size, ETag, timestamp, and freshness.
- True streaming parser with a hard byte cap and record-size cap.
- Required-column, row-count, row-drop, invalid-row, and duplicate-ID guards.
- Offset-aware deadline parsing; no guessed time zones.
- Whitespace, HTML, and Unicode normalization to suppress cosmetic noise.
- Versioned, sharded snapshots with manifest-last commit.
- Optimistic concurrency guard and previous-generation rollback data.
- A failed run preserves the previous successful snapshot.
- One missing generation is never labelled removal.
Data source and responsible use
The Actor reads the official public SAM.gov Contract Opportunities data extract.
Structured contact fields are deliberately ignored. Common email addresses and North American phone numbers are redacted from description excerpts. The Actor does not enrich people, automate outreach, submit bids, or access private records.
Important semantics
- Events are observations between successful source generations, not a legal amendment ledger.
- Multiple changes between two source refreshes appear as one net before/after change.
- removed_from_active_feed means absent from two distinct successful active-feed generations. It does not assert cancellation.
- Only an explicit official type/title signal is labelled explicit_cancellation_signal.
- Always verify the official notice before relying on a deadline or submitting a response.
Cost controls
The Actor uses transparent Apify Pay Per Event pricing:
- $0.02 per Actor start at the default 512 MB memory;
- $0.006 per delivered opportunity event written to the default dataset;
- a successful no-change run costs $0.02;
- 10 delivered events cost $0.08, including the run start.
Only dataset opportunity events use the opportunity-event charge. Source validation, unchanged source checks, run summaries, and state maintenance do not create paid output events. A first baseline can contain multiple chargeable rows, so use maxResults and Apify's maximum run-cost control to bound it. Both controls are respected, and undelivered events remain queued for the next run.
API
Every Actor run is available through the standard Apify API. Use the Actor's API tab to generate a request with your own Apify token. No SAM.gov credential is added to that request.
Resetting safely
Enable resetState for one intentional run only when you want to discard the prior comparison baseline for that monitorId. Turn it off before scheduling. Using a new monitorId is the safest way to create an independent watchlist.