SAM.gov Contract Opportunities Monitor avatar

SAM.gov Contract Opportunities Monitor

Pricing

from $3.00 / 1,000 opportunities

Go to Apify Store
SAM.gov Contract Opportunities Monitor

SAM.gov Contract Opportunities Monitor

Monitor SAM.gov for new federal contract opportunities. Filter by NAICS, set-aside, notice type, keyword, state and deadline. Returns clean, flat records with contacts and attachments, and only NEW notices since your last run.

Pricing

from $3.00 / 1,000 opportunities

Rating

0.0

(0)

Developer

Purvin Patel

Purvin Patel

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

12 days ago

Last modified

Categories

Security

Limited permissions

Share

Get new federal contract opportunities from SAM.gov every day, filtered to exactly what your business can bid on, as clean spreadsheet-ready rows with contacts, deadlines and attachment links.

Built on the official SAM.gov Opportunities API (with your own free key), so it is reliable, fast and fully within SAM.gov's terms.

Why use it

  • ✅ Only new notices: remembers what it already sent you, so a daily schedule gives you just the fresh opportunities. No duplicates.
  • 🎯 Precise filters: NAICS codes, set-aside types (Small Business, 8(a), HUBZone, SDVOSB, WOSB…), notice types, title keywords, state, and minimum days until the deadline.
  • 🧹 Clean output: agency split into department / sub-tier / office, primary contact name, email and phone, deadline with days left, place of performance, attachments, award details and a direct SAM.gov link.
  • 📬 Plugs into anything: export to Excel/CSV/JSON, or connect Slack, email, Google Sheets, Zapier or Make with Apify integrations.
  • 🛡️ Clear errors: tells you if your API key is wrong or your daily SAM.gov limit is reached, instead of silently returning nothing.

Who it's for

Government contractors, small businesses pursuing set-asides, bid and proposal consultants, BD teams and lead-gen agencies.

How to get your free SAM.gov API key (about 5 minutes)

The key is free and anyone can get one. You don't need to be registered as a government contractor.

1. Create a SAM.gov account (skip if you have one)

  1. Go to sam.gov and click Sign In (top right).
  2. SAM.gov uses Login.gov for sign-in. Click Create an account, enter your email, confirm it, set a password, and set up two-factor authentication (text message or an authenticator app).
  3. You'll be returned to SAM.gov. Accept the terms and finish your basic profile (name, etc.). You do not need an entity or UEI registration.

2. Generate your public API key

  1. While signed in, click your name or profile icon (top right) and choose Account Details.
  2. Scroll to the Public API Key section.
  3. Click Request API Key (or the eye icon to view an existing key). SAM.gov asks you to re-enter your password.
  4. Copy the key right away. SAM.gov only shows it until you leave the page. Save it somewhere safe, like a password manager.

3. Paste it into this Actor

  • Paste the key into the SAM.gov public API key field. Apify stores it encrypted, and it never appears in run logs.

Good to know

  • Keys expire after about 90 days. SAM.gov emails you before it expires. Generate a new key on the same Account Details page and paste it into your saved task.
  • A brand-new key can take a few minutes to start working.
  • If the Actor says your key wasn't accepted, check you copied the whole key without spaces, and that it hasn't expired.

Example input

{
"apiKey": "YOUR_SAM_GOV_KEY",
"postedWithinDays": 3,
"naicsCodes": ["541511", "541512"],
"setAsides": ["SBA", "SDVOSBC"],
"noticeTypes": ["o", "k", "p", "r"],
"minDaysToDeadline": 7,
"onlyNew": true
}

Tip: schedule it daily with postedWithinDays: 3. The overlap guarantees nothing is missed, and "Only new notices" removes the repeats.

Example output

{
"noticeId": "a1b2c3...",
"title": "IT Help Desk Support Services",
"solicitationNumber": "47QTCA26R0012",
"type": "Combined Synopsis/Solicitation",
"agency": "GENERAL SERVICES ADMINISTRATION / FEDERAL ACQUISITION SERVICE",
"office": "GSA/FAS CENTER FOR IT SCHEDULE PROG",
"postedDate": "2026-10-19",
"responseDeadline": "2026-11-05T14:00:00-05:00",
"daysToDeadline": 16,
"setAside": "Total Small Business Set-Aside (FAR 19.5)",
"setAsideCode": "SBA",
"naicsCode": "541511",
"placeOfPerformanceState": "IL",
"contactName": "Jane Smith",
"contactEmail": "jane.smith@gsa.gov",
"contactPhone": "555-555-0100",
"attachments": ["https://sam.gov/api/prod/opps/v3/opportunities/resources/files/.../download"],
"samUrl": "https://sam.gov/opp/a1b2c3.../view"
}

Also included: department, subTier, classificationCode, all contacts, awardAmount, awardeeName, awardeeUei, descriptionUrl, and optionally the full description text.

Input reference

FieldWhat it does
SAM.gov public API keyRequired. Your free key from SAM.gov.
Posted within the last N daysDate window (1–365). Default 3.
NAICS codesOne or more industry codes. Empty = all.
Title keywordsMatch words in the notice title.
Set-aside typesSmall Business, 8(a), HUBZone, SDVOSB, WOSB, EDWOSB and more.
Notice typesSolicitation, Combined Synopsis/Solicitation, Presolicitation, Sources Sought, Award, etc. Default: the four types you can respond to.
Place of performance stateTwo-letter code, e.g. VA.
Minimum days until deadlineSkip notices closing too soon.
Only active noticesSkip archived notices (default on).
Only new noticesReturn only notices not seen in earlier runs with the same filters (default on).
Fetch full description textAdds the full notice text; uses one extra SAM.gov request per notice.
Maximum resultsSafety cap per run.

SAM.gov request limits

SAM.gov limits how many API requests each key can make per day, and personal (non-federal) keys get a small allowance, often only a few dozen requests a day. This Actor is built around that limit:

  • It fetches 1,000 notices per request. A typical daily monitor uses 1 request per search.
  • Each NAICS × set-aside × keyword combination is a separate search. 3 NAICS codes × 1 set-aside = 3 requests. Combine codes into fewer searches where you can.
  • Full description text costs 1 extra request per notice. Leave it off for daily monitoring and open the notice with samUrl or descriptionUrl instead, or turn it on only for very narrow searches.
  • If the daily limit is reached, the run stops cleanly, keeps everything found so far, and tells you. Tomorrow's run picks up where it left off, because "Only new" remembers what you've already received.

FAQ

Does it scrape the SAM.gov website? No. It uses the official public API with your key.

Will amendments show up? SAM.gov gives amended notices their own notice ID, so amendments appear as new rows. That's handy for tracking changes.

Can I run several saved searches? Yes. Create one Apify task per search. "Only new" memory is kept separately for each distinct set of filters.

Is this affiliated with SAM.gov or GSA? No. This is an independent tool that uses the public SAM.gov API.

Support

Found a problem or need a feature (e.g. Slack-ready summaries, agency filters)? Open an issue on the Actor's Issues tab. I typically respond within one business day.