Updated in October 2026: this post now covers the new version of the tool, which reads the official daily data file SAM.gov publishes. The old feed is retired.
Every business day the US federal government publishes hundreds of new contract opportunities on SAM.gov. It is the single largest buyer in the world, and unlike most B2B pipelines, everything is public: what they want to buy, when responses are due, who won the last contract and whether the work is reserved for small businesses.
The problem is not access. The problem is that actually working with SAM.gov means refreshing a slow portal, fighting saved-search emails that arrive late, or wrestling an official API whose basic key is capped at 10 requests a day.
I got tired of it and built a scraper that does one thing: give me the notices matching my filters as clean JSON, straight from the daily data file SAM.gov publishes so other systems can download it reliably. No API key, no portal. This post shows what it returns and how to use it.
What a useful opportunity record looks like
Here is a real record from a scan for small-business IT work (NAICS 5415, trimmed for length):
{
"title": "Pyxis Supply Server Software",
"solicitationNumber": "36C26127Q0062",
"type": "Solicitation",
"postedDate": "2026-10-05T12:52:48",
"responseDeadline": "2026-10-13T12:00:00-07:00",
"naicsCode": "541519",
"pscCode": "7A21",
"setAsideCode": "SBA",
"setAside": "Small Business Set Aside - Total",
"department": "VETERANS AFFAIRS, DEPARTMENT OF",
"office": "261-NETWORK CONTRACT OFFICE 21 (36C261)",
"placeOfPerformance": { "city": "Las Vegas", "state": "NV", "country": "USA" },
"versionCount": 1,
"url": "https://sam.gov/opp/36e01c2dd5c14321849c55786677d5c9/view"
}
Three details do most of the work here:
One row per notice, not per amendment. About a third of the rows in SAM.gov's file are older versions of a notice that has since been amended. You get the latest version once, with versionCount and firstPostedDate so you can see how much it has moved since it first went up.
Awards come with the winner and the amount. Award notices carry the company that won, the amount and the award date. The same scan that finds open bids also tells you who is winning the work you go after, and for how much.
Contact details are left out on purpose. Every notice links to its page on SAM.gov, where the contracting officer is listed. The scraper does not copy names, emails or phone numbers into your dataset.
Running a scan
The scraper runs as an Apify Actor, so you can call it from anywhere that can make an HTTP request:
curl -X POST "https://api.apify.com/v2/acts/jdepablos~sam-gov-opportunities-scraper/run-sync-get-dataset-items?timeout=300" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"naicsCodes": ["5415"],
"setAsides": ["SBA"],
"openForBidsOnly": true,
"maxItems": 25
}'
You can filter by keywords (in the title by default, or in the description too), NAICS and PSC codes, notice types including award notices, set-aside categories, agency, state, and posted or deadline dates. openForBidsOnly keeps only the notices whose response deadline has not passed yet.
Schedule it daily with onlyNew turned on and each run returns only the notices it has not shown you before. That is a private deal-flow feed for exactly your niche, landing in your inbox or your CRM before you would ever find those opportunities by browsing.
What it costs
Pay per event: $0.002 per notice delivered, so a daily scan that returns 25 notices costs 5 cents. There is no subscription, and a run that delivers nothing costs nothing. Compare that with the enterprise gov-con intelligence suites, which start in the hundreds per month and mostly resell the same public data.
Who this is for
- Small businesses with set-aside eligibility. Filter for your categories and stop competing with everyone.
- Subcontractors. Sources-sought notices tell you which primes are hunting for partners, weeks before an award.
- Capture and BD teams. Award notices show who won what and for how much, in the same feed as the open bids.
- Anyone building agents. The Actor is exposed as an MCP tool, so an AI agent can query live federal opportunities mid-conversation. Ask it "find small-business IT solicitations closing this month" and it has the answer in one call.
The scraper is here: SAM.gov Scraper on Apify. Runnable examples for my other data tools live in my Data Actors Cookbook.
If you work gov-con and there is a field or filter you are missing, tell me in the comments. The last two features I shipped on another feed came straight from a reader request.
Top comments (0)