US Federal Grants Monitor

Alerts you when a federal funding opportunity matching your profile is posted on Grants.gov - agency, category, eligibility or keyword.

Alerts you when a federal funding opportunity matching your profile is posted on Grants.gov - agency, category, eligibility or keyword. Remembers what it has already sent, so an alert always means something new.

$19.90 / 1,000 · 100.0% success over 26 public runs in the last 30 days.

Run it on Apify → Free to try - runs bill per result on your own account.

What you give it

Every field is optional unless marked; sensible defaults do the rest.

FieldTypeWhat it doesDefault
keywords array Free-text terms searched across the opportunity. Leave empty to watch everything matching the other filters. ["water quality"]
agencies array Grants.gov agency codes, e.g. USDA, DOD, DOC, ED, DOE. Every run logs the codes valid for your search with their counts - copy them from there rather than guessing. -
eligibilities array Applicant-type codes, e.g. 02 for city or township governments, 25 for others. The run log lists the codes available for your search. -
fundingCategories array Category codes such as ACA, ENV or HL. Listed in the run log for your search. -
fundingInstruments array CA (cooperative agreement), G (grant), PC (procurement contract) or O (other). -
oppStatuses array Which statuses to watch. Default is posted plus forecasted - the two a bidder can act on. ["posted", "forecasted"]
newestFirst boolean Fetch newest postings first. Useful on the free plan: the 5-item cap then keeps the most recent opportunities instead of arbitrary ones. False
scrapeDetails boolean Adds the description, award ceiling and floor, cost-sharing flag and response date. Costs one extra request per alerted opportunity, so it is off by default. Contact names, emails and phone numbers are never extracted, with or without this setting. False
alertOn string "new" alerts only on opportunities never seen before. "new-and-updated" also alerts when a seen opportunity changes status or moves its deadline. new
emitBaseline boolean On the very first run, push everything currently matching. Turn off to start silent and receive only what appears afterwards. True
maxItems integer Upper bound on rows pushed in one run. Anything over the cap alerts on the next run instead. 500
stateStoreName string Named key-value store holding what this monitor has already seen. Use a different name to run several independent watch profiles. grants-gov-monitor-state
resetState boolean Discard what this profile has seen and start a fresh baseline. Use after changing filters if you want the new profile re-baselined. False
reportFailures boolean When a run fails, send the developer the actor name and build, an error category, the error message (truncated) and a one-way hash of your input - so a bug can be fixed without anyone asking you to reproduce it. Your input itself, your results and your identity are never sent, and successful runs send nothing at all. Switch this off and the actor behaves exactly the same. True

What you get back

One JSON object per result, with exactly these fields - no seller identities, no contact data, ever.

A real result row from a recent run:

{
  "agency": "Geological Survey",
  "agencyCode": "DOI-USGS1",
  "cfdaNumbers": [
    "15.808"
  ],
  "closeDate": "2026-11-14",
  "docType": "synopsis",
  "isBaseline": false,
  "isUpdate": false,
  "opportunityId": "364078",
  "opportunityNumber": "G27AS00052",
  "postedDate": "2026-10-14",
  "status": "posted",
  "title": "Cooperative Agreement for affiliated Partner with Northern Great Plains Cooperative Ecosystem Studies Unit",
  "url": "https://www.grants.gov/search-results-detail/364078"
}
FieldTypeMeaning
opportunityId string Grants.gov opportunity id.
opportunityNumber string The agency's own announcement number.
title string Opportunity title.
agency string Funding agency. Organization-level data.
agencyCode string Agency code. Reusable as the agencies input.
status string posted, forecasted, closed or archived.
docType string synopsis or forecast.
postedDate string Date the opportunity was posted (ISO).
closeDate string Application deadline (ISO).
cfdaNumbers array Assistance Listing (CFDA) numbers.
url string The opportunity on grants.gov.
description string Full synopsis text, HTML stripped. Only with scrapeDetails.
awardCeilingUsd number Largest award the agency expects to make. Only with scrapeDetails.
awardFloorUsd number Smallest award. Only with scrapeDetails.
costSharingRequired boolean Whether cost sharing or matching is required. Only with scrapeDetails.
responseDate string Response deadline from the synopsis (ISO). Only with scrapeDetails.
archiveDate string Date the listing is archived (ISO). Only with scrapeDetails.
isBaseline boolean True for rows from the first (baseline) run.
isUpdate boolean True when an already-seen opportunity changed status or deadline.

Health

100.0% success over 26 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.