🏛️ Gov Contract Award Monitor avatar

🏛️ Gov Contract Award Monitor

Pricing

from $8.00 / 1,000 results

Go to Apify Store
🏛️ Gov Contract Award Monitor

🏛️ Gov Contract Award Monitor

Extract fresh B2B sales leads by scraping SAM.gov and TED for public sector contract awards, agency names, and incumbent recompete signals.

Pricing

from $8.00 / 1,000 results

Rating

0.0

(0)

Developer

太郎 山田

太郎 山田

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 days ago

Last modified

Share

Government Contract Award Monitor | Award & Competitor Watch

Stop manually digging through complex government websites and let this automated scraper deliver timely market intelligence straight to your team. The Government Contract Award Monitor is built for sales professionals, product managers, and operations teams who need to extract actionable data from public-sector filings without dealing with the typical noise of broad web crawling. By directly scraping official agency feeds like SAM.gov and Tenders Electronic Daily (TED), this tool allows you to monitor competitor signals and spot lucrative incumbent recompetes the moment they are announced. Users consistently rely on this api to run targeted keyword watchlists that filter out irrelevant results, capturing only the exact details they need to generate high-quality B2B leads. You can easily schedule the monitor to run daily or weekly digests, automatically pulling crucial fields such as the awarding agency name, publication date, precise docket number, document type, and direct source urls. Using this data, revenue teams can integrate fresh contact details and award histories straight into their CRM workflows, while legal and compliance departments receive instant webhook alerts for specific criteria matches. Rather than building custom scrapers from scratch, you can export structured, reliably scraped data directly into your analytics warehouses. Whether you are scouting for new wins or tracking complex procurement trends, this reliable tool transforms scattered public records into a streamlined pipeline of actionable business intelligence.

Store Quickstart

What first success looks like:

Key Features

  • 🏛️ Government-sourced — Pulls directly from official agency feeds — no third-party aggregators
  • ⏱️ Timely digests — Daily/weekly rollups of new filings, rulings, or actions
  • 🔍 Keyword watchlists — Flag items matching your compliance/legal watch terms
  • 📊 Structured metadata — Agency, date, docket, document type, link — all dataset-ready
  • 📡 Webhook alerts — Push to legal/compliance teams the moment new items match watchlist

Use Cases

WhoWhy
DevelopersAutomate recurring data fetches without building custom scrapers
Data teamsPipe structured output into analytics warehouses
Ops teamsMonitor changes via webhook alerts
Product managersTrack competitor/market signals without engineering time

Input

FieldTypeDefaultDescription
feedsarrayrequiredOne entry per watch target. Each feed produces one digest row in the output. At minimum, set id, name, and source. Add k
watchTermsstringCompany names, incumbents, or competitor terms to flag in award notices. Any award matching a watch term receives a watc
lookbackDaysinteger14Fetch award notices published within this many days. Keep it short (7–30) for recurring runs to stay fast; widen it for
maxAwardsPerFeedinteger50Upper bound on awards fetched per feed per run. Increase for discovery runs; keep lower for recurring digest runs.
minValuenumber0Skip awards below this value. Applied globally unless overridden per feed. Set 0 to include all.
deliverystring"dataset"dataset stores results in the Apify dataset. webhook posts the digest JSON to webhookUrl.
webhookUrlstringPOST target for award digest payload. Leave empty for dataset delivery.
datasetModestring"all"all emits every feed digest row. action_needed emits only feeds that have new awards or watch-term hits. new_only emits

Input Example

{
"lookbackDays": 14,
"maxAwardsPerFeed": 50,
"minValue": 0,
"delivery": "dataset",
"datasetMode": "all",
"snapshotKey": "contract-award-monitor-state",
"samApiUrl": "https://api.sam.gov/opportunities/v2/search",
"tedApiUrl": "https://api.ted.europa.eu/v3/notices/search",
"usaSpendingApiUrl": "https://api.usaspending.gov/api/v2/search/spending_by_award/",
"requestTimeoutSeconds": 30,
"notifyOnNoNew": true,
"dryRun": false
}

Output

When delivery="dataset", the actor writes one dataset item per emitted feed digest and also saves the full payload to output/results.json.

FieldTypeDescription
metaobject
errorsarray
digestsarray
digests[].feedIdstring
digests[].feedNamestring
digests[].sourcestring
digests[].checkedAttimestamp
digests[].statusstring
digests[].newAwardCountnumber
digests[].totalAwardCountnumber
digests[].totalValuenumber
digests[].currencystring
digests[].changedSinceLastRunboolean
digests[].actionNeededboolean
digests[].recommendedActionstring
digests[].topAwardeesarray
digests[].watchTermHitsarray
digests[].signalTagsarray
digests[].awardsarray
digests[].errornull

