SAM.gov + USAspending Scraper - Federal Contract Leads avatar

SAM.gov + USAspending Scraper - Federal Contract Leads

Pricing

from $5.00 / 1,000 opportunity records

Go to Apify Store
SAM.gov + USAspending Scraper - Federal Contract Leads

SAM.gov + USAspending Scraper - Federal Contract Leads

$700B/year US federal contract intel. Active opportunities (SAM.gov), historical awards (USAspending), re-compete radar, vendor competitive intel, set-aside filter (8(a), WOSB, SDVOSB, HUBZone). For B2B vendors selling to government.

Pricing

from $5.00 / 1,000 opportunity records

Rating

0.0

(0)

Developer

Seibs.co

Seibs.co

Maintained by Community

Actor stats

2

Bookmarked

2

Total users

1

Monthly active users

12 days ago

Last modified

Share

US Gov Contracts Intel

TL;DR for GovCon vendors, capture teams, and federal-contracting consultants: Pulls US federal contract awards from SAM.gov and USAspending with normalized fields (agency, NAICS, PSC, vendor UEI, place of performance, set-aside type, recompete window) plus open opportunities and recompete-watch by date. Compared to GovWin or Bloomberg Government at $5,000-$25,000/yr, you get the underlying SAM.gov and USAspending data normalized with recompete windows, set-aside filtering, and NAICS-coded vendor history at Apify PPE pricing. Free Apify plan covers exploration on your $5 platform credit. Bring your own SAM.gov API key for higher rate limits. Upgrade to Apify Starter ($49/mo) for production volume.

Run it in 30 seconds

