SAM.gov Contract Opportunities avatar

SAM.gov Contract Opportunities

Pricing

$5.00 / 1,000 result rows

Go to Apify Store
SAM.gov Contract Opportunities

SAM.gov Contract Opportunities

Search live US federal contract opportunities on SAM.gov by keyword, notice type, NAICS and date. Clean JSON/CSV: title, agency, solicitation number, dates, set-aside, link.

Pricing

$5.00 / 1,000 result rows

Rating

0.0

(0)

Developer

Maybe Quark

Maybe Quark

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

SAM.gov Contract Opportunities Search: Federal Solicitations by NAICS

SAM.gov Contract Opportunities searches the public SAM.gov opportunities index and returns US federal contract notices as clean rows: title, notice type, solicitation number, department and office, NAICS codes, set-aside, published date, response deadline, place of performance, award amount and awardee (on award notices), a short description and the direct SAM.gov link. Export JSON, CSV or Excel, or schedule it for a daily bid feed. No login or API key is needed.

Input

All fields are optional. This example finds janitorial notices updated in the last 14 days, limited to solicitations and combined synopsis/solicitations under NAICS 561720:

{
"keywords": "janitorial",
"noticeTypes": ["o", "k"],
"naics": ["561720"],
"activeOnly": true,
"postedWithinDays": 14,
"maxResults": 120
}
  • keywords: words to search, such as janitorial, HVAC, cybersecurity.
  • noticeTypes: o Solicitation, p Presolicitation, k Combined Synopsis/Solicitation, r Sources Sought, a Award Notice, s Special Notice, g Sale of Surplus, i Intent to Bundle, u Justification. Empty means all.
  • naics: NAICS codes such as 561720. Empty means all.
  • activeOnly: only opportunities still open for response (default true).
  • postedWithinDays: only notices posted or modified in the last N days; 0 means any time (default 30).
  • maxResults: stop after this many opportunities (default 200, maximum 10000).

Output

One row per notice, most recently modified first. Example row (an award notice):

{
"title": "Janitorial services",
"noticeType": "Award Notice",
"solicitationNumber": "FY26R3141022",
"department": "INTERNATIONAL BOUNDARY AND WATER COMMISSION: U.S.-MEXICO",
"office": "INTERNAT. BOUNDARY AND WATER COMM.",
"naics": null,
"setAside": null,
"publishedAt": "2026-10-08T13:23:48+00:00",
"responseDue": null,
"modifiedAt": "2026-10-08T13:23:48+00:00",
"isActive": true,
"placeOfPerformance": null,
"awardAmount": null,
"awardee": "HARMONBK LLC",
"description": "Award was made to HARMONBK LLC for $29,929.20 .",
"url": "https://sam.gov/opp/4484819093a44892b75f9ecb7e15e9a2/view",
"noticeId": "4484819093a44892b75f9ecb7e15e9a2"
}

Fields SAM.gov does not publish for a notice come back as null.

Use cases

Search phrases this actor is built for:

  • "SAM.gov contract opportunities by NAICS": pass one or more NAICS codes in naics.
  • "Search federal contract opportunities by keyword": enter your trade in keywords and keep activeOnly on.
  • "Federal contract solicitations with set-aside notices": read the setAside and noticeType fields, or filter with noticeTypes such as r Sources Sought.

Small contractors, bid writers and consultants use it to get today's solicitations without paging through SAM.gov.

Pricing

Pay per result: each opportunity row returned is one billable result, listed at $0.005 per row ($5 per 1,000). Set a maximum charge on the run for a hard ceiling.

Limits

  • Data comes from SAM.gov's public search, the same data shown on the website. Descriptions are trimmed to 2,000 characters.
  • postedWithinDays filters on the notice's last-modified date.
  • maxResults is capped at 10,000 per run.
  • Attachments and full solicitation documents are not downloaded; use the url field.

FAQ

Does it need a SAM.gov account or API key? No.

Does keyword search work like SAM.gov's own? Yes, it passes your keywords to SAM.gov's search and matches titles and descriptions the same way.

Can I get award notices? Yes. Set noticeTypes to ["a"] and set activeOnly to false if you want older awards.