If you sell to the US government, SAM.gov is where the opportunities are: solicitations, sources-sought notices (RFIs), presolicitations and awards. Searching it by hand every day is slow. The official API looks like the answer until you find that a personal API key allows only about 10 requests a day.
Here's how to get every open opportunity in your NAICS codes as a clean spreadsheet, and then as a daily feed, without an API key.
What you'll get
One row per notice: title, notice type, agency, NAICS and PSC codes, set-aside, place of performance, posted date, response deadline, full description, points of contact and a link back to SAM.gov.
Step 1: Open the tool
Go to SAM.gov Scraper on the Apify Store and click Try for free. You'll need a free Apify account but no SAM.gov key. The tool reads SAM.gov's official public data extract, which covers every public opportunity and is refreshed nightly.
Step 2: Describe the contracts you want
This input asks for open small-business IT opportunities you can still respond to:
{
"naicsCodes": ["5415"],
"setAsides": ["SBA"],
"onlyOpenForBids": true
}
NAICS prefixes work, so 5415 covers 541511, 541512 and the rest. Swap in 8A, HZC, SDVOSBC or WOSB for other set-asides, or add "states": ["VA", "MD"] for place of performance.
Step 3: Run it and download
Click Start, then download the results as CSV, Excel or JSON.
When I ran this on October 5, 2026, it found 2 matching notices posted that week. Here's one (the full record also has the description, place of performance and contacts):
{
"postedAt": "2026-09-29T19:13:16",
"noticeType": "Combined Synopsis/Solicitation",
"title": "IRS Audio-Visual (AV) and Video Teleconferencing (VTC) Enterprise Systems Integration, Support, and Maintenance Master IDIQ",
"department": "TREASURY, DEPARTMENT OF THE",
"setAside": { "code": "SBA", "name": "Small Business Set Aside - Total" },
"naicsCode": "541519",
"responseDeadline": "2026-10-30T17:00:00-04:00",
"url": "https://sam.gov/opp/7d434dab4914473ca2d4a3c93d45b665/view"
}
That's a narrow filter. Without it, the same day's run found 719 notices of all kinds posted in the previous 3 days.
Step 4: Get new notices every morning
{
"keywords": ["cybersecurity", "zero trust"],
"noticeTypes": ["solicitation", "sources_sought"],
"states": ["VA", "MD", "DC"],
"postedWithinDays": 3,
"onlyNewNotices": true,
"monitoringList": "dmv-cyber"
}
Schedule it daily. Each run returns only notices you haven't seen, and Apify's integrations can post them to Slack, email or a Google Sheet.
What it costs
$1.90 per 1,000 notices, with no monthly fee. A daily feed charges only for that day's new notices, so it stays cheap.
Good to know
Set "postedWithinDays": 0 to search the full history back to 2008, which is useful for market research on past awards.
Disclosure: I built this tool. Questions and feature requests are welcome in the comments.
Top comments (0)