Grants.gov Scraper - Federal Grant Opportunities Monitor avatar

Grants.gov Scraper - Federal Grant Opportunities Monitor

Pricing

from $2.00 / 1,000 grant opportunity results

Go to Apify Store
Grants.gov Scraper - Federal Grant Opportunities Monitor

Grants.gov Scraper - Federal Grant Opportunities Monitor

Federal grant opportunities from the official Grants.gov API. Search by keyword, agency, eligibility and category, get award ceiling, close date, eligibility and contact, and get only new grants on each scheduled run. No login, no proxy.

Pricing

from $2.00 / 1,000 grant opportunity results

Rating

0.0

(0)

Developer

MonRiah Studio

MonRiah Studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 hours ago

Last modified

Share

A 25-result test run with the default input ("education" grants posted in the last 30 days) costs about $0.05 ($0.002 per result, plus a $0.00005 start fee). Apify's free plan includes monthly platform credit.

Find federal grants before your competitors do. This Actor searches the official Grants.gov database of U.S. federal funding opportunities and returns one clean row per opportunity: title, agency, opportunity number, status, posted and close dates, Assistance Listing (ALN/CFDA) numbers and a direct link to the Grants.gov page. Turn on full details to add the synopsis, award ceiling and floor, estimated total funding, expected number of awards, cost sharing, eligible applicant types, eligibility notes and the agency contact. Turn on change detection and each scheduled run returns only the grants that are new since the last run.

It uses only the free public Grants.gov API (search2 and fetchOpportunity). No login, no API key, no proxy, no browser.

What it does

  • Searches forecasted and posted opportunities (closed and archived too, if you want them), newest first.
  • Filters by keywords, agency (a top-level code like HHS includes every sub-agency, e.g. NIH, CDC, HRSA), eligible applicant type (nonprofits, small businesses, tribes, local governments, universities and more), funding category and posted within the last N days.
  • Full details (includeDetails): synopsis as plain text, awardCeiling, awardFloor, estimatedTotalFunding, expectedNumberOfAwards as numbers, costSharing, eligibility, close date notes, contact name, email and phone, the link to the full announcement, and estimated post and award dates for forecasts.
  • Change detection (onlyNewSinceLastRun): remembers opportunity IDs for each search in a named key-value store, so a daily schedule becomes a new-grant alert and you only pay for new grants.
  • Writes a SUMMARY record with the search parameters, total matches and delivered counts.

Use cases

  • Grant writers and grant consultants: run a daily search per client (by keyword, agency and eligibility) and send new matches to email, Slack or a Google Sheet. Bill clients for a grant-prospecting service without copying from Grants.gov by hand.
  • Nonprofits: watch for grants your 501(c)(3) can apply for (eligibility code 12) in your program areas, and see award size and deadline at a glance.
  • Small businesses and startups: track SBIR/STTR-style and other opportunities open to small businesses (code 23) from NSF, DOE, NIH, USDA and others.
  • Universities and research offices: monitor NIH, NSF and DOE funding announcements and forecasts for faculty.
  • Local governments, school districts and tribes: catch infrastructure, education and public safety funding early, including forecasted grants that aren't open yet.
  • GovTech, grant-matching apps and AI agents: feed a clean, structured federal grants dataset into your product, CRM or LLM pipeline through the Apify API or MCP server.

Input example

{
"keywords": ["rural health", "broadband"],
"oppStatuses": ["forecasted", "posted"],
"agencies": ["HHS", "USDA"],
"eligibilities": ["12", "23"],
"fundingCategories": ["HL"],
"postedWithinDays": 30,
"includeDetails": true,
"maxResults": 100,
"onlyNewSinceLastRun": true
}
  • keywords: several terms are combined with OR; multi-word terms are searched as a phrase. Use [] for all opportunities.
  • oppStatuses: forecasted (announced, not open yet), posted (open now), closed, archived. Default: forecasted + posted.
  • agencies: Grants.gov agency codes such as HHS, NSF, ED, USDA, DOE, DOD, USDOJ, DOI, EPA, or sub-agencies such as HHS-NIH11 (NIH) or HHS-HRSA.
  • eligibilities: applicant type codes, e.g. 12 nonprofits with 501(c)(3), 23 small businesses, 00 state, 01 county, 02 city or township, 05 school districts, 06 public universities, 07 federally recognized tribes, 25 others, 99 unrestricted.
  • fundingCategories: e.g. ED education, HL health, ST science and technology, CD community development, AG agriculture, EN energy, ENV environment, AR arts, HU humanities, T transportation.
  • postedWithinDays (default 30, 0 = any date), maxResults (default 25, up to 5,000).

With empty input the Actor runs the example search (keyword education, forecasted + posted, last 30 days, 25 results) in a few seconds.

Output example

With includeDetails: true:

