SAM.gov Federal Contract Opportunities & Awards API Sole Source avatar

SAM.gov Federal Contract Opportunities & Awards API Sole Source

Pricing

$2.50 / 1,000 notice delivereds

Go to Apify Store
SAM.gov Federal Contract Opportunities & Awards API Sole Source

SAM.gov Federal Contract Opportunities & Awards API Sole Source

Search SAM.gov for US federal procurement: bid opportunities, solicitations, sources sought, set aside, request for information, contract award notices. Filter by keyword, NAICS, agency, state. No login or API key. Monitor mode for contract alerts.

Pricing

$2.50 / 1,000 notice delivereds

Rating

0.0

(0)

Developer

Dennis Huckabee

Dennis Huckabee

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

SAM.gov Federal Contract Opportunities & Awards API

Turns SAM.gov into a clean, filterable feed — built for GovCon capture teams, procurement researchers and AI agents.

Search every US federal contract opportunity published on SAM.gov — solicitations, RFPs, RFQs, sources sought, presolicitations, special notices and award notices — and get them back as clean, flat JSON, CSV or Excel.

No SAM.gov login, no API key, no browser. The Actor streams the official public daily extract straight from GSA, so a default run finishes in a few seconds.

{
"keywords": ["cybersecurity"],
"naicsCodes": ["5415"],
"states": ["VA", "MD", "DC"],
"activeOnly": true,
"maxResults": 100
}

What a result looks like

Real notices from a live run on 2026-10-05:

TitleDepartmentCategoryDeadline
Micro Bus procurement, Naval Air Facility Atsugi (Japan)Dept of the NavyTransportation and Warehousing2026-11-02
Annual Psychological Evaluation Services (Psych Testing)Veterans AffairsMedical Services2026-10-08
USNS Point Loma (T-EPF 15) Mid-Term AvailabilityDept of DefenseMaintenance, Repair and Rebuilding of Equipment2026-10-20

Every row expands to the 39-field schema below, with a source URL.

Why use it

  • Everything SAM publishes, in one flat row per notice. 39 documented fields: agency, office, NAICS, PSC, set-aside, place of performance, deadline, archive date, award number, awardee and amount.
  • Codes you can actually read. Every notice carries naicsSector and pscCategory labels next to the raw codes, so "Q201" arrives as "Medical Services" and you can group results without a lookup table.
  • Real filters, applied before you pay. Keyword and exclude-keyword, NAICS and PSC prefixes, set-aside programs, agency, US state, notice category, minimum award amount.
  • Amendments are collapsed. Agencies re-post an amended notice under a new notice ID with the same solicitation number. By default you get the current version only, instead of paying three times for the same tender.
  • Monitor mode. onlyNew remembers what earlier runs with the same filters returned and delivers only what is new, so a daily schedule costs you only new notices.
  • No personal data. The official solicitation email is included so you can ask questions and submit. Contracting officer names, phone and fax numbers are deliberately not extracted.

Glossary

  • NAICS code — the category code for what's being bought, e.g. 5415 = computer systems design.
  • PSC code — Product/Service Code, GSA's finer-grained category, e.g. D = IT services, Q201 = medical services.
  • Set-aside — a contract reserved for a type of business: small business, 8(a), HUBZone, SDVOSB, WOSB and similar programs.
  • Sources sought — an early notice asking whether qualified vendors exist, published before a formal solicitation — a signal to start positioning early.
  • Solicitation number — a tender's reference number. Amended notices re-post under a new notice ID but keep the same solicitation number, which is how we collapse amendments to the latest version.
  • Combined Synopsis/Solicitation — a notice type that combines the "we're buying this" announcement with the actual request for proposals, common for simplified federal buys.

Use cases

  • Bid pipeline: a daily feed of new solicitations matching your NAICS codes and set-aside eligibility.
  • Competitor and market research: pull award notices to see who wins what, for how much, at which agency.
  • Capture planning: track sources sought and presolicitations months before the RFP drops.
  • Teaming: find prime opportunities in your state and PSC category.
  • Feed an AI agent or CRM: a stable, documented schema with one source URL per notice.

