SAM.gov Contract Opportunities Finder & Bid Alerts avatar

SAM.gov Contract Opportunities Finder & Bid Alerts

Pricing

from $4.00 / 1,000 opportunity returneds

Go to Apify Store
SAM.gov Contract Opportunities Finder & Bid Alerts

SAM.gov Contract Opportunities Finder & Bid Alerts

Find open U.S. federal contract opportunities from SAM.gov by keyword, NAICS, set-aside, state and agency. Alert mode returns only new bids since your last run. Official public data, no API key needed.

Pricing

from $4.00 / 1,000 opportunity returneds

Rating

0.0

(0)

Developer

Pankaj Bhatia

Pankaj Bhatia

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Categories

Share

Find open U.S. federal contract opportunities from SAM.gov in seconds. Filter by keyword, NAICS code, set-aside, state, agency and deadline. Turn on alert mode and schedule it daily to get only the new bids since your last run.

  • Official public data: reads the daily Contract Opportunities extract that GSA publishes on SAM.gov. No login, no API key, no scraping of web pages.
  • Fast and reliable: scans all ~75,000 active notices in a few seconds. No proxies, no browser, so there's nothing to get blocked.
  • New-bid alerts: remembers what you've already received, so a daily schedule gives you a clean "what's new today" feed. You only pay for new notices.
  • Pay only for results: you pay per notice returned, and you can cap the cost of any run.

Who is it for?

  • Small businesses and contractors that want every relevant solicitation in their NAICS codes and states.
  • 8(a), HUBZone, SDVOSB and WOSB firms looking for set-asides reserved for them.
  • Bid/proposal consultants and BD teams that track opportunities for several clients (use one alert name per client).
  • Market researchers looking at Award Notices to see who won what, and for how much.
  • AI agents and automations (Zapier, Make, n8n, Slack, Google Sheets) that need a clean JSON feed of federal bids.

How to use it

  1. Enter keywords (for example cybersecurity, janitorial, HVAC), and/or NAICS codes (prefixes work: 5415 covers all of 5415xx).
  2. Optionally narrow it down by set-aside, state, agency or notice type.
  3. Click Start. Results appear in the Opportunities table and can be exported as JSON, CSV or Excel, or pulled through the API.
  4. For daily alerts: turn on Alert mode, give it an Alert name (for example va-it-services), save it as a task and add a daily schedule. Connect the run to email, Slack or Google Sheets with Apify integrations.

Input example

{
"keywords": ["cybersecurity", "zero trust"],
"naicsCodes": ["5415"],
"setAsides": ["SBA", "SDVOSBC"],
"states": ["VA", "MD", "DC"],
"postedWithinDays": 14,
"onlyOpenForResponses": true,
"onlyNewSinceLastRun": true,
"alertId": "dmv-cyber",
"maxResults": 200
}

Main filters

FieldWhat it does
keywords / excludeKeywordsMatch ANY word/phrase in the title (and, by default, the description)
naicsCodesIndustry codes, prefix match (5415 → 541511, 541512, …)
pscCodesProduct Service Codes, prefix match
noticeTypesSolicitation, Combined Synopsis/Solicitation, Presolicitation, Sources Sought, Special Notice (default), plus Award Notice and others
setAsidesSBA, 8(a), HUBZone, SDVOSB, WOSB, EDWOSB and more; NONE = full and open
statesPlace-of-performance state (falls back to the contracting office's state)
agenciesAny part of the department / agency / office name, for example Army, Veterans Affairs
postedWithinDaysOnly notices posted in the last N days (default 30)
onlyOpenForResponsesDrop notices whose deadline has passed (default on)
minDaysToRespondOnly notices with at least N days left to respond
onlyNewSinceLastRun + alertIdAlert mode: return only notices not delivered before under this alert name

Output example

{
"noticeId": "36e01c2dd5c14321849c55786677d5c9",
"title": "Pyxis Supply Server Software",
"solicitationNumber": "36C26127Q0062",
"noticeType": "Solicitation",
"department": "VETERANS AFFAIRS, DEPARTMENT OF",
"office": "261-NETWORK CONTRACT OFFICE 21 (36C261)",
"postedDate": "2026-10-05T16:52:48Z",
"responseDeadline": "2026-10-13T19:00:00Z",
"daysUntilDeadline": 5.8,
"setAsideCode": "SBA",
"setAside": "Small Business Set Aside - Total",
"naicsCode": "541519",
"pscCode": "7A21",
"placeOfPerformance": { "city": "Las Vegas", "state": "NV", "country": "USA" },
"award": null,
"samGovUrl": "https://sam.gov/opp/36e01c2dd5c14321849c55786677d5c9/view",
"primaryContact": { "name": "…", "email": "…@va.gov" },
"description": "This RFQ is a Brand Name Only, Small Business Set-Aside …",
"sourceUpdatedAt": "2026-10-07T03:30:44Z"
}

Award Notices also include award.number, award.date, award.amountUsd and award.awardee.

Each run also saves a RUN_SUMMARY record (notices scanned, matched, skipped as already delivered, returned) in the run's key-value store.

How much does it cost?

Pay-per-event. You pay a small fee per opportunity returned (plus a tiny per-run start fee); nothing else. For example, 1,000 opportunities cost about $4. In alert mode you only pay for new notices, so a daily alert usually costs cents. Set Maximum cost per run to cap any run. The Actor stops cleanly when it reaches your limit.

Data source and freshness

The data comes from the official SAM.gov Contract Opportunities public extract published by GSA, which is refreshed daily. Each result includes sourceUpdatedAt so you know exactly how fresh it is. Always confirm details and attachments on the linked SAM.gov page before you bid.

Contacts are the official government points of contact published on each notice. You can turn them off with includeContacts: false.

Use it through the API, integrations or AI agents

Run it from the Apify API, on a schedule, or connect it to Make, Zapier, n8n or Google Sheets. AI agents can find and call it through the Apify MCP server. Output is clean JSON with the same fields on every run.

FAQ

Do I need a SAM.gov account or API key? No.

Why not use the official SAM.gov API? Non-federal users are limited to about 10 API requests per day. This Actor reads the full public daily extract instead, so there are no rate limits.

How fresh is it? Same-day data, matching SAM.gov's daily public extract. It's not real-time to the minute.

Can I track several searches? Yes. Use a different alertId for each saved task.

Something wrong or missing? Open an issue on the Issues tab. We usually reply within 24 hours.

This Actor is not affiliated with or endorsed by GSA or SAM.gov.

More tools from this developer