Get alerted to every new US government RFP that matches your business. Monitors SAM.gov (official API) plus 5 state portals (VA, TX, FL, GA, NY); filters by keywords, NAICS/PSC, agency and set-aside; alerts only on never-seen opportunities. Clean output, no officer contact data.
$2.00 / 1,000 · 100.0% success over 71 public runs in the last 30 days.
Run it on Apify → Free to try - runs bill per result on your own account.
Every field is optional unless marked; sensible defaults do the rest.
| Field | Type | What it does | Default |
|---|---|---|---|
keywords |
array | Alert on opportunities whose title, description or commodity-code labels contain ANY of these words (case-insensitive). Example: ["cybersecurity", "penetration testing", "SOC"]. Leave empty to match everything and filter by codes or agencies instead. | ["cybersecurity", "network security"] |
samApiKey |
string | Your personal SAM.gov API key (starts with SAM-), required only for the SAM.gov federal source. Free: sam.gov account (via login.gov) > Account Details > re-enter password > copy the Public API Key. Valid 90 days, renewal is copy-paste. Without it the actor still monitors the state portals and skips SAM.gov with a warning. Stored encrypted, never logged. See the README for the step-by-step. | - |
sources |
array | Which procurement sources to monitor. SAM.gov covers all US federal opportunities (needs your free API key); the six keyless state portals cover Virginia, Texas, Florida, Georgia (state + local + K-12), New York and Pennsylvania. | ["sam.gov", "virginia-eva", "texas-esbd", "florida-mfmp", "georgia-gpr", "ny-contract-reporter", "pa-emarketplace"] |
naicsCodes |
array | NAICS industry codes, 2-6 digits, hierarchical: "5415" also matches 541511. Applies to SAM.gov records (state portals use other code systems - use keywords for them). Example: ["541512", "541519"]. Also narrows the SAM.gov API query, saving your daily request budget. | [] |
pscCodes |
array | Federal Product Service Codes, exact match, e.g. ["D310", "R425"]. SAM.gov records only. An opportunity matches when it hits ANY of your NAICS or PSC codes. | [] |
agencies |
array | Only alert on these buying organizations (case-insensitive substring of the agency path). Example: ["DEPT OF DEFENSE", "University of Houston"]. | [] |
setAsides |
array | Only alert on set-aside opportunities whose label contains any of these, e.g. ["small business", "8(a)", "WOSB", "SDVOSB"]. SAM.gov and Virginia (SWaM) carry set-aside labels; records without one are excluded when this filter is set. | [] |
noticeTypes |
array | Which notice stages to alert on. Default: the pre-award stages a seller can still act on (solicitations, combined synopsis, presolicitations, sources sought). Add award notices to track who wins instead. | ["solicitation", "combined", "presolicitation", "sources-sought"] |
states |
array | Two-letter US state codes, e.g. ["TX", "VA"]. Filters SAM.gov by place of performance and switches off state portals outside the list. Empty = whole country. | [] |
lookbackDays |
integer | How many days back each run asks SAM.gov for notices. Keep it a little above your run cadence (daily run: 2-3 days) - overlap is safe, the monitor never re-alerts a seen notice. | 3 |
alertOn |
string | "new" alerts once per opportunity. "new-and-updated" also re-alerts when a seen opportunity is amended (marked isUpdate: true), e.g. a moved deadline or a posted addendum. | new |
emitBaseline |
boolean | On the very first run of a profile, push the currently open matching opportunities (flagged isBaseline: true, charged at the lower baseline price) so you start with today's full picture. Turn off to seed silently and only ever receive new alerts. | True |
resetState |
boolean | Discard this profile's memory of already-seen opportunities and start over with a fresh baseline run. One-shot switch: turn it back off afterwards. | False |
maxItems |
integer | Upper bound on items pushed per run (baseline or alerts). Matches beyond the cap are not lost: they alert on the next run. | 500 |
stateStoreName |
string | Named key-value store holding the monitor's seen-opportunity memory. Only change this to run fully isolated monitor instances. | rfp-monitor-state |
One JSON object per result, with exactly these fields - no seller identities, no contact data, ever.
| Field | Type | Meaning |
|---|---|---|
source |
string | Which procurement source published the opportunity. |
sourceId |
string | The opportunity's ID on its source: the SAM.gov notice ID, eVA solicitation ID, ESBD solicitation ID or MFMP advertisement ID. |
title |
string | Opportunity title as published. |
solicitationNumber |
string | Solicitation / advertisement reference number when the source provides one. |
description |
string | Full opportunity description. Currently populated for Virginia eVA records; other sources link to the description via url. |
agency |
string | Buying organization. For SAM.gov the full agency path, dot-separated. |
noticeType |
string | Canonical notice stage, normalized across sources. Reusable as the noticeTypes input. |
sourceNoticeType |
string | The source's own notice-type label, unnormalized. |
naicsCode |
string | NAICS industry code (SAM.gov records). |
pscCode |
string | Product Service Code (SAM.gov records). |
commodityCodes |
array | State commodity codes with labels: NIGP for Texas, commodity codes for Virginia. |
setAside |
string | Set-aside label when the opportunity is reserved for a business category. |
status |
string | The source's current status label for the opportunity. |
postedDate |
string | Publication date, normalized to YYYY-MM-DD. |
updatedDate |
string | Last source-side modification date (YYYY-MM-DD) where the source exposes it. |
responseDeadline |
string | Bid/response deadline. YYYY-MM-DD for state portals; SAM.gov delivers a full timestamp. |
responseDeadlineTime |
string | Deadline time of day, for sources that report it separately (Texas ESBD). |
archiveDate |
string | Date the notice leaves the source's active listing (SAM.gov). |
state |
string | US state: place of performance for SAM.gov, the portal's state otherwise. |
city |
string | Place-of-performance city when the source provides one (SAM.gov). |
url |
string | Link to the opportunity on its source. For Virginia eVA it opens the public search page - paste the sourceId there. |
active |
boolean | Whether the notice is active on SAM.gov. |
category |
string | The source's own category label (Virginia eVA). |
awardAmount |
string | Award amount in USD, on award notices only. |
awardeeName |
string | Winning company's name, on award notices only. Organization-level data. |
awardeeUei |
string | Winning company's SAM Unique Entity ID, on award notices only. |
isBaseline |
boolean | True on items from a profile's first run (the currently-open baseline). False on real new-opportunity alerts. |
isUpdate |
boolean | True when the alert is an amendment of an already-seen opportunity (alertOn: new-and-updated). |
governmentType |
['string', 'null'] | Georgia GPR: which level of government posted the event (state, county, city, school, other). |
bidProcessType |
['string', 'null'] | Georgia GPR: state-agency or non-state-agency bid process. |
electronicBid |
['boolean', 'null'] | Georgia GPR: responses are submitted electronically. |
soleSource |
['boolean', 'null'] | Georgia GPR: sole-source notice. |
county |
['string', 'null'] | County of the requesting agency (PA). |
100.0% success over 71 public runs in the last 30 days. Live record, failures included: status page.
Full documentation, examples and the AI-assistant prompt live on the store page.