SAM.gov Contract Opportunities & Awards Feed — USAspending API
Pricing
$4.00 / 1,000 results
SAM.gov Contract Opportunities & Awards Feed — USAspending API
Get new US federal contract opportunities and awards since your last run, filtered by NAICS code, keyword, agency and your own watchlist. Official SAM.gov and USAspending APIs, not a scraper. Clean JSON with agency, dollar value, dates and place of performance. Export, schedule and integrate.
Pricing
$4.00 / 1,000 results
Rating
0.0
(0)
Developer
Nick
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Get new US federal contract opportunities and awards since your last run, filtered by NAICS code, keyword, agency and your own saved watchlists. Built on the official SAM.gov and USAspending APIs — public-domain government data, no scraping, no cookies, no gray areas.
What does this Actor do?
It runs two federal sources behind one schema. In awards mode it reads USAspending for contracts
that have actually been awarded, with the dollar amount attached. In opportunities mode it reads
SAM.gov for live solicitations you can still bid on. Both come back as the same seventeen fields,
so an award and an opportunity sit in the same table and the same downstream alert.
Why this instead of a SAM.gov scraper
If you searched for a "SAM.gov scraper" or a "federal contracts scraper", this Actor does that job
through the official route. It reads the authoritative SAM.gov and USAspending federal APIs instead
of scraping the website, so it cannot break when the site's HTML changes and cannot be blocked,
banned or rate-limited out of existence. There is no headless browser, so runs are faster and cheaper
per record. It is also scheduled monitoring rather than a one-shot scrape: it windows by date with a
lag-tolerant watermark, flags newSinceLastRun, and annotates records that match your watchlists —
plus it returns the awards side, with real dollar amounts, that solicitation-page scrapers never see.
The awkward detail worth knowing up front: the awards window is keyed on the contract's start
date, not on a publication cursor. USAspending's award search exposes a time_period filter over
award dates, so "new since last run" means "awards whose start date falls after your last watermark",
and the watermark is held back to tolerate reporting lag. That is a genuinely different thing from a
publication feed, and it is the honest description of what the source supports.
Who is it for?
- Government contractors who want the morning's new solicitations in their NAICS codes without logging into SAM.gov.
- Capture and BD teams tracking which competitors and prime contractors are winning work.
- Suppliers and subcontractors looking for primes who just won an award and now need vendors.
- Market and policy analysts measuring federal spend by agency, industry and geography.
- AI agent builders who need a federal-procurement tool with a stable output schema.
Use cases
- See new opportunities in your NAICS codes the morning they post, filtered to your keywords.
- Watchlist USAspending recipient IDs for competitors and get their wins flagged automatically.
- Track awards above a dollar threshold in one agency to size a market before bidding.
- Feed newly-awarded primes into a CRM as subcontracting prospects.
- Give an agent a tool that answers "what did this agency award in this industry recently?"
What you get
One row per opportunity or award, in a single shared schema. Fields that do not apply to a given
record type are null — the field is always present.
| Field | Type | Description |
|---|---|---|
recordType | string | opportunity or award |
noticeId | string | SAM.gov notice ID (opportunities only) |
awardId | string | USAspending award ID (awards only) |
title | string | Solicitation title, or for awards the award description truncated to 80 characters, falling back to the award ID |
agency | string | Awarding sub-agency where available, otherwise the top-tier agency |
naics | string | NAICS industry code |
postedDate | string | Date the opportunity was posted (opportunities only) |
actionDate | string | Award start date (awards only) |
responseDeadline | string | Bid response deadline (opportunities only) |
amount | number | Award amount in USD; for opportunities, the award amount where SAM.gov publishes one |
placeOfPerformance | object | Awards: { state }. Opportunities: { city, state, postcode, country } |
recipientUei | string | Award recipient Unique Entity Identifier (UEI; awards only) |
setAside | string | Set-aside type, e.g. small business, where either source publishes one |
pscCode | string | Product and Service Code (PSC; awards only) |
pscDescription | string | Product and Service Code description (awards only) |
description | string | Description text, truncated to 500 characters |
link | string | Link to the SAM.gov notice (opportunities only) |
matchedWatchlistItems | array | Names of the watchlist items this record matched |
newSinceLastRun | boolean | Whether this record is newer than the saved watermark |
retrievedAt | string | ISO 8601 timestamp of when this row was fetched |
Sample output record
{"recordType": "award","noticeId": null,"awardId": "80NSSC26P1199","title": "Research and development support services","agency": "National Aeronautics and Space Administration","naics": "336411","postedDate": null,"actionDate": "2026-08-06","responseDeadline": null,"amount": 111000,"placeOfPerformance": { "state": "CA" },"recipientUei": "JCBMLGPE6Z71","setAside": null,"pscCode": "D312","pscDescription": "IT AND TELECOM- OPTICAL SCANNING","description": "Research and development support services for propulsion test operations…","link": "https://www.usaspending.gov/award/CONT_AWD_80NSSC26P1199_8000_-NONE-_-NONE-","matchedWatchlistItems": [],"newSinceLastRun": true,"retrievedAt": "2026-08-22T14:37:17.082Z"}
How to use it
Track awards in your industry
awards is the default mode and needs no credentials.
{"mode": "awards","naicsCodes": ["541512"],"maxResults": 100}
Watch named competitors
Each watchlist item is a saved search. All criteria inside one item must match (AND); a record
matching any item (OR) gets that item's name added to matchedWatchlistItems. Set
watchlistOnly: true to emit only matches.
{"mode": "awards","naicsCodes": ["541512"],"watchlist": [{ "name": "cloud-rivals", "keyword": "cloud" }],"watchlistOnly": true,"maxResults": 100}
Follow live solicitations
opportunities mode reads SAM.gov, which requires an API key configured on the Actor as the
SAM_API_KEY environment variable. Free keys are issued from your own SAM.gov account settings.
{"mode": "opportunities","naicsCodes": ["541512"],"keywords": ["software"],"maxResults": 100}
Input parameters
| Input | Type | Description |
|---|---|---|
mode | string | awards = USAspending contract awards, no key needed. opportunities = live SAM.gov solicitations, requires SAM_API_KEY. Default: awards |
naicsCodes | array | NAICS industry codes to filter by, e.g. ["541512"] |
keywords | array | Keywords matched against titles and descriptions. Empty means no keyword filter |
agencies | array | Agency names to filter by. Awards use the awarding sub-agency; opportunities use the SAM.gov department filter. Empty means all agencies |
postedSince | string | ISO 8601 start time. Defaults to the previous successful run's watermark |
watchlist | array | Saved searches: { name, recipientId?, naics?, keyword? }. NAICS matching is by prefix |
watchlistOnly | boolean | Emit only records matching at least one watchlist item. Default: false |
maxResults | integer | Maximum records per run (1–1000). Default: 100 |
ueiOrDuns is still accepted as a backward-compatible alias for recipientId. In awards mode,
either field matches the recipient's USAspending internal recipient_id or its exact UEI.
How monitoring works (first run and scheduling)
The first run establishes the start-date watermark and returns the current window of records. To monitor later windows, schedule this Actor as a saved Task so runs share the same storage — the watermark lives in the task's key-value store. A fresh unsaved run starts a fresh baseline.
The watermark advances only after records and RUN_SUMMARY have been saved. A failed upstream
request leaves it unchanged, so a transient outage does not silently skip a window.
Honest limitations
awardsmode covers contracts, not every federal award type. USAspending's award search requires award-type codes; this Actor requests A–D, which is the contract set relevant to government contracting. Grants and loans are not included — see the grants Actor below.- Award titles are derived, because USAspending publishes no title field. The first 80 characters of the award description are used, falling back to the award ID when there is no description.
- The awards window keys on contract start date, not a publication timestamp, as explained above. Expect reporting lag between an award being signed and appearing.
opportunitiesmode requires a SAM.gov API key. Without it that mode returns anUNCONFIGUREDdiagnostic rather than rows.
Reliability
Per-source diagnostics are written to the RUN_SUMMARY key-value record — never into your paid
results. Failures carry structured reason codes. Every record carries retrievedAt, and
opportunities carry a link back to the official SAM.gov notice, so you can check any row against
the source yourself.
Maintained against the upstream APIs. If a source changes its schema or an endpoint moves, report it through the Issues tab and it gets fixed.
Integrations
Connect this Actor to Make, Zapier, n8n, Slack, Google Sheets, Airtable or any HTTP endpoint through Apify integrations. A scheduled run can push new awards straight into a CRM or fire a webhook so a downstream job starts the moment the data lands. Datasets export as JSON, CSV, Excel, XML, RSS or HTML.
API usage
curl -X POST "https://api.apify.com/v2/acts/oneshotventure~sam-feed/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"mode": "awards", "naicsCodes": ["541512"], "maxResults": 100}'
Python, JavaScript, PHP and CLI clients are documented under Apify API clients.
Use with AI agents (MCP)
This Actor is callable from any MCP-compatible client — Claude, Cursor, VS Code or your own agent — through the Apify MCP server. The input schema is fully described and every record uses one stable, flat JSON shape, so an agent can call it and read the result without a parsing step. Because it reads official government APIs rather than a rendered page, the answer an agent gets is the same one the source publishes.
Frequently asked questions
Is there a free SAM.gov API?
Yes — SAM.gov publishes an opportunities API and issues free keys from your account settings. USAspending's API needs no key at all. This Actor is the scheduling, normalization and change-feed layer over both.
How do I get a SAM.gov API key?
Sign in to SAM.gov, open your account details and request a public API key. It is then configured on
this Actor as the SAM_API_KEY environment variable to enable opportunities mode. awards mode
works without any key.
How do I track federal contract awards by NAICS code?
Run in awards mode with your codes in naicsCodes and schedule it as a saved Task. Each run
returns awards in the new window with newSinceLastRun set.
What is the difference between an opportunity and an award?
An opportunity is a solicitation that is still open — you can bid on it, and it has a
responseDeadline. An award is a contract that has already been signed, and it carries the dollar
amount. Different modes, same output schema.
Can I monitor which companies win contracts in my sector?
Yes, via watchlist items with a recipientId, naics prefix or keyword. Matching records are
annotated with the item's name in matchedWatchlistItems, and watchlistOnly: true restricts the
dataset to just those.
Does this include federal grants?
No. This Actor covers contracts. For federal funding opportunities use Grants.gov Monitor.
Why did my first run return a large batch?
The first run has no watermark, so it establishes a baseline over the current window. Schedule it as a saved Task and later runs return only the new records.
Related actors
- Grants.gov Monitor — new federal grant opportunities by keyword and agency.
- Federal Register Monitor — new rules, proposed rules and notices affecting your industry.
- Business Entity Search API — verify a contractor's registration against official company registries.
- US Product Recalls Monitor — CPSC and FDA enforcement actions.
Disclaimer
Unofficial independent tool. Not affiliated with or endorsed by the GSA, SAM.gov, USAspending, or any US government agency. Data is retrieved from their official public sources.