SAM.gov Federal Contract Opportunity & Award Alerts (2026)
Pricing
$0.01 / new opportunity
SAM.gov Federal Contract Opportunity & Award Alerts (2026)
Search US federal contract opportunities and awards by NAICS, agency, keyword, set-aside, notice type and state — from the official SAM.gov registry. Full solicitation text included. No API key needed. Pay per result.
Pricing
$0.01 / new opportunity
Rating
0.0
(0)
Developer
ScrapeBench
Maintained by CommunityActor stats
0
Bookmarked
25
Total users
0
Monthly active users
16 hours ago
Last modified
Categories
Share
Pain points
- SAM.gov isn't built for automation — you re-run the same search by hand and copy results out.
- Generic SAM scrapers dump every notice; you re-filter to the NAICS/agency/set-aside you actually bid.
- Missing a solicitation's response deadline means missing the bid entirely.
What we solve
- Returns the current opportunities matching your NAICS, agency, keyword, set-aside, notice type and place of performance — filtered, not the whole haystack.
- Every row carries the full solicitation text, so you can tell whether a notice is worth bidding without opening it on SAM.gov.
- Structured rows with the response deadline, set-aside, buying office and the contracting officer's name, email and phone — ready for a CRM or Slack.
- Search award notices to see who won a contract, for how much, and when — the same filters, pointed at closed business instead of open bids.
- Runs on a schedule with Apify's native email/Slack/webhook integrations so new dataset items reach your team.
Summary
Search SAM.gov for federal contract opportunities that fit your business. Set your NAICS codes, agency, keyword, set-aside, place of performance and how many days back to look — each run returns the matching opportunities with response deadline, set-aside, buying office, the contracting officer's contact details, and a direct SAM.gov link. Schedule it and pipe new dataset items to email/Slack/webhook via Apify's native integrations. You pay per result.
Who it's for
- Government contractors and BD teams tracking new solicitations
- Small businesses bidding set-aside opportunities (8(a), WOSB, SDVOSB)
- Capture managers monitoring specific agencies or NAICS codes
- GovCon consultants and proposal shops
How to use
Set the input, run the actor, and collect results from the run's dataset (export to JSON/CSV/Excel, or pull via the Apify API). Example input:
{"naicsCodes": ["541512"],"setAside": "SBA","lookbackDays": 1,"maxResults": 100}
See Inputs below for every available field.
What you get
One row per record:
| Field | Description |
|---|---|
notice_id | SAM.gov notice ID |
title | Opportunity title |
solicitation_number | Solicitation number |
agency | Buying department |
office | Contracting office within the department |
notice_type | Notice type (Solicitation, Combined Synopsis, Sources Sought, Presolicitation) |
naics_code | NAICS industry code |
set_aside | Set-aside type (e.g. SBA, 8A, WOSB); NONE when the notice is unrestricted |
posted_date | Date the notice was posted |
response_deadline | Offer/response due date, with the notice's own timezone offset |
archive_date | Date the notice archives |
place_of_performance_state | State where work is performed |
place_of_performance_city | City where work is performed |
contact_name | Primary point of contact |
contact_email | Primary contact email |
contact_phone | Primary contact phone, when the notice lists one |
description | Full solicitation text, HTML stripped to plain text |
award_amount | Awarded dollar amount (award notices) |
award_date | Date of award (award notices) |
award_number | Awarded contract number (award notices) |
awardee_name | Winning contractor as SAM.gov published it (award notices) |
ui_link | Direct link to the opportunity on SAM.gov |
Sample:
{"notice_id": "bfbe1f99b3fb44e981d3729d8622c940","title": "Microsoft 365 Data Migration Project","solicitation_number": "N6471026Q0016","agency": "DEPT OF DEFENSE","office": "STRATEGIC WEAPONS FAC PAC FINANCIAL","notice_type": "Solicitation","naics_code": "541512","set_aside": "NONE","posted_date": "2026-09-09T00:20:23+00:00","response_deadline": "2026-09-14T17:00:00-07:00","archive_date": "2026-09-29","place_of_performance_state": "WA","place_of_performance_city": "Silverdale","contact_name": "Tabbatha Austin","contact_email": "tabbatha.austin@swfpac.navy.mil","contact_phone": "3605643069","ui_link": "https://sam.gov/opp/bfbe1f99b3fb44e981d3729d8622c940/view","source_url": "https://sam.gov/opp/bfbe1f99b3fb44e981d3729d8622c940/view"}
Inputs
| Field | Required | Type | Default | Description |
|---|---|---|---|---|
naicsCodes | no | array | ["541512"] | Industry codes to match (e.g. '541512'). Leave empty to match any industry. |
keyword | no | string | — | Free-text match across the opportunity (e.g. 'cybersecurity'). |
keywords | no | array | [] | Look up many in ONE run instead of starting a run per lookup. Takes the same values as 'Keyword'. Combined with 'Keyword' if you fill both, and duplicates are removed. Billing is unchanged: you are charged per record returned, not per entry submitted. |
agency | no | string | — | Buying organization name, matched anywhere in the notice's department / agency / office chain (e.g. 'VETERANS AFFAIRS' or 'GENERAL SERVICES ADMINISTRATION'). Partial names work. |
setAside | no | string | — | Set-aside code, e.g. SBA (small business), 8A, WOSB, SDVOSBC. Comma-separate for several. Leave empty for all. |
noticeTypes | no | array | ["o", "k", "p", "r"] | Which kinds of notice to return, as SAM.gov's one-letter codes. Defaults to the four open-solicitation types: o = Solicitation, k = Combined Synopsis/Solicitation, p = Presolicitation, r = Sources Sought. Also available: a = Award Notice (who won and for how much — pair it with 'Active notices only' switched off), s = Special Notice, u = Justification (J&A), g = Sale of Surplus Property, i = Intent to Bundle Requirements, m = Modification/Amendment. A code outside this list is ignored and logged rather than silently widening your search. |
activeOnly | no | boolean | true | On by default. Turn it off to include notices SAM.gov has archived — needed for most award-notice searches, since an award is usually posted after the solicitation closes. |
state | no | string | — | Two-letter state code the work is performed in, e.g. 'CA'. Comma-separate for several. Leave empty for anywhere. |
lookbackDays | no | integer | 1 | Fetch opportunities posted within this many days. Every run returns everything in the window that matches, so a wide window on a frequent schedule returns the same notices again. |
maxResults | no | integer | 100 | Cap on opportunities fetched per run. Applied per keyword when you submit a batch. |
proxyConfiguration | no | object | {"useApifyProxy": true} | SAM.gov serves this data without an account or an API key, but it meters by IP. Leaving Apify Proxy on is the tested configuration and costs very little bandwidth for this actor. |
Pricing (Pay Per Event)
You pay per result (dataset-item) — no charge for empty runs. Example: 50 opportunities returned at $0.0025/result ≈ $0.13.
Price change scheduled: $0.0025 per result takes effect 23 September 2026. Until then the actor bills at its current $0.01 per result — Apify requires 14 days' notice before a price change takes effect, so the lower rate cannot start sooner. Runs that return no matches are free, and so is the row the actor emits to explain an upstream problem. Apify platform usage is billed separately.
Use cases
- Daily feed — schedule a run per NAICS/agency and get the matching opportunities each morning.
- Set-aside monitoring — track small-business or 8(a) solicitations as they post.
- Agency watch — follow a target agency's contract notices.
- Award intelligence — search Award Notices to see which contractors are winning in your NAICS, and at what dollar value.
- Early signals — watch Sources Sought and Presolicitations to reach a programme before the solicitation drops.
- Pipeline feed — pipe matches into a CRM or Slack via Apify integrations.
Why this actor
- No SAM.gov API key and no login: you do not register for anything, and there is no per-key daily quota to run out of.
- The notice-type filter is real — ask for Sources Sought and Presolicitations and that is exactly what you are billed for. Unrecognised codes are dropped and logged rather than quietly widening the search.
- Full solicitation text on every row (measured: present on 139 of 150 notices sampled 2026-09-09), markup stripped, so the row is readable in a CRM field or a Slack message.
- Open bids and awarded contracts from one actor and one set of filters.
- Pay per result; runs with no matches are free.
Limitations & updates
Covers the SAM.gov 'Contract Opportunities' dataset and reflects the live registry. Each run returns the current matches within your lookback window — it does not dedupe against previous runs, so a daily schedule with a short lookbackDays keeps results focused on recent postings. Set-aside, place of performance, point of contact, description and award details come from each notice's detail record: they are populated whenever the notice publishes them, and a notice that omits one leaves that field null rather than guessing (description was present on 139 of 150 notices sampled 2026-09-09). Award fields are populated on Award Notices only — open solicitations have no award yet. Agency is matched against the notice's department/agency/office chain, so a partial name like 'VETERANS AFFAIRS' works. SAM.gov will not page beyond 10,000 records for one query; a run that hits that says so in a free row.
FAQ
Where does the data come from?
SAM.gov's own public contract-opportunity search — the same source that powers sam.gov's search page. Each row is also enriched from that notice's public detail record, which is where the NAICS code, set-aside, place of performance and point of contact live.
Do I need a SAM.gov account or an API key?
No. This actor needs neither. You do not register with SAM.gov, data.gov or login.gov, and there is no API key to paste in or keep topped up.
Does each run only return new opportunities?
No — each run returns the current opportunities matching your filters within your lookback window. Use a short lookbackDays (e.g. 1) on a daily schedule to keep results focused on recent postings.
Can I get email or Slack alerts?
Yes — schedule the actor and connect Apify's native email/Slack/webhook integrations to new dataset items.
How many results can one search return?
Up to 1,000 per keyword per run. SAM.gov itself will not page beyond 10,000 records for a single query; if a search is broad enough to hit that, the run says so in a free row rather than quietly returning less.
How am I charged?
Per opportunity returned. Runs that return no matches are free, and so is the row the actor emits to explain an upstream problem.
Can I see who won a contract?
Yes. Set Notice types to 'Award Notice' and turn off 'Active notices only' (an award is normally posted after the solicitation closes). Those rows carry the awardee, the award amount, the award date and the contract number.
Which notice types can I search?
Solicitation, Combined Synopsis/Solicitation, Presolicitation, Sources Sought, Award Notice, Special Notice, Justification (J&A), Sale of Surplus Property, Intent to Bundle Requirements, and Modification/Amendment. The default is the four open-solicitation types.
Do rows include the full solicitation text?
Yes, in the 'description' field, with HTML stripped to plain text. Across 150 notices sampled on 2026-09-09 it was present on 139; the rest genuinely publish no description.
Which actor to choose
Part of the public-data lead-gen suite — pick the one that fits your goal:
- Multi-State Contractor License Lookup — You need to verify contractor/trade licenses across US states.
- California Contractor Directory — You want CSLB contractor lead lists by class and county.
Guides & use cases
Written up on scrapebench.dev — the bench that runs and verifies this actor against the live source every night:
- How-to: How to run SAM.gov Federal Contract Opportunity Alert
- Use case: Alert: New Federal IT Services Contracts
- Use case: Monitor Small-Business Set-Aside Opportunities
- Use case: Watch a Federal Agency for New Contracts
More actors, coverage and nightly verification results: scrapebench.dev
Works with AI assistants (MCP)
Callable as an MCP tool, so Claude, Cursor, VS Code Copilot and other MCP clients can run it directly. Grab the config from the MCP tab on this page — Apify hosts the server and keeps that snippet current, and OAuth signs you in on first connect, so no API token goes in your config file.
Then just ask:
"Which contractors won federal IT contracts under NAICS 541512 in the last 30 days, and for how much?"
Set noticeTypes to ['a'] with activeOnly false for award questions like this one; leave both at their defaults to ask about open bids instead. Each run is one search plus one lookup per result, so a narrow NAICS with a short lookback answers in about a second. Runs started this way bill exactly like any other run.