SAM.gov Contract Opportunities Scraper — US Federal Tenders avatar

SAM.gov Contract Opportunities Scraper — US Federal Tenders

Pricing

from $0.90 / 1,000 contract opportunities

Go to Apify Store
SAM.gov Contract Opportunities Scraper — US Federal Tenders

SAM.gov Contract Opportunities Scraper — US Federal Tenders

US federal contract opportunities from SAM.gov's official public data extract (no API key): solicitations, sources sought, presolicitations and award notices with NAICS, PSC, set-aside, agency, deadline, place of performance and award amount. Filter by keyword, NAICS, set-aside, agency, state, date.

Pricing

from $0.90 / 1,000 contract opportunities

Rating

0.0

(0)

Developer

jules imbert

jules imbert

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 hours ago

Last modified

Share

SAM.gov Contract Opportunities Scraper: US federal tenders, set-asides and awards

Get US federal contract opportunities from SAM.gov as clean JSON/CSV/Excel: solicitations, combined synopsis/solicitations, presolicitations, sources sought, special notices and award notices. Each notice comes with NAICS, PSC, set-aside, agency/sub-tier/office, response deadline and days left, place of performance, award amount and awardee, and the SAM.gov link.

The data comes from SAM.gov's official public data extract (ContractOpportunitiesFullCSV, published by the U.S. General Services Administration and refreshed daily). There's no API key, no login, no browser and no scraping of the website. The roughly 200 MB file is streamed and filtered on the fly: it is sorted newest first, so a "last 3 days" run finishes in seconds.

Use cases

  • Bid alerts for contractors and small businesses: daily new solicitations for your NAICS codes and set-asides (SBA, 8(a), HUBZone, SDVOSB, WOSB…), sent to Slack, e-mail or a CRM.
  • Capture and BD teams: pipeline of sources-sought and presolicitation notices to shape opportunities early.
  • GovCon market intelligence: who is buying what, by agency, NAICS and state; who won (award notices with awardee and amount).
  • Tender aggregators and newsletters: feed a government-contracts site or a weekly digest.
  • AI agents: let an assistant search federal opportunities through the Apify MCP server or API.

How to get SAM.gov opportunities

  1. Set Posted within the last N days (default 7, prefilled 3).
  2. Add filters: keywords, NAICS or PSC prefixes, set-aside types, notice types, agencies, states, "response deadline not passed".
  3. Click Start, then export the dataset or call the Actor via API, Make, Zapier or n8n.
  4. For alerts, save a task with Only new notices since last run and schedule it daily.

Input examples

Small-business IT opportunities still open for response:

{
"postedWithinDays": 7,
"naicsCodes": ["5415"],
"setAsideCodes": ["SBA", "8A", "SDVOSBC"],
"noticeTypes": ["Solicitation", "Combined Synopsis/Solicitation"],
"openForResponseOnly": true,
"maxItems": 500
}

Daily janitorial and facilities alerts in Texas and Oklahoma:

{
"postedWithinDays": 2,
"keywords": ["janitorial", "custodial", "facility maintenance"],
"states": ["TX", "OK"],
"onlyNewSinceLastRun": true,
"stateKey": "facilities-tx-ok"
}

Output

{
"noticeId": "34f5c199765542849cee11334d7dcfd8",
"title": "Pilot Training Transformation Device Support Services IV (PTT DSS IV)",
"solicitationNumber": "FA300227RDSS4",
"noticeType": "Combined Synopsis/Solicitation",
"baseType": "Combined Synopsis/Solicitation",
"postedDate": "2026-10-26T11:21:41",
"responseDeadline": "2026-11-25T15:00:00-06:00",
"daysLeftToRespond": 28,
"active": true,
"archiveType": "autocustom",
"archiveDate": "2027-10-26",
"department": "DEPT OF DEFENSE",
"subTier": "DEPT OF THE AIR FORCE",
"office": "FA3002 338 ESS CC",
"cgac": "057",
"fpdsCode": "5700",
"aacCode": "FA3002",
"organizationType": "OFFICE",
"naicsCode": "541519",
"pscCode": "DB01",
"setAsideCode": "SBA",
"setAside": "Small Business Set Aside - Total",
"placeOfPerformance": { "street": null, "city": null, "state": null, "zip": "78150", "country": null },
"officeAddress": { "city": "JBSA RANDOLPH", "state": "TX", "zip": "78150-4300", "country": "USA" },
"award": null,
"url": "https://sam.gov/workspace/contract/opp/34f5c199765542849cee11334d7dcfd8/view",
"additionalInfoLink": null,
"description": "…",
"source": "SAM.gov Contract Opportunities public data extract (ContractOpportunitiesFullCSV), U.S. General Services Administration",
"scrapedAt": "2026-10-28T11:04:35.304Z",
"extractLastModified": "Wed, 28 Oct 2026 03:30:31 GMT"
}

Award notices fill award with { "number", "date", "amountUsd", "awardee" }. With includeContacts: true, a contacts array adds the points of contact published on the notice. The dataset has two views, Overview and Awards. RUN_STATS in the key-value store records rows scanned, why the run stopped and the extract's last-modified date.

Pricing (pay per event)

Apify planPer noticePer 1,000
Free$0.0015$1.50
Starter (Bronze)$0.00135$1.35
Scale (Silver)$0.001125$1.12
Business (Gold) and above$0.0009$0.90

Plus $0.001 per run start. Discounts apply automatically on paid Apify plans.

So 1,000 notices cost about $1.50. Platform usage is included. Rows removed by your filters are never charged. Set Maximum cost per run to cap spending.

Integrations and API

  • API: run the Actor and read results over HTTP or with the Apify Python and JavaScript clients (see the API tab for ready-made code).
  • Schedules: run it daily or weekly from Apify schedules.
  • Integrations: send results to Google Sheets, Slack, e-mail, Airtable or a webhook, or connect it to Make, Zapier or n8n.
  • AI agents: available as a tool through the Apify MCP server.

FAQ

Do I need a SAM.gov API key? No. The public extract is downloadable without a key; the Actor streams it for you.

How fresh is the data? SAM.gov regenerates the extract once a day (the run records its Last-Modified date). Notices published after that appear in the next day's file. For a minute-by-minute feed you would need the official API with your own key.

Why is placeOfPerformance sometimes empty? Many notices leave those fields blank in the source; the contracting office address is in officeAddress.

Are descriptions complete? The description is the text published in the extract. Attachments (RFP PDFs, SOWs) are on the SAM.gov page linked in url.

Can I get the whole history? Set postedWithinDays: 0 to scan the whole extract (it also contains older archived notices; slower, about 200 MB).

Is this legal? The extract is public U.S. government data provided by GSA for download and reuse. Contacts are excluded by default. Not affiliated with or endorsed by GSA or SAM.gov.

Other Actors by the same developer