Ready-made searches

Run one of these presets as-is, or open it and change the filters:

PresetWhat it returns
Federal IT & software contractsSoftware, IT services, cloud and cybersecurity — solicitations plus sources sought (NAICS 5112, 5182, 5415)
Small business set-aside contractsOpportunities reserved for small business, 8(a), HUBZone, SDVOSB, WOSB and EDWOSB
Federal construction contractsConstruction, renovation and facilities work (NAICS 236–238, PSC Y and Z)
Federal contract awardsWho won, contract number, dollar amount and award date, over the last 30 days

Input examples

Run with defaults — the 100 newest active solicitations from the last 3 days:

{}

IT services for a small business in the DC area:

{
"naicsCodes": ["5415", "5182"],
"pscCodes": ["D"],
"states": ["VA", "MD", "DC"],
"onlySetAside": true,
"postedWithinDays": 7,
"maxResults": 200
}

Daily monitor for construction opportunities, on a schedule:

{
"naicsCodes": ["236", "237", "238"],
"noticeCategories": ["opportunity", "planning"],
"postedWithinDays": 2,
"onlyNew": true,
"maxResults": 500
}

Who won what at the VA, over $1M:

{
"noticeCategories": ["award"],
"agencies": ["VETERANS AFFAIRS"],
"minAwardAmount": 1000000,
"postedWithinDays": 90,
"activeOnly": false,
"maxResults": 1000
}

All inputs

InputTypeDefaultWhat it does
keywordsarray–Title or description contains any of these words
excludeKeywordsarray–Drop notices mentioning any of these words
naicsCodesarray–NAICS codes or prefixes; 541 includes 541511
pscCodesarray–PSC/FSC codes or prefixes; D = all IT services
noticeCategoriesarray["opportunity"]opportunity, planning, award, other
postedWithinDaysinteger3How far back to search, 1–365
activeOnlybooleantrueDrop archived notices and passed deadlines
onlySetAsidebooleanfalseOnly small-business and similar set-asides
setAsideCodesarray–Exact codes, e.g. SBA, 8A, HZC, SDVOSBC, WOSB
agenciesarray–Substring match on department, sub-tier or office
statesarray–2-letter state codes; place of performance, else office
minAwardAmountinteger–Awards only: skip anything below this USD amount
latestPerSolicitationbooleantrueCollapse amended re-posts to the newest version
onlyNewbooleanfalseMonitor mode: only notices not seen in earlier runs
maxResultsinteger100Stop after this many notices
fitPreferredKeywordsarray–Fit score: nice-to-have words, scored but not required
fitMinValueinteger–Fit score: award value (USD) you'd consider a strong fit
fitMinDaysUntilDeadlineinteger–Fit score: days' notice you need to respond

Fit score (optional)

Set any of fitPreferredKeywords, fitMinValue or fitMinDaysUntilDeadline and every item gets a deterministic, rule-based fitScore (0-100), a plain-English fitReason list, and a recommendedAction (review_now, review, monitor or skip). This is a transparent scoring formula against your own stated preferences, not an AI prediction — the same notice always gets the same score for the same inputs. Leave all three unset (the default) and these fields come back null; nothing else about the run changes.

{
"keywords": ["software"],
"fitPreferredKeywords": ["cloud", "cybersecurity", "data"],
"fitMinDaysUntilDeadline": 14
}

Output

One flat object per notice. Example:

