← Use cases

Use case

Watch a Federal Agency for New Contracts

Follow one buying agency (e.g. Veterans Affairs) and get its new contract opportunities as they post — deadline, set-aside, NAICS, and SAM.gov link.

Say you run a facilities-services firm that has done two jobs for the Department of Veterans Affairs. You know their buying patterns, you know their contracting officers, and your win rate there is better than anywhere else — so VA is the account you want to grow. Which means you want to see every VA notice, not just the ones that happen to fall under the NAICS codes you already bid, and you want to see them early enough that the response deadline is still a few weeks out rather than a few days.

The obvious way is to keep a SAM.gov search open and check it. It works, right up until the week nobody checks it, and a solicitation you would have won closes without you.

The manual way, and what it costs

The public search form on SAM.gov
SAM.gov — the official search. One record at a time.

SAM.gov’s search is free, public, and genuinely good. You pick Contract Opportunities in the domain selector, open the Filter By rail on the left, set the department to Veterans Affairs, and you have your list — no login needed to look. If you’re watching one agency and you check it a couple of times a week, this is the right answer and you should stop reading here.

Where it stops being reasonable is when the search becomes a routine. Every run is a human sitting in front of a browser: load the page, re-apply the filters, scan the results, work out which ones are new since last time (SAM.gov won’t tell you), open each one to get the deadline and the contracting officer, then paste it all somewhere your team can see it. That’s the same fifteen minutes every morning, it only happens on days someone remembers, and the output lives in whatever tab it was copied into rather than in your CRM.

The faster way

SAM.gov Federal Contract Opportunity Alert does the same search once and hands back every row at once.

{
  "agency": "VETERANS AFFAIRS, DEPARTMENT OF",
  "lookbackDays": 3,
  "maxResults": 100
}

One filter, deliberately. agency is the buying department name exactly as SAM.gov writes it — VETERANS AFFAIRS, DEPARTMENT OF — and no NAICS code, because the whole point of an agency watch is to see the work you didn’t know they bought. lookbackDays: 3 is the interesting choice: it means a run picks up anything posted in the last three days, so a Monday run still catches what went up on Saturday. The trade is that if you run this daily, a notice posted today shows up in today’s run and again in the next two — the actor searches, it doesn’t remember, and you’re charged $0.01 per row returned each time. Match the window to the schedule: daily runs want lookbackDays: 1; a Monday and Thursday cadence wants 3 or 4. maxResults: 100 is the ceiling on both rows and spend.

What comes back

{
  "notice_id": "abc123def456",
  "title": "IT Support Services",
  "solicitation_number": "W912-26-R-0001",
  "agency": "DEPT OF DEFENSE.DEPT OF THE ARMY.ACC",
  "notice_type": "Solicitation",
  "naics_code": "541512",
  "set_aside": "Total Small Business Set-Aside (FAR 19.5)",
  "posted_date": "2026-06-20",
  "response_deadline": "2026-07-05T17:00:00-04:00",
  "archive_date": "2026-07-20",
  "place_of_performance_state": "VA",
  "contact_name": "Jane Doe",
  "contact_email": "jane.doe@army.mil",
  "ui_link": "https://sam.gov/workspace/contract/opp/abc123def456/view",
  "source_url": "https://sam.gov/workspace/contract/opp/abc123def456/view"
}
FieldExample valueMeaning
notice_idabc123def456SAM.gov notice ID
titleIT Support ServicesOpportunity title
solicitation_numberW912-26-R-0001Solicitation number
agencyDEPT OF DEFENSE.DEPT OF THE ARMY.ACCBuying agency / department hierarchy
notice_typeSolicitationNotice type (Solicitation, Combined Synopsis, etc.)
naics_code541512NAICS industry code

response_deadline is the field that closes the loop. It’s the only column that tells you whether a notice is worth a bid decision this week or is already effectively gone, and it’s the one you sort by. agency gives you the full department hierarchy — the sub-command inside VA that’s actually buying, which is what tells you whether this is a group you’ve dealt with before. ui_link takes whoever picks it up straight to the notice, and contact_name / contact_email give you the contracting officer to call, when SAM.gov publishes one.

What you’d do with it

Schedule the run and point Apify’s Slack or email integration at new dataset items, so each run’s rows land in the channel where your capture people already live — deadline, title, and link, enough to make a bid/no-bid call without opening SAM.gov. If you’d rather it went into a pipeline, export the dataset to CSV or pull it from the Apify API and import it as opportunities in your CRM, keyed on notice_id so re-runs collapse onto the same record instead of duplicating it.

Worth knowing

Each run returns the current matches inside your look-back window. It does not dedupe against previous runs — nothing is flagged as new, and a notice inside the window comes back on every run that covers it, charged each time. Contract value isn’t available either: SAM.gov only publishes a dollar amount on awarded notices, not open solicitations, so you cannot filter or sort by size. And the coverage is the SAM.gov Contract Opportunities dataset and nothing else — if VA buys through a vehicle that isn’t posted there, this won’t see it.


Run it yourself: How to run SAM.gov Federal Contract Opportunity Alert walks the whole thing step by step.

If it’s an industry rather than an agency you’re watching, use Alert: New Federal IT Services Contracts, which filters by NAICS code instead. And once you’re picking teaming partners for a VA proposal, the Multi-State Contractor License Lookup is the one that checks their licence is real before you put their name on it.

Last updated 2026-07-13