SAM.gov Contract Opportunities Monitor avatar

SAM.gov Contract Opportunities Monitor

Pricing

from $0.06 / 1,000 opportunity saveds

Go to Apify Store
SAM.gov Contract Opportunities Monitor

SAM.gov Contract Opportunities Monitor

Monitor US federal contract opportunities from SAM.gov with filters, normalized fields, direct notice links, and relevance scoring.

Pricing

from $0.06 / 1,000 opportunity saveds

Rating

0.0

(0)

Developer

Hanna Nosova

Hanna Nosova

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Find and monitor US federal contract opportunities from SAM.gov with keyword, agency, date, NAICS, PSC, notice type, and active-status filters.

Use this Actor to turn public federal procurement notices into a clean dataset for capture management, bid/no-bid triage, sales prospecting, research, and recurring opportunity monitoring.

What does SAM.gov Contract Opportunities Monitor do?

This Actor searches US federal contract opportunity notices and saves matching opportunities as structured records.

It is designed for repeat monitoring workflows where you need clean rows, useful filters, and direct links back to the original notice.

You can search by capability terms such as cybersecurity, construction, janitorial, cloud, medical supplies, staffing, training, or logistics.

Each saved row includes opportunity title, solicitation number, notice type, agency hierarchy, dates, status, summary, direct SAM.gov link, relevance score, and matched keywords when available.

Who is it for?

  • ๐Ÿ›๏ธ Government contractors tracking new federal opportunities
  • ๐ŸŽฏ Capture managers building a qualified pursuit pipeline
  • ๐Ÿ“ˆ Sales teams looking for public-sector leads
  • ๐Ÿงพ Proposal consultants monitoring opportunities for clients
  • ๐Ÿ” Market researchers analyzing agency demand
  • ๐Ÿง  Competitive intelligence teams following procurement trends
  • ๐Ÿ—๏ธ Vendors that need fast filtering by agency, NAICS, PSC, or notice type

Why use this Actor?

SAM.gov is the official source, but recurring monitoring can be time-consuming when teams need exports, filters, automation, and repeatable searches.

This Actor gives you a clean dataset that can be exported, joined with CRM records, sent to alerts, or processed by your own scoring workflow.

Typical use cases

  • Track new opportunities for a capability area every morning
  • Monitor a target agency or office
  • Build a weekly capture pipeline spreadsheet
  • Watch sources-sought and solicitation notices separately
  • Feed opportunity records into a CRM or BI dashboard
  • Research federal demand for a NAICS or PSC code
  • Send new matching opportunities to Slack, email, or a database

What data can you extract?

FieldDescription
noticeIdSAM.gov notice identifier
solicitationNumberSolicitation or reference number
titleOpportunity title
typeCodeSAM.gov notice type code
typeLabelHuman-readable notice type
agencyDepartment name
subAgencyAgency name
officeContracting office when available
postedDateOriginal posted date
modifiedDateMost recent modification date
responseDeadlineResponse deadline when available
isActiveWhether the notice is currently active
isCanceledWhether the notice is canceled
naicsNAICS codes when available
pscProduct Service Codes when available
setAsideSet-aside information when available
placeOfPerformancePlace of performance when available
summaryCleaned short description
descriptionTextOptional full cleaned description
uiUrlDirect public SAM.gov notice URL
sourceUrlSource search URL used for the record
relevanceScoreSearch relevance score normalized for sorting
matchedKeywordsInput keywords matched in the record text
estimatedValueEstimated value when exposed

How much does it cost to monitor SAM.gov contract opportunities?

The Actor uses pay-per-event pricing.

There is a small $0.005 run-start event and a per-opportunity event for each saved dataset row.

Plan tierPrice per saved opportunityApprox. cost for 1,000 opportunities
Free$0.000115$0.115
Starter / Bronze$0.0001$0.100
Silver$0.000078$0.078
Gold$0.00006$0.060
Platinum$0.00004$0.040
Diamond$0.000028$0.028

For early testing, start with maxItems between 10 and 50.

For recurring monitoring, choose the smallest keyword and filter set that captures the opportunities your team actually reviews.

Quick start

  1. Open the Actor on Apify.
  2. Enter one or more keywords.
  3. Keep activeOnly enabled if you only want open opportunities.
  4. Set maxItems to the maximum number of records you want.
  5. Optionally add agency, NAICS, PSC, date, or notice type filters.
  6. Run the Actor.
  7. Export the dataset as JSON, CSV, Excel, XML, or RSS.

Input options

Keywords

Use one or more search terms.

Examples:

  • cybersecurity
  • construction
  • cloud migration
  • medical supplies
  • janitorial services

Posted date range

Use postedFrom and postedTo to keep only opportunities posted in a specific date window.

Notice types

Use notice type codes or labels to focus on specific procurement stages.

Examples:

  • r for Sources Sought
  • p for Presolicitation
  • o for Solicitation
  • k for Combined Synopsis/Solicitation

Agency filter

Use agency text to keep records whose department, agency, or office contains your target phrase.

Examples:

  • Department of Defense
  • Veterans Affairs
  • General Services Administration

NAICS and PSC filters

Use these when your capture process is code-driven.

Examples:

  • NAICS 541512
  • NAICS 236220
  • PSC D399
  • PSC R499

Active opportunities only

When enabled, inactive or closed notices are skipped.

