SAM.gov Opportunity Alerts: New Federal Contracts
Pricing
from $2.50 / 1,000 opportunity notice returneds
SAM.gov Opportunity Alerts: New Federal Contracts
New US federal contract opportunities from SAM.gov by NAICS code, keyword, set-aside or agency, with a true monitoring mode that only returns and bills for notices new since your last run.
Pricing
from $2.50 / 1,000 opportunity notice returneds
Rating
0.0
(0)
Developer
Adrian Voss
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
3 days ago
Last modified
Categories
Share
Get new US federal contract opportunities from SAM.gov by NAICS code, keyword, set-aside, or agency, as soon as they're posted. Search SAM.gov — the US government's own contract opportunities system — by one or more NAICS codes, keywords matched against the notice title and description, set-aside type, agency, place of performance, or any combination. Turn on monitoring mode and run it on a schedule to get only the notices that are new since your last run, charged per notice and free on a quiet day.
Works without any key using SAM.gov's own public search (the same JSON endpoint its own search
page calls); add your own free SAM.gov public API key for the authenticated GSA Opportunities API,
which additionally exposes a verified per-notice NAICS code. This actor covers US federal
contracts only — it does not cover EU tenders (see eu-tender-alerts) or UK tenders, which are a
different, separately-built scope.
How to use
- In the Apify Console. Open the actor page and click Start — the
naicsCodesfield is already pre-filled with a working example. Results land in the run's dataset as soon as each item is found. - Via the API. Call it directly with a POST request — no Console needed once you have an API token:
curl "https://api.apify.com/v2/acts/accountable_eel~sam-gov-opportunity-alerts/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \-X POST \-H "Content-Type: application/json" \-d '{"naicsCodes":["541511"]}'
- On a schedule. Save this actor as an Apify Task with the input you want, then add a Schedule (hourly, daily, weekly) so it runs on its own — no server of your own required.
Input
{"naicsCodes": ["541511"]}
One NAICS code per line (e.g. 541511 for custom computer programming services). Combine with keywords below (optional). Leave empty to search by keyword alone. Accepted formats: 541511, 236220.
One combined search runs per call: naicsCodes and keywords are each OR'd internally and matched
against notices (NAICS filtered server-side; keywords matched against title/description); optional
setAsides, noticeTypes, agencies, and placeOfPerformanceStates each narrow the result
further. At least one of naicsCodes or keywords must be set. Without an apiKey, results come
from SAM.gov's own public search (no per-notice NAICS code or quota); with your own apiKey, from
the authenticated GSA Opportunities API (per-notice NAICS code, a role-based daily quota — GSA's own
docs don't publish the exact number for non-federal accounts, only that it's role-based). The search
run itself is free; you're billed per notice actually returned.
Output
One row per item, for example:
| query | found | status | searchSummary | opportunityCount | truncated | monitorStatus | opportunities | noticeId | solicitationNumber | title | noticeType | agency | office | naicsCode | setAside | postedDate | responseDeadline | placeOfPerformance | pointOfContactEmail | description | samUrl | route | isNew | firstSeenAt | scrapedAt |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 541511 | true | OK | <all opportunities (full list)> | <description (excerpt)> | <sam.gov notice page> | <is this notice new?> | 1970-01-01T00:00:00.000Z |
A miss comes back as a row with "found": false and is never charged.
Pricing
- Opportunity notice returned: $5 per 1,000 opportunitys
Plus a $0.00005 start fee per run. Each event above is billed independently, only when it actually returns data — misses (found:false) are never charged.
Example runs
Paste any of these into the Input tab and press Start. All three return rows with no key, no token needed beyond your own Apify API token, using the keyless route:
{"naicsCodes":["541511"],"postedWithinDays":30}— custom computer programming services, last 30 days. Live-verified this build: 4 opportunities (one Combined Synopsis/Solicitation, two Special Notices, one Sources Sought), dated 2026-09-09 through 2026-09-14.{"keywords":["cybersecurity"],"postedWithinDays":14}— keyword search across all NAICS codes.{"naicsCodes":["236220"],"setAsides":"small business","postedWithinDays":30}— commercial/ institutional building construction, small-business set-asides only.
Use it from Clay, n8n, Make, or an AI agent
This actor runs synchronously over plain HTTP — call it directly from a script, a workflow tool, or an AI agent, no Apify Console needed once you have an API token.
curl "https://api.apify.com/v2/acts/accountable_eel~sam-gov-opportunity-alerts/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \-X POST \-H "Content-Type: application/json" \-d '{"naicsCodes":["541511"]}'
n8n. Add an HTTP Request node: Method POST, URL https://api.apify.com/v2/acts/accountable_eel~sam-gov-opportunity-alerts/run-sync-get-dataset-items?token=<YOUR_TOKEN>, Body Content Type JSON, JSON Body {"naicsCodes":["541511"]} (swap in an expression from an earlier node for a real value).
Clay. Add an "HTTP API" column: Method POST, URL https://api.apify.com/v2/acts/accountable_eel~sam-gov-opportunity-alerts/run-sync-get-dataset-items?token=<YOUR_TOKEN>, Body {"naicsCodes":["{{search}}"]}, mapping the row's search into the naicsCodes array.
MCP. In Claude, Cursor, or any MCP client with the Apify MCP server, ask for "SAM.gov opportunity alerts by NAICS code" — the agent will find and run this actor.