SAM.gov Contract Opportunities & Awards - No API Key avatar

SAM.gov Contract Opportunities & Awards - No API Key

Pricing

from $2.00 / 1,000 results

Go to Apify Store
SAM.gov Contract Opportunities & Awards - No API Key

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

JP Open Data

Maintained by Community

Actor 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:

FieldDescription
noticeId, samUrlSAM.gov notice ID and the public notice page
title, solicitationNumberNotice title and solicitation number
noticeType, noticeTypeLabel, baseNoticeTypesolicitation, 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, officeCountryLocation of the contracting office
postedDate, postedDateTimeWhen the notice was posted (as published by SAM.gov)
responseDeadline, responseDeadlineUtc, isOpenForResponsesResponse deadline as published, in UTC when SAM.gov gives a time zone, and whether it is still in the future
naicsCode, pscCodeIndustry (NAICS) and product/service (PSC) codes
setAsideCode, setAsidee.g. SBA / "Small Business Set Aside - Total", SDVOSBC, 8A, WOSB, HZC
placeOfPerformanceCity, placeOfPerformanceState, placeOfPerformanceStateName, placeOfPerformanceCountryWhere the work is performed (city and state only)
awardNumber, awardDate, awardAmountAward details on award notices
awardeeName, awardeeWithheld, awardeeWithheldReasonThe awarding company (legal name only, address removed), or why it is withheld
archiveType, archiveDateWhen SAM.gov archives the notice
matchedKeywordsWhich of your keywords matched
source, sourceUrl, license, retrievedAtAttribution 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.

FieldWhat to enter
keywordsWords 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.
searchDescriptionstrue (default) also searches the description. The description itself is never output.
noticeTypesType codes above, SAM.gov labels, or words: award, RFI (sources sought), RFP/RFQ (solicitation + combined), opportunities.
agenciesPart 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).
naicsCodesNAICS codes or prefixes (2–6 digits): "541512", "5415", "236".
pscCodesPSC codes or prefixes (1–4 characters): "R499", "D3", "59".
setAsidesCodes (SBA, 8A, HZC, SDVOSBC, WOSB, EDWOSB, VSA, ISBEE, NONE …) or words: small business, 8(a), HUBZone, SDVOSB, WOSB, veteran, Indian, none, any.
statesPlace-of-performance states: "TX", "Virginia", "DC", "PR".
useOfficeStateWhenNoPlaceMatch states against the contracting office's state when a notice publishes no place of performance.
daysBackNotices posted in the last N days (default 7). 0 = every active notice in the extract.
postedFrom, postedToPosting-day window, YYYY-MM-DD or MM/DD/YYYY (UTC days).
deadlineFrom, deadlineToResponse-deadline window, YYYY-MM-DD.
onlyOpenOnly notices whose response deadline is still ahead.
maxItemsMaximum rows, newest first (default 20, up to 100,000).
proxyConfigurationNot needed; SAM.gov answers Apify datacenter IPs.

Common input mistakes

Instead ofUse
"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 use 0 to search every active notice.
  • About 3 in 4 notices publish no place-of-performance state (many supply notices). Turn on useOfficeStateWhenNoPlace or drop states.
  • onlyOpen or 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

  1. 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.
  2. 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.
  3. Rows are normalized, filtered, sorted by posting time and pushed. The connection is closed once your window and maxItems are 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 samUrl to 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: true and 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.
  • 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, sourceUrl and license.

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.