SAM.gov Scraper: Federal Contract Opportunities Monitor
Pricing
from $2.50 / 1,000 opportunity notice delivereds
SAM.gov Scraper: Federal Contract Opportunities Monitor
Returns new SAM.gov federal contract opportunities as clean rows: title, notice type, agency, NAICS/PSC, set-aside, deadline, days left and link. Filter by category, set-aside, agency, state or keyword; only new notices on scheduled runs. No API key.
Pricing
from $2.50 / 1,000 opportunity notice delivereds
Rating
0.0
(0)
Developer
FedSignals Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 hours ago
Last modified
Categories
Share
Get every new federal contract opportunity from SAM.gov as clean, categorized data. The Actor covers solicitations, presolicitations, sources-sought notices and combined synopses from all agencies. Filter by plain-English category, agency, set-aside, state, NAICS/PSC or keyword. Run it daily on a schedule, and incremental mode returns only notices you have not seen yet.
You don't need a SAM.gov API key, so there are no 10-requests-per-day limits. The Actor reads the official public SAM.gov Contract Opportunities extract.
What you get
- Human-readable categories: each notice is tagged with one of 16 groups, mapped from its PSC and NAICS codes: IT & Cyber, Telecom, Construction, Facilities & Maintenance, Security & Guard Services, Medical & Health, Defense & Aerospace, Research & Development, Professional Services, Architecture & Engineering, Education & Training, Logistics & Transportation, Energy & Environment, Food & Lodging, Equipment & Supplies, Other.
- Department, sub-tier and office.
- Set-aside, as a code plus a label.
- NAICS and PSC.
- Place of performance.
- Response deadline and days until deadline.
- Award notices with winners: awardee name and address, award amount, number and date.
- Solicitation-number lookup: every notice for a solicitation (original, amendments, award) with
solicitationNumbers. - A public SAM.gov link, an attachments-page link, and direct attachment download links if you add your own SAM.gov API key.
- A trimmed description.
- Incremental mode: the Actor remembers notice IDs in a named key-value store, so scheduled runs only return (and only charge for) new notices.
baselineOnFirstRunmakes the first run a free baseline, andpushRunSummaryadds a free summary row for webhooks. - Contact names, emails and phones are off by default. They are opt-in with
includeContacts.
Example input
{"daysBack": 3,"categories": ["IT & Cyber"],"setAsides": ["small business"],"noticeTypes": ["Solicitation", "Combined Synopsis/Solicitation", "Sources Sought"],"minDaysToDeadline": 5,"onlyNew": true,"maxItems": 500}
Set-aside groups: small business, 8(a), hubzone, sdvosb, wosb, veteran-owned, indian, ied. You can also use raw SAM codes such as SBA or SDVOSBC.
Example output
{"noticeId": "56e57b68bdf74e2482af682c2e1df81b","title": "Online management support software for SDS","noticeType": "Solicitation","postedDate": "2026-10-27","responseDeadline": "2026-11-06T17:00:00-08:00","daysUntilDeadline": 9,"category": "IT & Cyber","pscCode": "7A20","naicsCode": "513210","department": "INTERIOR, DEPARTMENT OF THE","subTier": "DEPARTMENTAL OFFICES","office": "BLM CONTRACTING ACTIVITY","setAsideCode": "SBA","setAside": "Small Business Set Aside - Total","url": "https://sam.gov/opp/56e57b68bdf74e2482af682c2e1df81b/view","attachmentsPageUrl": "https://sam.gov/opp/56e57b68bdf74e2482af682c2e1df81b/view#attachments-links"}
A real 3-day, all-agency run on Oct 28, 2026 returned 1,884 open notices. Agencies: DoD 1,471, VA 138. Categories: Equipment & Supplies 841, Defense & Aerospace 232, Facilities 229 and so on.
Use cases
- Small businesses and GovCon consultants: a daily feed of new bids in your categories and set-asides.
- Capture and BD teams: route notices into a CRM, Slack or a spreadsheet (via Apify integrations or webhooks).
- Market researchers: track how many notices each agency or category posts over time.
Data source and terms
The data is the official SAM.gov Contract Opportunities public data extract published by the U.S. General Services Administration. It is U.S. government information and is not subject to copyright in the U.S. Always confirm details and amendments on the official notice before bidding. Categories are this Actor's own grouping of PSC/NAICS codes. Notices without codes are labeled "Other".
Scheduling
Create a Task with your filters and schedule it daily, for example 7:00 AM ET. SAM.gov refreshes the extract overnight. Keep onlyNew: true and daysBack: 3 so weekends and late postings are covered without duplicates. Give each saved Task its own stateKey if you run several with the same filters.
How much does it cost?
Pay per event: you pay only for the events below plus Apify's $0.00005 run-start fee. Platform compute is included in the price.
- $2.50 per 1,000 notices ($0.0025 per notice delivered).
- $0.01 per alert run, charged only when a run delivers at least one new notice.
Real examples from our test runs:
- Quick-start input (10 IT & Cyber notices): 10 × $0.0025 + $0.01 alert-run fee = about $0.035.
- IT & Cyber small-business set-asides, last 7 days: 18 notices in our Oct 28 test = 18 × $0.0025 + $0.01 = about $0.055.
- Everything from all agencies for 3 days: 1,884 notices in our Oct 28 test = about $4.72. Use categories, set-asides and
maxItemsto stay small. - A run that finds no new notices pays no alert fee and no notice fees, only Apify's tiny start fee.
Use maxItems and Apify's per-run spending limit to cap spend; the Actor stops cleanly when the limit is reached.
Limits
- The public extract updates once a day, so this is a daily feed, not real-time.
- Attachment files are not downloaded. Direct attachment links need your own SAM.gov API key; without one, use
attachmentsPageUrl. awardeeNameis split from SAM.gov's combined awardee text at the street number, so a few names may be cut or include part of the address.- Categories are a best-effort mapping. Notices without PSC/NAICS codes are labelled Other, and Equipment & Supplies is dominated by DLA spare-parts notices.
FAQ
Do I need a SAM.gov API key?
No. The Actor reads the public SAM.gov Contract Opportunities data extract, so there is no key and no 10-requests-per-day limit. A key is optional and only adds direct attachment download links (samApiKey).
How fresh is the data?
SAM.gov refreshes the public extract once a day, overnight. Notices posted today usually appear in the next day's run.
How do I get only new bids every day?
Save a Task with your filters, turn on onlyNew, keep daysBack at 3 and schedule it daily. Each run returns only notices you haven't received yet.
Can I get contact details?
Yes, turn on includeContacts to add the primary point of contact published on the notice. It is off by default.
Does it cover award notices?
Yes. Set noticeTypes to Award Notice to see who won: awardeeName, awardeeAddress, awardAmount, awardNumber and awardDate are filled when SAM.gov publishes them. The dataset has an Award notices view.
Can I look up one solicitation number?
Yes. Put it in solicitationNumbers and set daysBack to cover its history (for example 90). You get every notice for it: the original, amendments and the award notice. Other filters are ignored in lookup mode.
Where are the attachments?
Every notice has attachmentsPageUrl, the public SAM.gov page section listing its files. For direct download links in resourceLinks, add your own free SAM.gov API key in samApiKey (one request covers up to 1,000 notices).
My first scheduled run returned hundreds of old notices. How do I avoid that?
Turn on baselineOnFirstRun with onlyNew. The first run marks everything currently matching as seen, returns nothing and charges nothing; from then on you get only new notices.
How do I trigger a webhook or Zap with the result?
Turn on pushRunSummary to add one free run-summary row with counts and the run link at the end of the dataset. The same summary is always saved as SUMMARY in the key-value store.
Why is a notice in the wrong category?
Categories are our own grouping of PSC and NAICS codes. Use pscPrefixes or naicsPrefixes for exact control.
Reliability
Measured on Apify as of Oct 29, 2026: 3 of 3 of our own test runs succeeded (100%), with a median run time of 4 seconds (longest 4 s) on small test inputs. It is a small sample from a new Actor; we will update it as runs accumulate. Local tests: a 3-day all-agency run read 2,603 notices and returned 1,884 in about 10 seconds; the incremental rerun returned 0 duplicates.
Use it from AI agents (MCP)
Add this Actor as a tool in Claude Desktop, Cursor or any MCP client through the Apify MCP server:
{"mcpServers": {"federal-opportunities-monitor": {"url": "https://mcp.apify.com?tools=fedsignals/federal-opportunities-monitor","headers": { "Authorization": "Bearer YOUR_APIFY_TOKEN" }}}}
Use it from code (API)
One call runs the Actor and returns the dataset items. maxTotalChargeUsd caps what the run can charge.
Python:
import requestsitems = requests.post("https://api.apify.com/v2/acts/fedsignals~federal-opportunities-monitor/run-sync-get-dataset-items",params={"maxTotalChargeUsd": 1},headers={"Authorization": "Bearer YOUR_APIFY_TOKEN"},json={"daysBack": 5, "categories": ["IT & Cyber"], "onlyNew": False, "maxItems": 10},timeout=300,).json()print(len(items), "items")
JavaScript (Node 18+):
const res = await fetch("https://api.apify.com/v2/acts/fedsignals~federal-opportunities-monitor/run-sync-get-dataset-items?maxTotalChargeUsd=1",{method: "POST",headers: { Authorization: "Bearer YOUR_APIFY_TOKEN", "Content-Type": "application/json" },body: JSON.stringify({"daysBack": 5, "categories": ["IT & Cyber"], "onlyNew": false, "maxItems": 10}),});const items = await res.json();console.log(items.length, "items");
Related FedSignals Actors
- Expiring Federal Contracts: Recompete Finder (USAspending): federal contracts expiring soon, with incumbents
- USAspending Scraper: Federal Spending Trends by Category: where federal contract spending is growing
- SEC Form D Scraper: New Startup Funding Rounds: new private funding rounds from SEC Form D filings
- Building Permits Scraper: New Construction Leads by City: new building permits as construction leads
Feedback
Found a bug or need a filter or source? Open an issue on the Issues tab or email fedsignals.alerts@gmail.com.
This Actor is not affiliated with or endorsed by GSA or SAM.gov.