$19.90 / 1,000 · Recently published - building its public record.
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 | 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"] |
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 |
One JSON object per result, with exactly these fields - no seller identities, no contact data, ever.
| Field | Type | Meaning |
|---|---|---|
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. |
Recently published - building its public record. Live record, failures included: status page.
Full documentation, examples and the AI-assistant prompt live on the store page.