SAM.gov Federal Contract Opportunity & Award Alerts (2026) avatar

SAM.gov Federal Contract Opportunity & Award Alerts (2026)

Pricing

$0.01 / new opportunity

Go to Apify Store
SAM.gov Federal Contract Opportunity & Award Alerts (2026)

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

ScrapeBench

Maintained by Community

Actor 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:

FieldDescription
notice_idSAM.gov notice ID
titleOpportunity title
solicitation_numberSolicitation number
agencyBuying department
officeContracting office within the department
notice_typeNotice type (Solicitation, Combined Synopsis, Sources Sought, Presolicitation)
naics_codeNAICS industry code
set_asideSet-aside type (e.g. SBA, 8A, WOSB); NONE when the notice is unrestricted
posted_dateDate the notice was posted
response_deadlineOffer/response due date, with the notice's own timezone offset
archive_dateDate the notice archives
place_of_performance_stateState where work is performed
place_of_performance_cityCity where work is performed
contact_namePrimary point of contact
contact_emailPrimary contact email
contact_phonePrimary contact phone, when the notice lists one
descriptionFull solicitation text, HTML stripped to plain text
award_amountAwarded dollar amount (award notices)
award_dateDate of award (award notices)
award_numberAwarded contract number (award notices)
awardee_nameWinning contractor as SAM.gov published it (award notices)
ui_linkDirect 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

FieldRequiredTypeDefaultDescription
naicsCodesnoarray["541512"]Industry codes to match (e.g. '541512'). Leave empty to match any industry.
keywordnostringFree-text match across the opportunity (e.g. 'cybersecurity').
keywordsnoarray[]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.
agencynostringBuying organization name, matched anywhere in the notice's department / agency / office chain (e.g. 'VETERANS AFFAIRS' or 'GENERAL SERVICES ADMINISTRATION'). Partial names work.
setAsidenostringSet-aside code, e.g. SBA (small business), 8A, WOSB, SDVOSBC. Comma-separate for several. Leave empty for all.
noticeTypesnoarray["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.
activeOnlynobooleantrueOn 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.
statenostringTwo-letter state code the work is performed in, e.g. 'CA'. Comma-separate for several. Leave empty for anywhere.
lookbackDaysnointeger1Fetch 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.
maxResultsnointeger100Cap on opportunities fetched per run. Applied per keyword when you submit a batch.
proxyConfigurationnoobject{"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:

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.