DEV Community

agentready
agentready

Posted on

Find federal contracts to bid on, without a SAM.gov API key

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
}
Enter fullscreen mode Exit fullscreen mode

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"
}
Enter fullscreen mode Exit fullscreen mode

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"
}
Enter fullscreen mode Exit fullscreen mode

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)