SAM.gov Scraper - Federal Contract Opportunities & Bids avatar

SAM.gov Scraper - Federal Contract Opportunities & Bids

Pricing

from $2.13 / 1,000 opportunity delivereds

Go to Apify Store
SAM.gov Scraper - Federal Contract Opportunities & Bids

SAM.gov Scraper - Federal Contract Opportunities & Bids

Scrape SAM.gov Contract Opportunities without an API key: solicitations, sources sought and awards by keyword, NAICS, PSC, set-aside, agency, state and dates, with deadlines, contacts, attachments and awardee. US$ 2 per 1,000.

Pricing

from $2.13 / 1,000 opportunity delivereds

Rating

0.0

(0)

Developer

Scrapewise Data

Scrapewise Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

SAM.gov Scraper: federal contract opportunities, bids and awards

Scrape SAM.gov Contract Opportunities (the former FedBizOpps) without an API key or an account. Search by keyword or just by filters and get every notice the US federal government publishes: solicitations, combined synopsis/solicitations, pre-solicitations, sources sought, special notices and award notices, with agency, office, solicitation number, posted date, response deadline, NAICS, PSC, set-aside, place of performance, full description, the official contracting contact, attachment links and, for awards, the winner, award number, date and amount.

Filter by notice type, NAICS, PSC, small-business set-aside (8(a), HUBZone, SDVOSB, WOSB...), agency or office, state and ZIP of performance, posted date and response deadline. SAM.gov applies every filter itself, so you only pay for what you asked for.

Built for government contractors and capture teams, bid-matching and GovCon SaaS tools, BD and proposal managers, small businesses looking for set-asides, and analysts tracking who wins federal contracts.

US$ 2.00 per 1,000 opportunities, detail page included. No start fee, no monthly fee, no API key. Error rows, duplicates and notices outside your filters are free.

At a glance

  • Price per 1,000 opportunities, Free plan: US$ 2.00
  • Fee per run start: None
  • Needs your own SAM.gov API key: No
  • Detail page (contacts, NAICS, PSC, set-aside, attachments) at no extra cost: Yes
  • Filters: notice type, NAICS, PSC, set-aside, agency, state, ZIP, dates: Yes, all applied by SAM.gov
  • Award notices with winner, UEI, CAGE and amount: Yes
  • Resumes after a platform restart without charging twice: Yes