Some searches may require scanning many records to find active notices.

Include full description

Enable this when you need long notice descriptions in the dataset.

Keep it disabled when you only need short summaries and smaller exports.

Example input

{
"keywords": ["cybersecurity", "cloud migration"],
"activeOnly": true,
"maxItems": 50,
"sort": "modifiedDate",
"agency": "Department of Defense",
"includeDescription": false
}

Example output

{
"noticeId": "a63176dfde62490abfbc1ddce723754d",
"solicitationNumber": "W912HNA044275",
"title": "Construction and Alteration of Polygraph Office at Ft. Gordon",
"typeLabel": "Sources Sought",
"agency": "DEPT OF DEFENSE",
"subAgency": "DEPT OF THE ARMY",
"office": "W074 ENDIST SAVANNAH",
"postedDate": "2026-06-04T19:10:01+00:00",
"responseDeadline": "2026-06-01T11:00:00-04:00",
"isActive": false,
"summary": "As of 4 June 2026, this Sources Sought Notice is hereby concluded...",
"uiUrl": "https://sam.gov/opp/a63176dfde62490abfbc1ddce723754d/view",
"relevanceScore": 100,
"matchedKeywords": [],
"estimatedValue": null
}

Tips for better results

  • Use precise capability keywords instead of very broad words.
  • Combine keyword searches with agency or NAICS filters for cleaner exports.
  • Keep maxItems low while testing a new search.
  • Use recurring Apify schedules for daily or weekly monitoring.
  • Export to CSV when sharing with proposal teams.
  • Enable full descriptions only when you need long-form text analysis.

Monitoring workflows

You can schedule the Actor to run every day and compare new dataset rows against your previous run.

Common workflow:

  1. Run a daily keyword search.
  2. Export only new notice IDs.
  3. Send selected rows to a CRM, spreadsheet, Slack channel, or email digest.
  4. Assign capture owners to high-fit opportunities.

Integrations

Use Apify integrations to connect results to your workflow.

  • Google Sheets for opportunity trackers
  • Make or Zapier for alerts
  • Slack for team notifications
  • Airtable for capture pipelines
  • Webhooks for custom apps
  • BI tools for procurement trend dashboards

API usage

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/sam-gov-contract-opportunities-monitor').call({
keywords: ['cybersecurity'],
activeOnly: true,
maxItems: 25,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
import os
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('fetch_cat/sam-gov-contract-opportunities-monitor').call(run_input={
'keywords': ['cybersecurity'],
'activeOnly': True,
'maxItems': 25,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

cURL

curl -X POST "https://api.apify.com/v2/acts/fetch_cat~sam-gov-contract-opportunities-monitor/runs?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"keywords":["cybersecurity"],"activeOnly":true,"maxItems":25}'

MCP usage

Use the Apify MCP Server to run this Actor from AI tools that support MCP.

MCP URL format:

https://mcp.apify.com/?tools=fetch_cat/sam-gov-contract-opportunities-monitor

Claude Code setup:

$claude mcp add apify-sam-gov-contracts "https://mcp.apify.com/?tools=fetch_cat/sam-gov-contract-opportunities-monitor"

Claude Desktop JSON configuration:

{
"mcpServers": {
"apify-sam-gov-contracts": {
"url": "https://mcp.apify.com/?tools=fetch_cat/sam-gov-contract-opportunities-monitor"
}
}
}

Example prompts:

  • "Find active cybersecurity opportunities from SAM.gov and summarize the top 10."
  • "Run a SAM.gov search for construction opportunities and group results by agency."
  • "Monitor cloud migration solicitations and prepare a bid/no-bid shortlist."

Data quality notes

SAM.gov records vary by notice and agency.

Some fields are not present on every record.

Estimated value, place of performance, set-aside, NAICS, and PSC fields may be missing for some opportunities.

The direct SAM.gov URL is included so your team can review the official notice before acting.

Legality and ethical use

This Actor works with public government procurement opportunity information.

Always review the official notice on SAM.gov before making business decisions.

Respect applicable procurement rules, deadlines, and agency instructions.

Do not use exported data for spam or misleading outreach.

Troubleshooting

Why did I get fewer results than maxItems?

Your filters may be too narrow, active-only filtering may skip many closed records, or the search may have fewer matching opportunities.

Try disabling activeOnly, broadening keywords, or removing agency/code filters.

Why is estimated value empty?

Many notices do not expose an estimated value in the searchable record.

Use the official SAM.gov link for final review.

Why are NAICS or PSC arrays empty?

Some records do not include these codes in the search result.

Try a broader search or inspect the official notice details.

FAQ

Can I monitor multiple keywords at once?

Yes. Add multiple keywords and the Actor will collect matching opportunities across them while deduplicating by notice ID.

Can I export to Excel?

Yes. Apify datasets can be exported as Excel, CSV, JSON, XML, RSS, or HTML.

Can I run this every day?

Yes. Use Apify schedules to run the Actor daily or weekly.

Does this submit bids or contact agencies?

No. It only collects opportunity records for monitoring and analysis.

Is this US-only?

Yes. Version 1 focuses on US federal opportunities from SAM.gov.

Explore related FetchCat actors for lead generation, market research, and public data workflows:

Changelog

0.1

Initial version with keyword search, filters, normalized opportunity output, direct SAM.gov links, summaries, and relevance scoring.