# Via the Apify Python SDK
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("seibs.co/us-gov-contracts-intel").call(run_input={
"mode": "historical_awards",
"naics_codes": [
"541512"
],
"date_from": "2025-10-01",
"max_results": 100
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

Or via curl:

curl -X POST "https://api.apify.com/v2/acts/seibs.co~us-gov-contracts-intel/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"mode": "historical_awards", "naics_codes": ["541512"], "date_from": "2025-10-01", "max_results": 100}'

Or click "Try for free" on this page if you prefer the no-code UI.

What you get

Each run produces:

  • A clean dataset, filterable in the Apify console and downloadable as CSV or JSON
  • An OUTPUT.html dashboard preview of your top records
  • A sample-output preview at ./.actor/sample-output.json

Per-archetype custom artifacts shipped with this actor:

  • awards.csv (normalized agency, NAICS, PSC, vendor UEI, value, place of performance)
  • recompete-watch.csv (awards expiring inside your recompete_window_months)
  • vendor-history.csv (per-vendor award history for competitive analysis)

What does US Gov Contracts Intel do?

It pulls and intelligence-classifies records from two official public APIs - SAM.gov Opportunities v2 (active RFPs / RFIs / sources sought / synopses / award notices) and USAspending v2 ($7T+ of historical contract awards back to 2000, plus FPDS subaward data). Both are free; SAM.gov requires a free API key.

Features

  • Active opportunity monitor - filter live SAM.gov opportunities by NAICS, agency, value range, set-aside type, response-deadline window.
  • Historical award analysis - last N years of awards for any agency or vendor via USAspending.
  • Re-compete radar - flag contracts whose period of performance ends inside the next 6 / 12 / 18 months.
  • Vendor competitive intel - given a vendor name or UEI/DUNS, returns total federal revenue, agencies served, NAICS distribution, win count, prime-vs-sub split, largest awards, first/last award dates.
  • Subcontractor opportunity feed - subaward data for smaller vendors winning under big primes.
  • Set-aside filter - 8(a) / WOSB / EDWOSB / SDVOSB / VOSB / HUBZone / IndianEconomic only.

Use cases

  • B2B vendors selling INTO the federal government building daily opportunity feeds.
  • Capture / business-development teams scoring win-loss against agencies they target.
  • GovCon consultants building competitive vendor profiles for clients.
  • Teaming opportunity discovery via subaward data (find the primes who routinely sub).
  • Recompete pipeline planning 12-18 months ahead of incumbent contracts.
  • Federal market analysts tracking set-aside flow and small-business contracting trends.

FAQ

Q: Is this legal? A: Yes. SAM.gov and USAspending.gov are official US-government public-data systems. Every record this actor pulls is mandated-public under federal transparency law (FFATA / DATA Act). No login is required to read this data.

Q: Do I need a SAM.gov API key? A: Yes for any mode that hits active_opportunities or set_aside_only (SAM.gov's Opportunities API requires an API key). The key is free - sign up at https://sam.gov, request a key from your Account Details > API Key panel. USAspending.gov modes (historical_awards, recompete_radar, vendor_intel, subcontracts) do not require any key.

Q: Why might a run fail? A: The three most common failure modes are (1) missing or invalid SAM.gov API key for opportunity modes, (2) SAM.gov rate limits (1,000 requests/day per key - the actor handles backoff but a heavy run may need a higher-tier key), and (3) overly broad NAICS / PSC filters returning millions of records - narrow your filters or split into per-agency runs.

Q: How fresh is the data? A: SAM.gov active opportunities update in near-real-time as agencies post solicitations. USAspending awards lag by 30-90 days as agencies report obligations. Subaward data lags by 30 days from prime-contract obligation. The actor stamps every record with its source-system load date so you can compute true freshness.

Q: Can I schedule this daily or weekly? A: Yes. Daily cron is appropriate for active_opportunities and set_aside_only (new solicitations drop every business day). Weekly is appropriate for historical_awards and vendor_intel. Monthly is appropriate for recompete_radar (12-18 month look-ahead planning). Apify Schedules + dedupe on notice_id (opportunities) or award_id_piid (awards) gives clean deltas.

Q: Does it integrate with my CRM or data tooling? A: Yes. Apify webhooks POST every run to HubSpot, Salesforce, Pipedrive, Apollo, or any HTTP endpoint. Zapier, Make.com, and n8n templates available. Dataset exports as JSON / CSV / Excel / XML for Salesforce GovCon Cloud, GovTribe, or your in-house capture system.

Q: How does pricing work? A: PAY_PER_EVENT. You pay per opportunity / award / subaward record emitted, with surcharges on enriched vendor-intel rollups. You only pay for what the actor actually emits.

  • sec-edgar-intel - pull SEC filings for the public companies you find in vendor-intel rollups (8-K M&A, going-concern, executive departures) before pitching them as teaming partners.
  • b2b-sales-triggers - convert award notifications and recompete-radar windows into outbound sales triggers for your BD / capture team.
  • uspto-patent-intel - check IP portfolio of competitors and teaming candidates before submitting a proposal.

Integrations

  • Zapier - push to HubSpot/Salesforce/Pipedrive/Apollo
  • Make.com - workflow automation
  • n8n - self-hosted automation
  • Apify webhooks - POST to your endpoint
  • API + dataset export (JSON/CSV/Excel/XML)
  • MCP / AI agents - call from Claude/GPT/LangChain

Modes

ModeSourceSAM.gov key needed?
active_opportunitiesSAM.govyes
historical_awardsUSAspendingno
recompete_radarUSAspendingno
vendor_intelUSAspendingno
subcontractsUSAspending subawardno
set_aside_onlySAM.gov filteredyes

Input

See .actor/INPUT_SCHEMA.json. Sample: every active 8(a) IT services opportunity in VA/MD/DC closing in 30 days:

{
"mode": "set_aside_only",
"sam_gov_api_key": "YOUR_KEY",
"naics_codes": ["541512", "541511", "541519"],
"set_aside_types": ["8(a)"],
"place_of_performance_state": ["VA", "MD", "DC"],
"response_deadline_days": 30,
"max_results": 500
}

DOD IT contracts expiring in the next 12 months (recompete pipeline):

{
"mode": "recompete_radar",
"naics_codes": ["541512"],
"agencies": ["Department of Defense"],
"recompete_window_months": 12,
"min_value_usd": 1000000,
"max_results": 500
}

Output

Sample output: ./.actor/sample-output.json â€" copy-paste-ready preview of real-looking records.

First record inline:

{
"scraped_at": "2026-05-13T21:02:14Z",
"mode": "opportunity_search",
"source": "sam_gov",
"available": true,
"reason": null,
"notice_id": "fa872126r0042",
"solicitation_number": "FA8721-26-R-0042",
"title": "C-130J Avionics Sustainment & Engineering Support Services",
"description": "The Air Force Life Cycle Management Center seeks engineering and sustainment support for the C-130J avionics suite, including software maintenance, hardware refresh planning, and integration of next-generation comms upgrades over a 5-year base + 5 option years.",
"opportunity_type": "Solicitation",
"contract_type": "IDIQ",
"set_aside": null,
"set_aside_description": null,
"naics": "541330",
"naics_description": "Engineering Services",
"classification_code": "AC23",
"agency": "Department of Defense",
"sub_agency": "Department of the Air Force",
"office": "Air Force Life Cycle Management Center / WLNN",
"agency_code": "5700",
"place_of_performance": {
"city": "Robins AFB",
"state": "GA",
"zip": "31098",
"country": "United States",
"country_code": "USA"
},
"response_deadline": "2026-07-22T17:00:00Z",
"posted_date": "2026-05-08T13:00:00Z",
"archive_date": "2026-08-22T17:00:00Z",
"action_date": null,
"award_amount": null,
"base_and_all_options_value": 480000000.0,
"total_obligated_amount": null,
"recipient_name": null,
"recipient_uei": null,
"recipient_duns": null,
"recipient_address": null,
"period_of_performance_start": "2026-10-01",
"period_of_performance_end": "2031-09-30",
"url": "https://sam.gov/opp/fa872126r0042/view",
"raw_links": [
{
"label": "Attachment_J1_PWS.pdf",
"url": "https://sam.gov/api/prod/opps/v3/opportunities/fa872126r0042/resources/J1.pdf"
}
],
"recompete_months_remaining": null,
"recompete_window_months": null,
"is_recompete_candidate": null,
"prime_recipient_name": null,
"prime_award_id": null,
"subaward_type": null,
"vendor_metrics": null
}

Every record is normalized to one shape regardless of source. Sample:

{
"scraped_at": "2026-05-14T12:00:00Z",
"mode": "recompete_radar",
"source": "usaspending",
"available": true,
"title": "IT Services Recompete Vehicle - DoD CIO",
"agency": "Department of Defense",
"naics": "541512",
"set_aside": "8(a)",
"recipient_name": "Booz Allen Hamilton",
"base_and_all_options_value": 12500000,
"period_of_performance_end": "2027-03-31",
"recompete_months_remaining": 10.5,
"is_recompete_candidate": true,
"url": "https://www.usaspending.gov/award/CONT_AWD_..."
}

Failed lookups still emit a row with available: false and a reason.

Pricing

Pay-per-event:

EventPrice
opportunity_record$0.005
award_record$0.005
recompete_alert$0.010
vendor_intel_record$0.015
subcontract_record$0.005

FAQ

Q: Do I need a SAM.gov API key? A: Only for SAM.gov-backed modes (active_opportunities, set_aside_only). USAspending modes need no key. Get a free SAM key at https://open.gsa.gov/api/get-opportunities-public-api/ in five minutes.

Q: How often is USAspending data refreshed? A: USAspending updates nightly from FPDS / FABS. Action dates older than 24 hours should appear in the feed.

Q: Does this hit PACER, FedBizOpps legacy, or DLA-only feeds? A: No - SAM.gov and USAspending only. Both are the canonical post-2017 government feeds and cover the active vendor universe.

Q: How does the recompete classifier work? A: It computes months between today and period_of_performance_end. Contracts inside recompete_window_months are tagged is_recompete_candidate: true with recompete_months_remaining populated.

Save your input as an Apify Task

Apify Tasks let you save a configured input once and re-run it with a single click - no need to re-type search terms, locations, filters, or tier settings every time. Tasks are the foundation for everything that comes next: schedules, monitor mode, and webhook routing all attach to a saved Task, not to the raw actor.

Steps to save your current input as a Task:

  1. On this actor's Apify Store page, click Run with your input fully configured.
  2. Click the Save as task button at the top of the run page.
  3. Name the task something memorable (e.g. IT services solicitations - daily).
  4. Reload the task page and click Start anytime to re-run with the same inputs.

Tasks unlock the next two features below: scheduling and monitor mode.

Run this weekly with Apify Schedules

Apify Schedules cron-run any saved Task automatically. Pair this with the saved Task above and you get hands-off recurring runs with no manual clicks, no missed weeks, and a steady stream of fresh data into your CRM or warehouse.

Steps to schedule a Task:

  1. Save your input as a Task (see above).
  2. Go to https://console.apify.com/schedules and click Create new schedule.
  3. Pick your Task and set the cron expression. Common patterns:
    • Daily at 9am UTC: 0 9 * * *
    • Weekly on Mondays at 9am: 0 9 * * 1
    • Monthly on the 1st: 0 9 1 * *
  4. Save. Apify will run your Task on that schedule automatically, push the dataset to whatever integrations you have wired up, and fire run-completion webhooks for downstream automation.

Run daily to monitor for new SAM.gov solicitations, awards, and modifications in your NAICS codes.

Monitor mode (v2, beta)

Monitor mode is the v2 evolution of this actor and is currently in BETA. It turns a recurring schedule into a true change-feed instead of a firehose of duplicate records.

How it works:

  • When this actor runs under an Apify Schedule, monitor mode is enabled automatically.
  • Instead of emitting ALL records every run, it emits ONLY records that are NEW or CHANGED since the last scheduled run.
  • A digest record summarizes the delta (X new, Y changed, Z removed) at the top of every run.
  • Optional: provide a Slack or email webhook URL in the monitor_webhook_url input field and the digest fires there too, so your team gets the delta in their inbox or channel without polling the dataset.
  • Cost: a single scheduled_delta_run event ($0.05) per scheduled run, plus standard PPE on emitted delta records only. Predictable monthly cost, no surprise bills from re-charging for unchanged records.

Monitor mode is rolling out to the top 3 actors first (this one included if it's hotel-motel-lead-finder, google-maps-reviews-pro, or mcp-accounting-firm-leads). Full portfolio coverage by end of June.

Support

Open an issue on the actor's GitHub or contact the maintainer through Apify Store. Include the run ID and the mode + input config used.

Changelog

See ./CHANGELOG.md.

Found this useful?

If this actor saved you time or money, please consider leaving a quick review on the Apify Store. Reviews help other buyers find work that solves their problem and let me prioritize the features paying customers actually use. Leave a review: https://apify.com/seibs.co/us-gov-contracts-intel#reviews