Public Signal Data / Actors / GovCon Monitor

Lead generation

GovCon Monitor API — SAM.gov + Contract Recompete Radar

The GovCon Monitor is an API over official SAM.gov and USAspending data with three modes: new contract opportunities matching your NAICS, agency, set-aside and keyword filters; recently signed awards; and a recompete radar that surfaces expiring federal contracts — incumbent, value, end date — months before the recompete notice appears on SAM.gov.

Capabilities

What it does

Recompete mode: the money mode

Every expiring contract is a future RFP. Find it 12 months out and you can shape the requirement, meet the program office, and team up; find it on SAM.gov and you're six months behind the incumbent. Per contract: incumbent, agency, NAICS, value, end date, days_until_expiry and an expiry bucket.

The join nobody else does

With a free SAM.gov key, expirations are joined against live notices to show which already have a recompete posted — and which are still open field. Matched terms are included so you can judge each hit.

Official sources, zero scraping risk

Built on the official SAM.gov Get Opportunities API and the USAspending API — public, free, and stable.

Filters that match how GovCon works

NAICS codes, agencies, set-asides (8(a), SDVOSB, WOSB, HUBZone), keywords, expiry horizons — the dimensions BD teams actually search by.

sample output — one dataset record
{
  "record_type": "recompete",
  "recipient": "AVER LLC",
  "awarding_agency": "Department of Homeland Security",
  "awarding_sub_agency": "Cybersecurity and Infrastructure Security Agency",
  "naics": "541512",
  "amount": 4689264.0,
  "end_date": "2027-08-03",
  "days_until_expiry": 364,
  "expiry_bucket": "6-12 months",
  "recompete_posted": false,
  "usaspending_url": "https://www.usaspending.gov/award/CONT_AWD_..."
}
input
{
  "mode": "recompete",
  "naics": ["541512", "541511"],
  "expiryMonths": 12,
  "minAmount": 1000000
}

Modes: opportunities (SAM.gov notices), awards (fresh USAspending awards), recompete (expiring contracts + live-notice join).

Playbook

How people use it

Recompete pipelines for BD teams

Run recompete mode monthly for your NAICS codes and build a 12-month capture pipeline: every expiring contract in your space, its incumbent, its value, and whether the recompete has posted yet.

Opportunity alerting

Daily opportunities mode with set-aside filters, webhooked into Slack: every new 8(a) or SDVOSB notice in your NAICS the morning it posts.

Competitor and incumbent tracking

Awards mode shows who just won what; recompete mode shows whose contracts are ending. Together: a live map of your competitive landscape.

Teaming target discovery

Incumbents with expiring contracts in adjacent NAICS codes are teaming candidates — or takeover targets for aggressive primes.

Integration

Call it from your stack

Synchronous REST, official clients, schedules with webhooks — or expose it directly to an AI agent through the Apify MCP server. More patterns on the integrations page.

run synchronously, get dataset items back
curl -X POST \
  "https://api.apify.com/v2/acts/splendorous_astrolabe_xs9~govcon-monitor/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
  "mode": "recompete",
  "naics": ["541512", "541511"],
  "expiryMonths": 12,
  "minAmount": 1000000
}'
pip install apify-client
from apify_client import ApifyClient

client = ApifyClient("<APIFY_TOKEN>")
run = client.actor("splendorous_astrolabe_xs9/govcon-monitor").call(
    run_input={
  "mode": "recompete",
  "naics": ["541512", "541511"],
  "expiryMonths": 12,
  "minAmount": 1000000
}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
any MCP client (Claude, Cursor, ChatGPT, …)
{
  "mcpServers": {
    "public-signal": {
      "url": "https://mcp.apify.com/?actors=splendorous_astrolabe_xs9/govcon-monitor",
      "headers": {
        "Authorization": "Bearer <APIFY_TOKEN>"
      }
    }
  }
}

Pricing

Pay per result, not per seat

Billed through your Apify account's usage credit. The free plan includes $5 of usage every month — no card needed to try it.

Billable eventPriceCharged
Contract record$0.003per result row in the dataset

A 200-record recompete sweep costs $0.60. GovCon SaaS tools charging $500+/month are built on the same public data.

Questions

Frequently asked

What is a contract recompete?

When a federal contract's period of performance ends, the work is typically re-competed. Positioning starts 6–12 months before the RFP; recompete mode surfaces expiring contracts in that window from USAspending award history.

Do I need a SAM.gov API key?

Awards and recompete modes work without any key (USAspending is free and open). A free SAM.gov key unlocks opportunities mode and the recompete-notice join.

How is this different from SAM.gov saved searches?

SAM.gov only shows you notices that already exist — by then the incumbent has a head start. Recompete mode finds the expiring contract before any notice exists, and structured JSON output plugs into CRMs and pipelines, which email alerts don't.

Which filters are supported?

NAICS codes, agencies, set-asides, keywords, minimum award amount, and expiry horizon buckets (0–3, 3–6, 6–12, 12+ months).

Related

Pairs well with

Lead generation$0.004

New Business Filings

Fresh LLC and corporation registrations from official state portals, normalized and cleaned of formation-mill noise. Day-one B2B leads.

Hiring signals$0.0015

ATS Job Board Scraper

Workday, Greenhouse, Lever and Ashby in one actor, one schema. Delta mode turns job boards into hiring signals: only what changed since the last run.

Try GovCon Monitor now

A 200-record recompete sweep costs $0.60. GovCon SaaS tools charging $500+/month are built on the same public data.

Run on Apify ↗