{
"opportunityId": "364120",
"opportunityNumber": "HHS-2027-ACL-AOA-INNU-0014",
"title": "Evaluating Innovative Community Based Nutrition Models that Improve Health Outcomes for Older Adults in Senior Nutrition Programs",
"agencyCode": "HHS-ACL",
"agencyName": "Administration for Community Living",
"topAgencyName": "Department of Health and Human Services",
"status": "forecasted",
"docType": "forecast",
"postedDate": "2026-10-19",
"closeDate": "2027-04-30",
"alnNumbers": ["93.045"],
"url": "https://www.grants.gov/search-results-detail/364120",
"category": "Discretionary",
"synopsis": "The purpose of this Notice of Funding Opportunity is to support innovative, community-based nutrition and healthy aging models...",
"awardCeiling": 439520,
"awardFloor": 400000,
"estimatedTotalFunding": 2197600,
"expectedNumberOfAwards": 5,
"costSharing": true,
"fundingInstruments": ["Cooperative Agreement"],
"fundingCategories": ["Health"],
"eligibleApplicants": ["State governments", "County governments", "Nonprofits having a 501(c)(3) status with the IRS, other than institutions of higher education", "..."],
"eligibilityCodes": ["00", "01", "12", "..."],
"eligibilityDetails": "Foreign entities are not eligible to compete for, or receive, awards made under this announcement...",
"fiscalYear": 2027,
"estimatedPostDate": "2027-03-01",
"estimatedAwardDate": "2027-06-01",
"contactName": "Kari Benson",
"contactEmail": "AoA.OAA@acl.hhs.gov",
"contactPhone": "202-401-4634",
"additionalInfoUrl": "https://acl.gov/grants/open-opportunities",
"programs": [{ "aln": "93.045", "programTitle": "Special Programs for the Aging, Title III, Part C, Nutrition Services" }],
"isNew": true,
"scrapedAt": "2026-10-19T19:24:17.489Z"
}

Without details, each row has opportunityId, opportunityNumber, title, agencyCode, agencyName, status, docType, postedDate, closeDate, alnNumbers, url, isNew, scrapedAt. Dates are ISO (YYYY-MM-DD) and amounts are numbers. For forecasts, closeDate is the agency's estimated application due date. Export to JSON, CSV or Excel, or connect webhooks, Google Sheets, Slack, Zapier, Make or n8n.

Pricing

Pay per result: $2 per 1,000 opportunities delivered (result event, $0.002 per opportunity), with or without full details. Apify also charges a tiny Actor-start event ($0.00005 per run per GB of memory). Opportunities skipped by change detection are not charged.

Examples:

  • A daily new-grant alert for one client with about 5 new matches a day: about $0.30 a month.
  • A one-off export of 1,000 open federal grants with full details: $2.
  • Ten client searches run daily with change detection, about 50 new grants a day in total: about $3 a month.

FAQ

Is this official data? Yes. Every row comes from the public Grants.gov API run by the U.S. Department of Health and Human Services, and url links to the opportunity page on Grants.gov.

How fresh is it? The Actor queries Grants.gov live on every run. Agencies post new opportunities every business day, so a daily schedule is a good fit.

How does change detection work? Opportunity IDs are stored per search in the key-value store named by stateStoreName. The first run outputs everything and sets the baseline, and later runs output only opportunities that weren't returned before. Change the store name to start fresh.

What's the difference between forecasted and posted? A forecast announces a grant the agency plans to open, with estimated dates and amounts. Posted opportunities are open for applications now. Watching forecasts gives you weeks or months of lead time.

Why is awardFloor or awardCeiling null? Some agencies enter "none" or leave the field blank. The full announcement (additionalInfoUrl or the Grants.gov page) has the detail.

Does it cover foundation or state grants? No, it covers federal opportunities listed on Grants.gov only.

Can I apply through this Actor? No. It finds and tracks opportunities. You apply on Grants.gov (or the agency's system) as usual.

Not affiliated with Grants.gov or the U.S. government.

Use from an AI agent

You can give this Actor to an AI agent as a tool through the Apify MCP server (https://mcp.apify.com), from Claude, Cursor, VS Code and other MCP clients. Add the server with only this Actor loaded:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=monriah-studio/grants-gov-opportunities"
}
}
}

On first connection your browser opens to sign in to Apify (OAuth). Or add "headers": { "Authorization": "Bearer <APIFY_TOKEN>" } to use your API token instead. Then ask your agent something like "Find federal education grants posted in the last 30 days".

You can also call it directly via the Apify API, for example to run it and get the results in one request:

curl -X POST "https://api.apify.com/v2/acts/monriah-studio~grants-gov-opportunities/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"keywords": ["education"],
"oppStatuses": ["forecasted", "posted"],
"postedWithinDays": 30,
"maxResults": 25
}'

More actors from MonRiah Studio