SAM.gov Contracts Monitor & API — Federal Bid Alerts
Pricing
from $3.00 / 1,000 results
SAM.gov Contracts Monitor & API — Federal Bid Alerts
Monitor new U.S. federal contract opportunities from official SAM.gov data. It works with no key, using SAM.gov's nightly public file, or you can add your free SAM.gov API key for live same-day data. Filter by NAICS, set-aside, agency, state, deadline, keywords and minimum value. Only-new alerts.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Daniel
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
15 minutes ago
Last modified
Categories
Share
Built by Cranewell. Maintained on a best-effort basis by automated checks; no custom support, consulting, or SLA is offered. Report issues via the Store's Issues tab.
What does SAM.gov Contracts Monitor do?
It pulls U.S. federal contract opportunities from official SAM.gov data: solicitations, combined synopsis/solicitations, sources sought, presolicitations, awards, and more. Records come out clean and normalized. Schedule it with Only new since last run on, and each run returns only opportunities you haven't seen. That gives you a federal bid alert feed for email, Slack, Sheets or a webhook.
- No API key or account needed. By default it reads SAM.gov's public Contract Opportunities extract, which is rebuilt nightly.
- Optional live mode. Add your own free SAM.gov API key and it queries the official Get Opportunities Public API for same-day notices.
- Filters: posted date range or last N days, NAICS codes or prefixes, PSC code, notice type, set-aside (SBA, 8(a), HUBZone, SDVOSB, WOSB…), place-of-performance state, agency/organization name, response-deadline range, keywords, exclude keywords, and minimum value.
- Webhook-ready run summary (counts + up to 50 new items) saved as
SUMMARYin the run's key-value store. - Official data only: no website scraping, no login automation.
How to get SAM.gov contract alerts without an API key
Leave SAM.gov public API key empty. The Actor downloads SAM.gov's official public extract of active Contract Opportunities (ContractOpportunitiesFullCSV.csv, about 70,000 notices, ~210 MB, no login). The file is sorted newest first, so the Actor stops reading once it passes your date window. In our test on 2026-10-28, the default 7-day window finished in under a second.
How fresh is the no-key data?
SAM.gov rebuilds the file once a day. On 2026-10-28 it was last modified at 03:30 UTC and its newest notice had been posted the previous evening. A notice posted today usually appears in tomorrow's file, so this mode can lag the live site by up to about a day.
Differences without a key
- Active notices only, no archived ones.
- State matches the extract's PopState column, which is blank on many notices (about 3 in 4 on 2026-10-28). Those notices drop out when you set a state.
- Organization name and Title contains are plain "contains" matches.
- Max API pages is ignored.
- Modification/amendment/cancel notices are included when you don't choose notice types.
How to use the SAM.gov API for live, same-day data (optional)
Create a free SAM.gov account, open Account Details → Public API Key, and paste the key into the SAM.gov public API key input. It's a secret input and is never logged or output. SAM.gov sets daily limits per key (open.gsa.gov):
| Your SAM.gov account | Requests/day |
|---|---|
| Non-federal user, no role | 10 |
| Non-federal user with a role (e.g. entity registration) | 1,000 |
| Federal user / non-federal system account | 1,000 |
Each page is one request of up to 1,000 opportunities. Max API pages defaults to 3, so a daily run fits a 10-request key.
Input example
{ "keywords": ["cybersecurity"], "procurementTypes": ["o", "k"], "daysBack": 7, "maxItems": 50 }
Narrower, with a NAICS code and set-aside:
{ "daysBack": 2, "codes": ["541511"], "procurementTypes": ["o", "k", "r"], "setAside": "SBA", "onlyNew": true }
Add "apiKey": "YOUR_SAM_KEY" for live mode.
Filter by NAICS, set-aside, agency, deadline and value
| Field | What it does |
|---|---|
postedFrom / postedTo or daysBack | Posted window (default last 7 days; max 1 year) |
codes | NAICS codes or prefixes (e.g. 5415) |
classificationCode | PSC code |
procurementTypes | Notice types |
setAside | Set-aside type |
state | Place-of-performance state (2 letters) |
organizationName, title | Agency name / title contains |
deadlineFrom / deadlineTo | Response-deadline range |
keywords / excludeKeywords | Match or drop words in title/buyer |
minValue | Minimum value. Notices without a value are dropped when this is set |
onlyNew, resetState, maxItems | Monitoring state and per-run cap (default 1,000) |
webhookSummary | Write the SUMMARY record (default on) |
With a key, a single 6-digit NAICS code is filtered server-side; several codes or prefixes are filtered after download.
Output example (real record from a test run, 2026-10-28)
{"id": "SAM-ff1938baf47b4f96a9771245eb299cec","source": "sam.gov","title": "Triumph 5 year V22 PCA Repair LTC","buyer": "NAVSUP WEAPON SYSTEMS SUPPORT","agencyPath": "DEPT OF DEFENSE.DEPT OF THE NAVY.NAVSUP.NAVSUP WEAPON SYSTEMS SUPPORT.NAVSUP WSS PHILADELPHIA.NAVSUP WEAPON SYSTEMS SUPPORT","country": "USA","codes": ["336413"],"codeType": "NAICS","classificationCode": "1680","solicitationNumber": "N0038327RS054","noticeType": "Presolicitation","setAside": null,"publishedDate": "2026-10-28","deadline": "2026-11-12","value": null,"currency": null,"url": "https://sam.gov/opp/ff1938baf47b4f96a9771245eb299cec/view","isNew": true,"fetchedAt": "2026-10-29T01:09:26.430Z"}
Fields:
id, source, title, buyer, agencyPath, country, codes, codeType, classificationCode, solicitationNumber, noticeType, setAside, publishedDate, deadline, value, currency, url, isNew, fetchedAt.valueis the award amount, so it only appears on award notices (3 of 20 in our test). In that test, 19 of 20 had a NAICS code, 16 a deadline, and 11 a set-aside.- Not included: point-of-contact personal data (intentionally), awardee details, office address, full description text, and attachments. Descriptions and attachments are links on SAM.gov.
How much does it cost to monitor SAM.gov?
| Event | Price |
|---|---|
| Actor start | $0.005 per run |
| Result | $0.003 per opportunity written to the dataset ($3 per 1,000) |
Example: a daily run returning 30 new opportunities costs $0.095, about $2.85 a month. With Only new on, you pay only for new items. You can set a maximum total charge on a run to cap spend; the Actor is designed to stop cleanly when it's reached (covered by our automated tests). Platform compute is billed by Apify as usual. SAM.gov data is free, and with a key the daily quota is your own.
Limits
- Notices beyond Max results aren't marked as seen, so later runs deliver them.
- Volume check (2026-10-28): all notice types posted in the last 3 days came to 3,174 opportunities, or 4 API requests. Narrow filters if your key allows only 10 requests a day.
- SAM.gov sometimes returns 504 errors. Retries can count against your key's quota. An invalid key fails fast.
- The API returns only the latest active version of each notice.
FAQ
Do I need a SAM.gov API key?
No. Without a key the Actor uses SAM.gov's nightly public extract. Add your free key only if you need same-day notices.
How do I get a free SAM.gov API key?
Sign in to SAM.gov and go to Account Details → Public API Key. See open.gsa.gov for limits.
Does it include contact names and emails?
No. Point-of-contact personal data is intentionally excluded.
Can I get alerts in Slack or email?
Yes. Schedule a Task and attach an Apify integration, or a webhook that reads SUMMARY.
Can I also monitor EU tenders?
Yes. Use our twin Actor EU TED Tenders Monitor & API. It outputs the same core fields (without the SAM-specific agencyPath, classificationCode and solicitationNumber), so US and EU tenders fit one workflow.
Data source & terms
- Get Opportunities Public API: https://open.gsa.gov/api/get-opportunities-public-api/
- API key rate limits: https://open.gsa.gov/api/entity-api/
- Public extract: https://sam.gov/data-services/Contract%20Opportunities/datagov?privacy=Public
- SAM.gov terms of use: https://sam.gov/about/terms-of-use. These terms name SAM.gov's APIs and data-services extracts as the sanctioned way to get data. With a key, you use it under your own SAM.gov account terms.
- This Actor isn't affiliated with or endorsed by GSA or SAM.gov.