Grants Monitor - Grants.gov + EU Funding Calls Keyword Alerts avatar

Grants Monitor - Grants.gov + EU Funding Calls Keyword Alerts

Pricing

from $15.00 / 1,000 grant opportunity detecteds

Go to Apify Store
Grants Monitor - Grants.gov + EU Funding Calls Keyword Alerts

Grants Monitor - Grants.gov + EU Funding Calls Keyword Alerts

Scheduled change feed of new grant funding opportunities from grants.gov (US federal) and the EU Funding & Tenders portal. Filter by your own keywords, funding categories and award size;

Pricing

from $15.00 / 1,000 grant opportunity detecteds

Rating

0.0

(0)

Developer

Daniel Matthee

Daniel Matthee

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 hours ago

Last modified

Categories

Share

Grants Monitor — Grants.gov + EU Funding Calls Keyword Alerts

The new-opportunity feed for a grant office. Every scheduled run searches grants.gov (US federal) and the EU Funding & Tenders portal (Horizon Europe, DIGITAL, CEF, EuropeAid and the rest), keeps only the calls that match your keywords, and emits just the ones it has never seen before.

Other actors dump the whole grants.gov catalogue and leave you to work out what changed. This one remembers. Run it on a schedule and the dataset from each run is your circulation list: the calls that appeared since you last looked, with synopsis, award ceiling, funder and deadline attached.

Both sources are official, keyless APIs — no scraping of aggregators, no login, no API key for you to obtain or renew.

What you get

grants.govEU Funding & Tenders
CoverageAll US federal grant opportunities: posted and forecastedAll calls for proposals + EuropeAid calls, open and forthcoming
Stable idOpportunity number (EPA-OW-OWM-26-03)Topic identifier (HORIZON-CL6-2026-04-GOVERNANCE-01)
Award amountsAward ceiling + floor where publishedNot published by the portal — always null
Typical volume~90–120 new postings per fortnight~600 open + ~620 forthcoming calls

Example output record

{
"source": "grants-gov",
"opportunityId": "O-BJA-2026-172719",
"title": "OJP FY 2026 Special Attorneys Program Round 8",
"agency": "Bureau of Justice Assistance",
"synopsis": "The Special Attorneys Program provides funding to support the placement of attorneys in prosecutors' offices to prosecute violent crime…",
"awardCeiling": 3000000.0,
"awardFloor": 0.0,
"postedDate": "2026-08-28",
"closeDate": "2026-09-14",
"category": "Law, Justice and Legal Services",
"url": "https://grants.gov/search-results-detail/363733",
"detectedAt": "2026-08-31T11:20:41Z"
}

An EU record has the same shape, with source: "eu-funding-portal", agency: "European Commission", and awardCeiling/awardFloor as null:

{
"source": "eu-funding-portal",
"opportunityId": "HORIZON-WIDERA-2027-05-ERA-04",
"title": "Pillar III: Promoting public engagement in R&I and scientific literacy",
"agency": "European Commission",
"synopsis": "Proposals should support the development of citizens' scientific literacy and their engagement in research and innovation…",
"awardCeiling": null,
"awardFloor": null,
"postedDate": "2026-12-08",
"closeDate": "2027-03-11",
"category": "HORIZON Coordination and Support Actions",
"url": "https://ec.europa.eu/info/funding-tenders/opportunities/portal/screen/opportunities/topic-details/HORIZON-WIDERA-2027-05-ERA-04",
"detectedAt": "2026-08-31T11:31:07Z"
}

opportunityId is each portal's own public reference, so it pastes straight into your grants pipeline, your board paper or the portal's search box. Every field is null rather than invented when a portal does not publish it — a grants.gov forecast, for instance, usually has no deadline and no award ceiling yet.

Input options

InputDefaultWhat it does
sourcesbothgrants-gov, eu-funding-portal, or both.
keywords(empty)Case-insensitive match on title + full synopsis; a call is emitted if any keyword matches. Empty = every new call.
categories(empty)grants.gov funding-activity categories (Education, Health, Environment, …). No effect on EU calls.
fundingInstruments(empty)grants.gov instruments — pick Grant alone to exclude cooperative agreements and procurement contracts.
euStatusesopen + forthcomingInclude EU calls that are accepting applications now, announced for later, or both.
minAwardCeiling(none)Minimum award ceiling in USD. grants.gov only — the EU portal publishes no per-award ceiling, so EU calls are never dropped by it.
sinceDays14How far back to look. Your backfill on run one.
maxItems500Cap on opportunities emitted (and billed) per run. Split fairly across the sources in play, so grants.gov cannot crowd out the EU portal; the overflow carries to the next run.
stateStoreNamegrants-monitor-stateChange it to run two independent watchlists from one actor.

Keyword matching, precisely

Keywords are matched as plain case-insensitive substrings against the opportunity's title and its full published description — not the trimmed synopsis in the output, and not the funder's own fuzzy relevance ranking. That is deliberate: it is narrower and far more predictable than the portals' own search boxes, which stem words and also index attachments, eligibility notes and boilerplate. Searching grants.gov for literacy over one fortnight returns 9 hits; only 2 of them actually say "literacy" in the title or synopsis, and those 2 are what this actor emits. If you want the wide net, use several narrow keywords rather than one broad one.

The first run backfills, then it goes quiet

Run one emits everything in your sinceDays window that matches — a real backfill you can circulate immediately. From run two on, an empty dataset means nothing new was published, which is the answer you wanted.

EU forthcoming calls always fall inside the window because their opening date is in the future, so run one also hands you the announced EU pipeline — months of advance notice on calls that have not opened yet. That makes the first run the big one (a no-keyword backfill emitted 389 records: 117 from grants.gov, 272 from the EU portal). Set maxItems low on the first run if you want to meter it; anything over the cap is not marked as seen and is emitted on the following run instead of being lost.

Recommended schedule: daily or twice weekly. grants.gov posts on business days; EU calls arrive in work-programme batches.

Use cases

  • "Tell me every new federal and EU call that mentions our programme areas." Set keywords to your areas —
    ["early childhood", "literacy", "food security"]
    — schedule it daily, and pipe the dataset into Slack or a shared inbox. That is the Monday-morning scan, done.
  • "We only bid on awards above $250k." Set minAwardCeiling: 250000 and fundingInstruments: ["G"] to strip out small awards, cooperative agreements and contracts, so the development team sees only opportunities worth writing for.
  • "Give research services 6 months' warning on Horizon calls." Set sources: ["eu-funding-portal"] with euStatuses: ["forthcoming"] and your faculty keywords, and every newly announced topic lands before the call opens — while there is still time to build a consortium.

Pricing (pay per event)

EventPriceCharged
Actor start$0.005Once per run, flat
Grant opportunity detected$0.015Per new opportunity pushed to the dataset

You pay for changes, not for pages. A quiet day costs half a cent.

Maintenance promise

Both APIs are checked against a live smoke run and a fixture-based test suite (38 tests) on each release; parsing degrades to a logged warning rather than a failed run when a portal changes a field. If one portal is down for a run, the other still reports and the run succeeds with a warning — only a total outage fails the run, deliberately, so a dead run never looks like a quiet day.

Changelog

  • 0.1 — First release. grants.gov (Search2 + fetchOpportunity) and the EU Funding & Tenders portal (SEDIA search), seen-id delta monitoring per source, keyword / category / instrument / award-size filters.