{
"noticeId": "bd9a807967684cbfac5c529dbfda8738",
"solicitationNumber": "36C24426Q0950",
"title": "Q201--Post-Op Medical Companion Services at VA Pittsburgh Healthcare Center",
"description": "Please see amendment 0004.",
"noticeType": "Combined Synopsis/Solicitation",
"noticeCategory": "opportunity",
"baseType": "Combined Synopsis/Solicitation",
"isActive": true,
"department": "VETERANS AFFAIRS, DEPARTMENT OF",
"subTier": "VETERANS AFFAIRS, DEPARTMENT OF",
"office": "244-NETWORK CONTRACT OFFICE 4 (36C244)",
"organizationType": "OFFICE",
"officeCity": "PITTSBURGH",
"officeState": "PA",
"officeZip": "15215",
"officeCountry": "USA",
"naicsCode": "621610",
"naicsSector": "Health Care and Social Assistance",
"pscCode": "Q201",
"pscCategory": "Medical Services",
"setAsideCode": "SDVOSBC",
"setAside": "Service-Disabled Veteran-Owned Small Business (SDVOSB) Set-Aside (FAR 19.14)",
"isSetAside": true,
"placeOfPerformance": null,
"placeOfPerformanceState": null,
"placeOfPerformanceCountry": null,
"postedDate": "2026-09-27",
"responseDeadline": "2026-09-29T23:59:00-04:00",
"daysUntilDeadline": 1,
"archiveDate": "2026-11-28",
"archiveType": "autocustom",
"awardNumber": null,
"awardDate": null,
"awardAmount": null,
"awardee": null,
"buyerContactEmail": "eleanor.robbins@va.gov",
"url": "https://sam.gov/opp/bd9a807967684cbfac5c529dbfda8738/view",
"additionalInfoLink": null,
"fitScore": null,
"fitReason": [],
"recommendedAction": null,
"scrapedAt": "2026-09-28T22:15:46.445Z"
}

Every field is documented in the dataset schema, and the dataset has two ready-made views: Opportunities and Awards (winner, contract number, amount). Download as JSON, CSV, Excel or HTML, or fetch through the Apify API.

Pricing

You pay per notice delivered, with no subscription. A default run (no filters) typically delivers 100 notices for about $0.25; a narrow NAICS or keyword search that returns 10-20 notices costs $0.025-$0.05. Set Maximum results or a maximum cost per run to cap spending.

In monitor mode you pay only for notices that are new to you, and amendments of a notice you already have are free because they are collapsed. "New" is tracked per exact combination of filters (keywords, NAICS, PSC, set-aside, agency, state) under your own Apify account: change any filter and the next run starts fresh and bills for everything it finds, same filters again and you only pay for what's new since last time.

Data source & licence

Data comes from the SAM.gov Contract Opportunities public data extract, published by the US General Services Administration at sam.gov/data-services and mirrored on data.gov. It is a public, unauthenticated file: no login, no API key, no rate limit, and no terms restricting reuse.

Works of the US federal government are not subject to copyright in the United States (17 U.S.C. § 105) and are in the public domain, so commercial reuse is permitted. Checked 2026-09-28: the extract carries no additional licence or non-commercial restriction.

This Actor is not affiliated with, endorsed by or sponsored by SAM.gov, GSA or any US government agency. Always check the official notice on SAM.gov before bidding.

FAQ

How fresh is the data? SAM.gov rebuilds the public extract every morning (US Eastern time), so notices appear within a day of being posted. postedDate tells you exactly when each one went up.

Do I need a SAM.gov account or API key? No. This uses the public extract, so there is nothing to register, no key to rotate and no rate limit to hit.

Why is placeOfPerformance often empty? Most agencies leave those columns blank in the extract. When they do, the states filter falls back to the contracting office's state, and officeState is always populated.

Why is awardAmount null on an award notice? Some agencies publish the award without a dollar figure. Placeholder values of $1 or less are treated as unpublished.

Are attachments included? Attachment files are not in the public extract. url links to the notice page on SAM.gov where the attachments live, and additionalInfoLink holds any extra link the agency published.

Does this cover state and local contracts? No, SAM.gov is federal. For EU, UK and a merged US feed, see our Government Tenders API.

Why don't you return contracting officer names and phone numbers? Deliberate policy: we publish the official solicitation email, which is the channel agencies ask you to use, but we don't harvest individuals' personal contact details.

Something broke or a field is missing? Open an issue on the Issues tab. Issues are answered quickly.