What you can do with it

  • Daily bid feed. naicsCodes: ["541511", "541512"], noticeTypes: ["solicitation", "combinedSynopsisSolicitation"], openDeadlineOnly: true, scheduled every morning: every open IT solicitation with deadline, set-aside and contact.
  • Small-business set-asides. setAsides: ["SBA", "8A", "SDVOSBC"] plus a state such as placeOfPerformanceStates: ["VA"].
  • Watch an agency. agencies: ["Dept of the Navy"] (sub-offices included) or ["Veterans Affairs"].
  • Competitive intelligence. noticeTypes: ["awardNotice"] with a NAICS code returns who won, the award number, date and amount, and the winner's UEI and CAGE code.
  • Market research. Sources sought and pre-solicitations tell you what agencies will buy months ahead.
  • Reuse a SAM.gov page. Paste an opportunity link (https://sam.gov/opp/<id>/view) or a SAM.gov search link.
  • Feed a CRM, a spreadsheet or a bid-matching app. Export CSV, Excel or JSON, or call it through the Apify API.

Input

FieldWhat it does
searchTermsKeywords, one per line. Each is a separate search. Leave empty to search only by filters.
keywordModeall words (default), any word, or exact phrase.
startUrlsSAM.gov opportunity links, 32-character notice ids, or SAM.gov search links.
noticeTypessolicitation, combinedSynopsisSolicitation, presolicitation, sourcesSought, specialNotice, awardNotice, justification, justificationAndApproval, intentToBundle, saleOfSurplusProperty, modification.
naicsCodesNAICS codes (541511, 236220...).
pscCodesProduct Service Codes (7030, R425, J059...).
setAsidesSAM.gov set-aside codes: SBA, SBP, 8A, 8AN, HZC, HZS, SDVOSBC, SDVOSBS, WOSB, WOSBSS, EDWOSB, EDWOSBSS, LAS, IEE, ISBEE, BICiv, VSA, VSS.
agenciesDepartments, agencies or offices by name or SAM.gov organization id. Sub-offices included.
placeOfPerformanceStates / placeOfPerformanceZipTwo-letter states / 5-digit ZIP codes.
statusactive (default), inactive or all.
postedFrom, postedToPosted (or updated) date range, YYYY-MM-DD.
responseDeadlineFrom, responseDeadlineToResponse deadline range, YYYY-MM-DD.
sortBynewest (default), oldest, relevance.
includeDetailsRead each notice's detail page (on by default, same price).
maxResultsPerSearchOpportunities per keyword or link. Default 100, up to 10,000 (SAM.gov's own cap per search).
maxItemsHard cap on charged opportunities for the whole run.
openDeadlineOnlySkip notices whose response deadline has passed or is missing (free).
excludeKeywordsSkip notices whose title has any of these words (free).

Example: open small-business IT solicitations in Virginia, Maryland and DC.

{
"naicsCodes": ["541511", "541512", "541519"],
"noticeTypes": ["solicitation", "combinedSynopsisSolicitation"],
"setAsides": ["SBA"],
"placeOfPerformanceStates": ["VA", "MD", "DC"],
"openDeadlineOnly": true,
"maxResultsPerSearch": 500
}

An empty input runs a small example (20 opportunities for "software"), so the Actor never fails on a blank form.

Output

One real row from a local test run on 2026-09-29 (search "software"; the contact name is shortened):

{
"type": "opportunity",
"noticeId": "8efe146d6e4a407795fa7039f6098edf",
"title": "NDU NIC Lifecycle Replacement",
"noticeType": "Award Notice",
"noticeTypeCode": "a",
"solicitationNumber": "HQ0100631522",
"url": "https://sam.gov/opp/8efe146d6e4a407795fa7039f6098edf/view",
"active": true,
"cancelled": false,
"postedDate": "2026-09-30T00:29:13.678+00:00",
"modifiedDate": "2026-09-30T00:29:13+00:00",
"responseDeadline": null,
"responseTimeZone": null,
"archiveDate": "2026-10-14",
"department": "DEPT OF DEFENSE",
"subTier": "DEPT OF THE NAVY",
"office": "NAVSUP FLT LOG CTR NORFOLK",
"officeCode": "N00189",
"agencyPath": "DEPT OF DEFENSE > DEPT OF THE NAVY > NAVSUP > NAVSUP GLOBAL LOGISTICS SUPPORT > NAVSUP FLC NORFOLK > NAVSUP FLT LOG CTR NORFOLK",
"organizationId": "500021468",
"officeCity": "NORFOLK",
"officeState": "VA",
"officeZip": "23511-3392",
"officeCountry": "USA",
"naicsCode": "541519",
"naicsCodes": ["541519"],
"pscCode": "7B22",
"setAsideCode": null,
"setAside": null,
"placeOfPerformance": {"city": "Washington", "state": "DC", "stateName": "District of Columbia", "zip": "20319", "country": "USA"},
"description": null,
"awardNumber": "NNG15SC59B",
"awardDate": "2026-09-29",
"awardAmount": 1352864.19,
"awardeeName": "AFFIGENT, LLC",
"awardeeUei": "M46UYYHVH4B1",
"awardeeCageCode": "3NBK4",
"awardeeCity": "Herndon",
"awardeeState": "Virginia",
"awardeeZip": "20171",
"awardeeCountry": "UNITED STATES",
"contacts": [{"type": "primary", "name": "Rubean Joy Varghese", "title": null, "email": "rubean.varghese@navy.mil", "phone": null, "fax": null}],
"attachments": [{"name": "NDU NIC Exception to Fair Opportunity (Redacted).pdf", "type": "file", "mimeType": ".pdf", "sizeBytes": 134705, "postedDate": "2026-09-30T00:29:13.678+00:00", "access": "public", "exportControlled": false, "url": "https://sam.gov/api/prod/opps/v3/opportunities/resources/files/99f3e411ec2a43abaf07b63a3763fa3f/download"}],
"parentNoticeId": null,
"modificationCount": 0,
"detailsLoaded": true,
"searchTerm": "software",
"position": 1,
"source": "term:software",
"scrapedAt": "2026-09-30T02:48:11Z",
"errorCode": null,
"error": null
}
  • responseDeadline keeps SAM.gov's own time zone offset; responseTimeZone names it.
  • attachments[].url is SAM.gov's public download link (it redirects to the file). Controlled attachments show access other than public and no URL.
  • contacts is the official contracting contact the agency published on the notice. It is returned only when its email is a government address (.gov, .mil, .us) or there is no email; any other contact keeps only its type.
  • With includeDetails: false, rows carry the search fields only (title, type, agency path, dates, solicitation number, awardee name and UEI) and detailsLoaded is false. If a detail page does not answer, the row is still delivered with the search fields and detailsLoaded: false.

The run also saves SEARCH_SUMMARY in its key-value store: for each keyword or link, how many notices SAM.gov has for it and how many were delivered (free).

Error rows (never charged)

errorCodeWhen
NO_RESULTSSAM.gov has no notices for this keyword with these filters.
NOT_FOUNDThe opportunity link or id does not exist or is not public.
INVALID_URLThe link is not a SAM.gov opportunity or search link.
BLOCKEDSAM.gov refused every attempt for that search.
INVALID_INPUTA field has a value the Actor cannot use (the message says which).
UNEXPECTEDAnything else; the rest of the run continues.

Pricing

Pay per event, no start fee:

EventPrice per 1,000 (Free plan)Charged for
Opportunity deliveredUS$ 2.00each unique notice, with its detail page when includeDetails is on

Examples: 1,000 opportunities cost US$ 2.00. A daily feed of 100 new notices costs about US$ 6 per month. Error rows, duplicates and filtered-out notices are free, and maxItems is a hard stop.

How it works and limits

  • It reads the same public search and notice pages any visitor sees on SAM.gov. No login, no API key.
  • SAM.gov returns at most 10,000 notices per search. For bigger pulls, split by date range, NAICS or agency.
  • The order is SAM.gov's own (newest update first by default).
  • Posted dates in SAM.gov are filtered by the notice's latest version, so an old notice updated inside your range also shows up.
  • Speed in our tests: 250 notices without detail pages in 2 s; 400 notices with detail pages and attachments in 35 s.

FAQ

Do I need a SAM.gov account or API key? No. Everything comes from public pages.

Can I get only new notices every day? Yes: schedule the Actor with postedFrom set to yesterday (or use sortBy: newest with a small maxResultsPerSearch).

Does it download the attachment files? It returns each attachment's name, type, size and public download link; the files themselves are not downloaded.

What if the run is restarted by the platform? Notices already in the dataset are not charged again: the Actor reads its own dataset when it starts and skips what was delivered.

Changelog

  • 0.1 (2026-09-29): first version: keywords, filters (notice type, NAICS, PSC, set-aside, agency, state, ZIP, posted and response dates, status), opportunity and search links, detail pages with contacts and attachments, award data, resume after restart.

Independent tool, not affiliated with the U.S. General Services Administration or SAM.gov.