SAM.gov Opportunity Alerts: New Federal Contracts avatar

SAM.gov Opportunity Alerts: New Federal Contracts

Pricing

from $2.50 / 1,000 opportunity notice returneds

Go to Apify Store
SAM.gov Opportunity Alerts: New Federal Contracts

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

Adrian Voss

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

3 days ago

Last modified

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

  1. In the Apify Console. Open the actor page and click Start — the naicsCodes field is already pre-filled with a working example. Results land in the run's dataset as soon as each item is found.
  2. 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"]}'
  3. 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:

queryfoundstatussearchSummaryopportunityCounttruncatedmonitorStatusopportunitiesnoticeIdsolicitationNumbertitlenoticeTypeagencyofficenaicsCodesetAsidepostedDateresponseDeadlineplaceOfPerformancepointOfContactEmaildescriptionsamUrlrouteisNewfirstSeenAtscrapedAt
541511trueOK<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:

  1. {"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.
  2. {"keywords":["cybersecurity"],"postedWithinDays":14} — keyword search across all NAICS codes.
  3. {"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.