Output Example

{
"meta": {
"generatedAt": "2026-04-15T09:00:00.000Z",
"now": "2026-04-15T09:00:00.000Z",
"lookbackDays": 14,
"feedCount": 2,
"totalAwards": 6,
"newAwards": 4,
"watchTermHitCount": 2,
"actionNeededCount": 1,
"sourceCounts": {
"ted_awards": 1,
"usaspending": 1
},
"snapshot": {
"key": "contract-award-monitor-sample",
"loadedFrom": "local",
"savedTo": "local"
},
"warnings": [],
"executiveSummary": {
"overallStatus": "action_needed",
"brief": "1 feed(s) have competitor/incumbent watch-term hits requiring review.",
"topAwardees": [
{
"name": "Accenture Federal Services",
"awardCount": 2,
"totalValue": 8500000,
"isWatchTermHit": true
},
{
"name": "Devoteam",
"awardCount": 2,
"totalValue": 3200000,
"isWatchTermHit": false
},
{
"name": "Leidos",
"awardCount": 1,
"totalValue": 12000000,

API Usage

Run this actor programmatically using the Apify API. Replace YOUR_API_TOKEN with your token from Apify Console → Settings → Integrations.

cURL

curl -X POST "https://api.apify.com/v2/acts/taroyamada~government-contract-award-monitor/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "lookbackDays": 14, "maxAwardsPerFeed": 50, "minValue": 0, "delivery": "dataset", "datasetMode": "all", "snapshotKey": "contract-award-monitor-state", "samApiUrl": "https://api.sam.gov/opportunities/v2/search", "tedApiUrl": "https://api.ted.europa.eu/v3/notices/search", "usaSpendingApiUrl": "https://api.usaspending.gov/api/v2/search/spending_by_award/", "requestTimeoutSeconds": 30, "notifyOnNoNew": true, "dryRun": false }'

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("taroyamada/government-contract-award-monitor").call(run_input={
"lookbackDays": 14,
"maxAwardsPerFeed": 50,
"minValue": 0,
"delivery": "dataset",
"datasetMode": "all",
"snapshotKey": "contract-award-monitor-state",
"samApiUrl": "https://api.sam.gov/opportunities/v2/search",
"tedApiUrl": "https://api.ted.europa.eu/v3/notices/search",
"usaSpendingApiUrl": "https://api.usaspending.gov/api/v2/search/spending_by_award/",
"requestTimeoutSeconds": 30,
"notifyOnNoNew": true,
"dryRun": false
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

JavaScript / Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('taroyamada/government-contract-award-monitor').call({
"lookbackDays": 14,
"maxAwardsPerFeed": 50,
"minValue": 0,
"delivery": "dataset",
"datasetMode": "all",
"snapshotKey": "contract-award-monitor-state",
"samApiUrl": "https://api.sam.gov/opportunities/v2/search",
"tedApiUrl": "https://api.ted.europa.eu/v3/notices/search",
"usaSpendingApiUrl": "https://api.usaspending.gov/api/v2/search/spending_by_award/",
"requestTimeoutSeconds": 30,
"notifyOnNoNew": true,
"dryRun": false
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Tips & Limitations

  • Run daily for active watchlists; weekly for passive monitoring.
  • Webhook delivery works well for compliance team Slack channels — include docket URL for 1-click access.
  • Use watchKeywords generously — false positives are cheap to triage, false negatives miss filings.
  • Pair with regulatory-change-monitor for cross-agency coverage.
  • Archive Dataset rows weekly for long-term compliance evidence retention.

FAQ

How far back does history go?

This actor monitors forward-only — new items since first run. For historical data, use the agency's own search tool.

What timezones are used?

All timestamps are UTC. Use your downstream pipeline to convert to agency-local time if needed.

Does it translate non-English content?

No — original language is preserved. Use downstream translation services if needed.

Is the data official?

Yes — sourced directly from official government websites and feeds. Not a third-party aggregator.

Can I use this for legal research?

For alerting and monitoring, yes. For litigation research, cross-verify with primary sources (agency websites) — this actor is a monitoring tool, not a legal database.

Government & Regulatory cluster — explore related Apify tools:

Cost

Pay Per Event:

  • actor-start: $0.01 (flat fee per run)
  • dataset-item: $0.003 per output item

Example: 1,000 items = $0.01 + (1,000 × $0.003) = $3.01

No subscription required — you only pay for what you use.

⭐ Was this helpful?

If this actor saved you time, please leave a ★ rating on Apify Store. It takes 10 seconds, helps other developers discover it, and keeps updates free.

Bug report or feature request? Open an issue on the Issues tab of this actor.