SAM.gov Contract Opportunities & Awards - No API Key
Pricing
from $2.00 / 1,000 results
SAM.gov Contract Opportunities & Awards - No API Key
U.S. federal contract opportunities and awards from SAM.gov's official public data extract: agency, NAICS, PSC, set-aside, deadline, place of performance, award amount, awardee company. Filters: keyword, agency, NAICS, type, state, set-aside, date. No API key. Unofficial; not affiliated with GSA.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
JP Open Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
SAM.gov Contract Opportunities & Awards — official public extract, no API key
Get U.S. federal contract opportunities and award notices from SAM.gov's official public Contract Opportunities data extract (GSA Data Services). There is no SAM.gov account and no API key. Every row comes in one clean English schema: agency, NAICS, PSC, set-aside, posting date, response deadline, place of performance (city and state), award number, award amount and the awarding company, plus a direct SAM.gov link.
- Official channel, not website scraping. SAM.gov's Terms of Use name its APIs and its Data Services extracts (
sam.gov/data-services) as the way it makes data available. This Actor downloads only the file marked Public there. It never scrapes the website or its internal search API. - Fast and light. The extract (about 70,000 active notices, refreshed daily) is sorted newest first. The Actor streams it and stops as soon as your date window and row limit are satisfied, so a recent-window search downloads only a fraction of the file (the Quick start reads about 2 MB) and finishes in seconds, in 2 requests.
- Privacy-safe by design. No contracting officers' names, e-mails or phone numbers, no notice descriptions, no street addresses. Awardee names are shown only for registered companies (LLC, Inc., Corp., Ltd., …).
Quick start — verified input
{"daysBack": 7,"maxItems": 20}
This returns the newest 20 notices posted in the last 7 days. An empty input {} does exactly the same.
A typical bid-monitoring input:
{"naicsCodes": ["541512", "541519"],"noticeTypes": ["solicitation", "combined_synopsis_solicitation", "sources_sought"],"setAsides": ["small business"],"onlyOpen": true,"daysBack": 14,"maxItems": 500}
What you get
One row per notice, newest first:
| Field | Description |
|---|---|
noticeId, samUrl | SAM.gov notice ID and the public notice page |
title, solicitationNumber | Notice title and solicitation number |
noticeType, noticeTypeLabel, baseNoticeType | solicitation, combined_synopsis_solicitation, presolicitation, sources_sought, special_notice, award_notice, justification, sale_of_surplus_property, intent_to_bundle; the SAM.gov label; the notice's original type |
department, subTier, office (+ departmentCode, subTierCode, officeCode) | Buying organization and its CGAC / FPDS / AAC codes |
officeCity, officeState, officeCountry | Location of the contracting office |
postedDate, postedDateTime | When the notice was posted (as published by SAM.gov) |
responseDeadline, responseDeadlineUtc, isOpenForResponses | Response deadline as published, in UTC when SAM.gov gives a time zone, and whether it is still in the future |
naicsCode, pscCode | Industry (NAICS) and product/service (PSC) codes |
setAsideCode, setAside | e.g. SBA / "Small Business Set Aside - Total", SDVOSBC, 8A, WOSB, HZC |
placeOfPerformanceCity, placeOfPerformanceState, placeOfPerformanceStateName, placeOfPerformanceCountry | Where the work is performed (city and state only) |
awardNumber, awardDate, awardAmount | Award details on award notices |
awardeeName, awardeeWithheld, awardeeWithheldReason | The awarding company (legal name only, address removed), or why it is withheld |
archiveType, archiveDate | When SAM.gov archives the notice |
matchedKeywords | Which of your keywords matched |
source, sourceUrl, license, retrievedAt | Attribution on every row |
Example output
{"noticeId": "fc6eefee8325431dbd05077d90c72f78","title": "R499--FY26 Lifeguard and Pool Maintenance Services (B+ OPT)","solicitationNumber": "36C24226Q0994","noticeType": "solicitation","noticeTypeLabel": "Solicitation","department": "VETERANS AFFAIRS, DEPARTMENT OF","subTier": "VETERANS AFFAIRS, DEPARTMENT OF","office": "242-NETWORK CONTRACT OFFICE 02 (36C242)","officeCode": "36C242","officeCity": "ALBANY","officeState": "NY","postedDate": "2026-10-11","postedDateTime": "2026-10-11T16:24:24","responseDeadline": "2026-10-20T10:00:00-04:00","responseDeadlineUtc": "2026-10-20T14:00:00.000Z","isOpenForResponses": true,"naicsCode": "561210","pscCode": "R499","setAsideCode": null,"awardeeName": null,"samUrl": "https://sam.gov/opp/fc6eefee8325431dbd05077d90c72f78/view","source": "SAM.gov Contract Opportunities public data extract (U.S. General Services Administration)","license": "U.S. Government work, public domain in the U.S. (17 U.S.C. 105); source: SAM.gov (GSA), public Contract Opportunities data extract. Points of contact and notice descriptions are omitted. Unofficial tool, not affiliated with or endorsed by GSA or SAM.gov.","retrievedAt": "2026-10-12T18:47:25.126Z"}
An award notice (abridged):
{"title": "47--TUBE ASSEMBLY,METAL,BRANCHED","noticeType": "award_notice","department": "DEPT OF DEFENSE","subTier": "DEFENSE LOGISTICS AGENCY","office": "DLA WEAPONS SUPPORT","naicsCode": "326122","awardNumber": "SPE7L327D60BH","awardDate": "2026-10-09","awardAmount": 350000,"awardeeName": "OSHKOSH DEFENSE LLC","awardeeWithheld": false,"samUrl": "https://sam.gov/opp/a0635b91fb0e40d2ad788133706d889e/view"}
Input
All fields are optional.
| Field | What to enter |
|---|---|
keywords | Words or phrases (whole words, any case), e.g. "cybersecurity", "janitorial". A notice matches if it contains ANY of them in the title, solicitation number or description. |
searchDescriptions | true (default) also searches the description. The description itself is never output. |
noticeTypes | Type codes above, SAM.gov labels, or words: award, RFI (sources sought), RFP/RFQ (solicitation + combined), opportunities. |
agencies | Part of the department / sub-tier / office name ("Navy", "Forest Service"), an abbreviation (DoD, VA, GSA, DHS, DLA, NASA, USACE, NIH, FAA …) or an agency code (097, 97AS, SPE4A5). |
naicsCodes | NAICS codes or prefixes (2–6 digits): "541512", "5415", "236". |
pscCodes | PSC codes or prefixes (1–4 characters): "R499", "D3", "59". |
setAsides | Codes (SBA, 8A, HZC, SDVOSBC, WOSB, EDWOSB, VSA, ISBEE, NONE …) or words: small business, 8(a), HUBZone, SDVOSB, WOSB, veteran, Indian, none, any. |
states | Place-of-performance states: "TX", "Virginia", "DC", "PR". |
useOfficeStateWhenNoPlace | Match states against the contracting office's state when a notice publishes no place of performance. |
daysBack | Notices posted in the last N days (default 7). 0 = every active notice in the extract. |
postedFrom, postedTo | Posting-day window, YYYY-MM-DD or MM/DD/YYYY (UTC days). |
deadlineFrom, deadlineTo | Response-deadline window, YYYY-MM-DD. |
onlyOpen | Only notices whose response deadline is still ahead. |
maxItems | Maximum rows, newest first (default 20, up to 100,000). |
proxyConfiguration | Not needed; SAM.gov answers Apify datacenter IPs. |
Common input mistakes
| Instead of | Use |
|---|---|
"states": ["Austin"] | "states": ["TX"] (cities are not states) |
"naicsCodes": ["software"] | "naicsCodes": ["5415"] and put words in keywords |
"setAsides": ["small biz"] | "setAsides": ["small business"] or ["SBA"] |
"noticeTypes": ["contract"] | "noticeTypes": ["award"] or ["solicitation"] |
"postedFrom": "last week" | "daysBack": 7 or "postedFrom": "2026-10-01" |
onlyOpen with noticeTypes: ["award"] | Award notices have no response deadline, so drop onlyOpen |
Invalid values stop the run at once, before anything is downloaded, with a message listing the valid values.
Empty results?
A run with no match succeeds with 0 rows (nothing is charged per row). Typical causes:
- A short window with narrow filters. Widen
daysBack, or use0to search every active notice. - About 3 in 4 notices publish no place-of-performance state (many supply notices). Turn on
useOfficeStateWhenNoPlaceor dropstates. onlyOpenor a deadline window drops notices without a deadline (most award and special notices).- A 6-digit NAICS code that no agency used in the window. Try its 4-digit prefix.
How it works
- One request to
https://sam.gov/api/prod/fileextractservices/v1/api/download/Contract Opportunities/datagov/ContractOpportunitiesFullCSV.csv?privacy=Public. SAM.gov answers with a temporary download link to its file storage. - The CSV (about 200 MB, refreshed once a day) is streamed newest first and decoded. The file mixes Windows-1252 and UTF-8 text; both are handled.
- Rows are normalized, filtered, sorted by posting time and pushed. The connection is closed once your window and
maxItemsare satisfied.
Requests are sequential, at least 1.2 s apart, use an honest User-Agent, and honor Retry-After. Only the public extract and its download link are ever requested; robots.txt is checked before each request.
What is deliberately not included
- Points of contact (contracting officers' names, e-mails, phones): personal data. Use
samUrlto reach the notice on SAM.gov. - Notice descriptions and attachments: descriptions often contain personal contact details. Keywords still search them.
- Street addresses and ZIP codes: places stop at city and state.
- Awardees that are not identifiable as companies (individuals, sole proprietors' trade names, "dba"/"c/o" names): withheld, with
awardeeWithheld: trueand a reason. - Awardees of awards dated before 2022-04-04: SAM.gov's Restricted Data Use terms say these may be Dun & Bradstreet data, which may not be redistributed in bulk.
Legal and disclaimer
- Unofficial / not affiliated. This Actor is an independent tool. It is not affiliated with, endorsed by or sponsored by the U.S. General Services Administration (GSA) or SAM.gov.
- Public data only. It reads only the SAM.gov Data Services file marked Public, which GSA also lists on data.gov as a public dataset. No login, no API key, no restricted or sensitive data.
- Your responsibility. You are responsible for using the data in line with the SAM.gov Terms of Use and applicable laws.
- GDPR / privacy. No personal contact data is output. Awardee names are limited to registered companies.
- Attribution. Works of the U.S. Government are in the public domain in the U.S. (17 U.S.C. 105). SAM.gov asks for citation and a link back; every row carries
source,sourceUrlandlicense.
FAQ
How fresh is the data? SAM.gov refreshes the extract once a day; the run summary (RUN_SUMMARY in the key-value store) shows the file's refresh time.
Does it return only new notices on a schedule? It returns the notices posted in your window. For daily monitoring, schedule it with daysBack: 1 or 2 and de-duplicate on noticeId.
Why do some awardees show null? See "What is deliberately not included". The award number, amount and date are still there.