Grants.gov Opportunity Monitor — New Funding Alerts, No Login
Pricing
from $10.00 / 1,000 opportunities
Grants.gov Opportunity Monitor — New Funding Alerts, No Login
Watch Grants.gov by keyword, agency, eligibility and category and get only NEW or changed federal funding opportunities: deadline, award ceiling, expected awards, eligible applicants, contact. Daily schedule. No login. MCP-ready. $10 per 1,000 alerts.
Pricing
from $10.00 / 1,000 opportunities
Rating
0.0
(0)
Developer
Khrystyna Skotte
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Grants.gov Opportunity Monitor
Schedule this actor daily and get only the new or changed federal funding opportunities that match your watch list: keywords, agencies, applicant eligibility, funding category and status. Every alert carries the deadline, days left, award ceiling and floor, estimated total funding, expected number of awards, eligible applicant types, cost-sharing flag, description, program contact email and the Grants.gov link.
It uses the public Grants.gov API. No login, no API key, no proxy.
Built for nonprofit development teams, grant writers, university research offices and consultants who need a feed, not a dump.
What it does on each run
- Searches Grants.gov for every keyword you list (newest first, limited to the last
postedSinceDaysdays). - Keeps only opportunities matching your agency, eligibility, category and status filters.
- Compares each hit with what it remembered from earlier runs:
- new – never seen by this monitor before
- updated – status changed (a forecast became posted) or the close date changed
- Fetches the full synopsis for each alert (
includeDetails), pushes it to the dataset and remembers it. - Optionally POSTs the run summary plus the alerts to your webhook.
Unchanged opportunities are never emitted again, so a daily schedule produces a clean stream of alerts.
Scheduling
Create a Schedule in the Apify console that runs this actor once a day with your filters. The default postedSinceDays of 7 gives a safety margin: if a run is skipped, the next run still picks up everything that arrived in between.
If more opportunities match than maxNewPerKeyword or maxItems allow, the remainder is emitted on the following runs (nothing is lost). Raise the caps if you expect bursts.
First run: emit all or baseline
firstRunMode = emitAll(default): the first run emits everything currently matching your filters, up to the caps.firstRunMode = baseline: the first run only records what exists today and emits nothing. From the second run on you get only what is genuinely new. Use this when you already track the existing opportunities elsewhere.
Each monitorId has its own memory (stored in a named key-value store grants-monitor-<hash>), so you can run several independent watch lists on one account, for example one per program area. Rename the monitorId to start over from scratch.
Webhook
Set webhookUrl and the actor sends one JSON POST per run:
{"monitorId": "default","runAt": "2026-09-28T20:19:33.651Z","newCount": 3,"updatedCount": 1,"scanned": 42,"seenTotal": 118,"baseline": false,"opportunities": [ { "...": "up to 50 emitted records" } ]}
Point it at Slack (via an incoming webhook adapter), Zapier, Make, n8n or your own endpoint. The full list of alerts is always in the run's dataset.
Input
| Field | Default | Notes |
|---|---|---|
keywords | ["youth", "STEM education"] | Searched one at a time. Multi-word keywords are matched as an exact phrase. To match any of several words, list them as separate keywords. Empty list = all opportunities passing the other filters. |
agencies | [] | Agency code prefixes, e.g. HHS, NSF, ED, USDOJ, or sub-agencies such as HHS-ACF, USDOJ-OJP-OJJDP. |
eligibilities | [] | Applicant type codes (list below). Several codes are OR-ed. |
fundingCategories | [] | Funding activity category codes (list below). Several codes are OR-ed. |
statuses | ["posted", "forecasted"] | posted, forecasted, closed, archived. |
postedSinceDays | 7 | Only opportunities posted within this many days are scanned. |
includeDetails | true | Fetch synopsis details for each alert (award amounts, eligibility, description, contact). |
maxNewPerKeyword | 5 | Alerts per keyword per run. |
maxItems | 10 | Alerts per run in total. |
firstRunMode | emitAll | emitAll or baseline. |
webhookUrl | "" | Optional JSON POST target. |
monitorId | default | Name of the watch list; separate memory per id. |
Output
One record per new or updated opportunity:
{"opportunityId": "363961","opportunityNumber": "O-OJJDP-2026-172751","title": "OJJDP FY 2026 Second Chance Act Youth Reentry Program","agencyCode": "USDOJ-OJP-OJJDP","agencyName": "Office of Juvenile Justice Delinquency Prevention","status": "posted","postedDate": "2026-09-25","closeDate": "2026-11-02","daysUntilClose": 35,"cfdaNumbers": ["16.812"],"fundingInstrument": "Grant","fundingCategory": "Law, Justice and Legal Services","eligibleApplicants": ["Nonprofits having a 501(c)(3) status with the IRS, other than institutions of higher education", "City or township governments", "County governments", "State governments"],"awardCeiling": 750000,"awardFloor": 0,"expectedAwards": 16,"estimatedTotalFunding": 12440720,"costSharing": false,"description": "This is a notice of funding opportunity (NOFO) for the OJJDP FY 2026 Second Chance Act Youth Reentry Program...","contactEmail": "OJP.ResponseCenter@usdoj.gov","grantsUrl": "https://www.grants.gov/search-results-detail/363961","matchedKeyword": "youth","changeType": "new","firstSeenAt": "2026-09-28T20:19:33.651Z","monitorId": "default"}
Forecasted opportunities have no firm close date yet; closeDate then holds the agency's estimated application deadline when one is published, otherwise null. Award ceiling and floor are null when the agency did not publish them (common for NIH notices) and 0 when the agency entered zero.
The run's key-value store also holds a SUMMARY record with the counts shown in the webhook payload.
Code lists
Applicant eligibility codes (eligibilities)
| Code | Applicant type |
|---|---|
00 | State governments |
01 | County governments |
02 | City or township governments |
04 | Special district governments |
05 | Independent school districts |
06 | Public and State controlled institutions of higher education |
07 | Native American tribal governments (Federally recognized) |
08 | Public housing authorities / Indian housing authorities |
11 | Native American tribal organizations (other than Federally recognized tribal governments) |
12 | Nonprofits having a 501(c)(3) status with the IRS, other than institutions of higher education |
13 | Nonprofits that do not have a 501(c)(3) status with the IRS, other than institutions of higher education |
20 | Private institutions of higher education |
21 | Individuals |
22 | For profit organizations other than small businesses |
23 | Small businesses |
25 | Others (see "Additional Information on Eligibility" in the notice) |
99 | Unrestricted (open to any type of entity above) |
Funding activity category codes (fundingCategories)
| Code | Category |
|---|---|
AG | Agriculture |
AR | Arts |
BC | Business and Commerce |
CD | Community Development |
CP | Consumer Protection |
DPR | Disaster Prevention and Relief |
ED | Education |
ELT | Employment, Labor and Training |
EN | Energy |
ENV | Environment |
FN | Food and Nutrition |
HL | Health |
HO | Housing |
HU | Humanities |
ISS | Income Security and Social Services |
IS | Information and Statistics |
IIJ | Infrastructure Investment and Jobs Act (IIJA) |
LJL | Law, Justice and Legal Services |
NR | Natural Resources |
OZ | Opportunity Zone Benefits |
O | Other |
RT | Recreation and Tourism |
RD | Regional Development |
ST | Science and Technology and other Research and Development |
T | Transportation |
Top-level agency codes (agencies)
AC AmeriCorps · USDA Agriculture · DOC Commerce · DOD Defense · ED Education · DOE Energy · PAMS Energy Office of Science · HHS Health and Human Services · DHS Homeland Security · HUD Housing and Urban Development · USDOJ Justice · DOL Labor · DOS State · DOI Interior · USDOT Treasury · DOT Transportation · VA Veterans Affairs · EPA Environmental Protection Agency · IMLS Institute of Museum and Library Services · LOC Library of Congress · MCC Millennium Challenge Corporation · NASA · NEA National Endowment for the Arts · NEH National Endowment for the Humanities · NSF National Science Foundation
Sub-agency codes are the prefix plus a suffix, for example HHS-ACF (Administration for Children and Families), HHS-NIH11 (NIH), HHS-CDC-NCCDPHP, USDOJ-OJP-OJJDP, USDA-NIFA, DOD-ONR. The agency code of every alert is in agencyCode, so you can refine after a first run.
Pricing
Pay per event: $0.005 per run start plus $0.01 per alert emitted. A daily monitor with a handful of new matches per day costs well under $1 per month. Runs that find nothing new cost only the start fee.
Typical setups
- Youth-serving 501(c)(3):
keywords["youth", "mentoring", "after school"],eligibilities["12"], daily. - University research office:
keywords[],agencies["NSF", "HHS-NIH11", "DOE"],eligibilities["06"],maxItems200, daily. - Community health center:
keywords["community health", "behavioral health"],fundingCategories["HL"],agencies["HHS"], daily with a Slack webhook.