# Grants.gov Scraper – Federal & Nonprofit Grants Finder (`dedicated_crest/grants-gov-opportunity-finder`) Actor

Grants.gov scraper & grant finder for federal and nonprofit grants: search US grant opportunities by keyword, agency, CFDA/ALN and eligibility (nonprofits, universities, small business). Deadlines, award ceiling, total funding, contacts. New & closing-soon alerts. $3/1,000.

- **URL**: https://apify.com/dedicated_crest/grants-gov-opportunity-finder.md
- **Developed by:** [Ben Barazandeh](https://apify.com/dedicated_crest) (community)
- **Categories:** Lead generation, Business, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$3.00 / 1,000 grants

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Grants.gov Scraper – Federal & Nonprofit Grants Finder, Deadlines & Alerts

**Find every open US federal grant that fits you, including nonprofit grants, with deadlines and award amounts, for $3 per 1,000 opportunities.** This Actor searches the official Grants.gov API by keyword, agency, Assistance Listing (CFDA/ALN) and applicant eligibility, and returns one clean row per funding opportunity (NOFO): deadline, days left, award ceiling and floor, total program funding, eligible applicants, description, agency contact and a direct Grants.gov link.

- ✅ **Official source**: the public Grants.gov search and detail API, the same data shown on grants.gov
- ✅ **Grant alerts built in**: only grants *posted in the last N days*, or *closing within N days*
- ✅ **Nonprofit, university and small-business filters** with Grants.gov eligibility codes
- ✅ **No API key, login, browser or proxy**. Pay only per opportunity saved, and it stops at your *Maximum cost per run*

**Try it now:** the input is pre-filled with the keyword `artificial intelligence` (forecasted + posted grants, 20 results with full details). Click **Start**; the test run below finished in about 6 seconds.

### Real run results (18 Oct 2026)

Pre-filled input: keyword `artificial intelligence`, statuses forecasted + posted, `maxItems: 20` (run `zwwmCmA4hpZ1WDPjZ`, 6 seconds, 20 of 171 matching opportunities saved). First 8 rows:

| Number | Title | Agency | Status | Deadline | Award ceiling | Total funding |
|---|---|---|---|---|---|---|
| PD-19-127Y | Science of Learning and Augmented Intelligence (SL) | NSF | posted | 2027-02-10 | – | – |
| W519TC-25-S-0001 | Broad Agency Announcement for Fundamental AI Research | DOD-AMC-ACCRI | forecasted | – | – | – |
| G27AS00079 | Cooperative Agreement for Affiliated Partner with the Great… | DOI-USGS1 | posted | 2026-11-14 | $150K | $150K |
| PAS-TUNIS- APS FY2026 | Annual Program Statement (APS) For Fiscal Year 2026 | DOS-TUN | forecasted | – | $200K | – |
| 26-504 | Postdoctoral Research Fellowships in Biology (PRFB) | NSF | posted | 2027-09-28 | – | $16.5M |
| 26-512 | Unlocking Dataset Value for AI-Enabled Scientific Discovery… | NSF | posted | 2026-11-04 | – | $100M |
| 25-531 | Cybersecurity Innovation for Cyberinfrastructure (CICI) | NSF | posted | 2027-01-20 | $1.2M | $12M |
| 26-507 | National Science Foundation Fostering Interdisciplinary Net… | NSF | posted | 2026-11-18 | – | $8.5M |

### For nonprofits

Looking for **nonprofit grants** from the federal government? Grants.gov tags every opportunity with the applicant types that may apply. Add the eligibility code `12` (501(c)(3) nonprofits) and/or `13` (nonprofits without 501(c)(3) status) and the Actor returns only grants your organization is eligible for, with deadlines, award ceilings, total funding and the agency contact.

```json
{
  "statuses": ["posted"],
  "eligibilities": ["12"],
  "sortBy": "closingSoon",
  "maxItems": 10
}
```

Real run of that input (19 Oct 2026, run `4X6qFu2dehS6mq1gz`, about 6 seconds, 10 of 443 matching nonprofit-eligible opportunities saved). Five of the rows:

| Number | Title | Agency | Deadline | Award ceiling | Total funding |
|---|---|---|---|---|---|
| USDA-APHIS-10031-PPQ-NCPN-2027 | Plant Protection Act Section 7721 Fiscal Year 2027 Nationa… | USDA-APHIS | 2026-10-19 | $3.5M | $10M |
| HRSA-27-005 | Fiscal Year (FY) 2027 Service Area Competition (SAC) | HHS-HRSA | 2026-10-19 | $10.1M | $267.8M |
| RFA-CA-27-021 | Sustained Support for Informatics Technologies for Cancer … | HHS-NIH11 | 2026-10-19 | $600K | $1.8M |
| AC-08-20-2026 | Fiscal Year (FY) 2027 AmeriCorps Seniors RSVP Competition | AC | 2026-10-20 | – | – |
| RFA-DK-27-120 | Nutrition Obesity Research Centers (NORCs) (P30 Clinical T… | HHS-NIH11 | 2026-10-20 | $750K | $3.6M |

One full row from that run:

```json
{
  "id": "363423",
  "number": "HRSA-27-005",
  "title": "Fiscal Year (FY) 2027 Service Area Competition (SAC)",
  "agencyCode": "HHS-HRSA",
  "agency": "Health Resources and Services Administration",
  "status": "posted",
  "docType": "synopsis",
  "openDate": "2026-09-18",
  "closeDate": "2026-10-19",
  "daysUntilClose": 0,
  "cfdaList": [
    "93.224"
  ],
  "url": "https://www.grants.gov/search-results-detail/363423",
  "awardCeiling": 10116100,
  "awardFloor": 650000,
  "estimatedTotalFunding": 267773700,
  "expectedAwards": 63,
  "costSharing": false,
  "fundingInstruments": [
    "Grant"
  ],
  "categories": [
    "Health"
  ],
  "eligibleApplicants": [
    "City or township governments",
    "Public housing authorities/Indian housing authorities",
    "Native American tribal governments (Federally recognized)",
    "County governments",
    "Nonprofits that do not have a 501(c)(3) status with the IRS, other than institutions of higher education",
    "Special district governments",
    "Native American tribal organizations (other than Federally recognized tribal governments)",
    "Nonprofits having a 501(c)(3) status with the IRS, other than institutions of higher education",
    "State governments"
  ],
  "eligibilityNotes": "",
  "description": "The FY 2027 Health Center Program Service Area Competition (SAC) funding improves the health of medically underserved communities and populations by providing g…",
  "contactName": "Health Resources and Services Administration",
  "contactEmail": "bphcfunding@hrsa.gov",
  "contactPhone": "301-443-7432",
  "lastUpdated": "2026-09-18"
}
```

Add a keyword (e.g. `youth`, `housing`, `arts`) and `postedWithinDays: 7` on a weekly schedule to get a nonprofit grant alert.

### What does Grants.gov Opportunity Finder do?

Grants.gov lists thousands of federal funding opportunities (NOFOs / funding announcements) from NSF, NIH, DOE, DOD, USDA, HUD, NASA, the Department of Education and dozens of other agencies. This Actor queries the public Grants.gov search API, optionally fetches the full detail record for each opportunity, and saves one tidy row per opportunity to an Apify dataset that you can download as **JSON, CSV, Excel, XML or HTML**, or send to Google Sheets, Slack, Zapier, Make, n8n or your own API.

### Use cases

- **Grant writers and consultants** building weekly pipelines of new opportunities for clients
- **Nonprofits, universities and research offices** tracking funding in their field
- **Startups and small businesses** looking for SBIR/STTR and other federal funding
- **Analysts and journalists** studying federal funding trends
- **AI agents and automations** that need fresh, structured funding leads

### Features

- 🔎 Free-text **keyword** search (e.g. `artificial intelligence`, `climate resilience`, `SBIR`)
- 🏛️ Filter by **agency codes** (e.g. `NSF`, `HHS-NIH11`, `DOE`)
- 🔢 Filter by **Assistance Listing / CFDA** number (e.g. `47.075`)
- ✅ Filter by **applicant eligibility** codes (nonprofits, universities, small businesses, …)
- 📅 Filter by **status**: forecasted, posted, closed, archived
- ⏰ **"Closing within N days"** filter — ideal for scheduled weekly deadline alerts
- 🆕 **"Posted within last N days"** filter — only newly posted grants, perfect for a weekly "new grants" alert
- ↕️ **Sort** by relevance, newest posted first, or soonest deadline first
- 💰 Full details: award ceiling and floor, estimated total funding, expected number of awards, cost sharing, funding instruments, categories, eligible applicants, description and agency contact
- 🔗 Direct link to every opportunity on Grants.gov

### How to use it

1. Click **Try for free** / **Start**.
2. Enter a keyword and (optionally) agencies, CFDA, eligibility codes, statuses and a deadline window.
3. Set **Max results**.
4. Run it and download the results, or schedule it (e.g. every Monday) and connect an integration to get new opportunities delivered automatically.

### Input example

```json
{
  "keyword": "artificial intelligence",
  "statuses": ["forecasted", "posted"],
  "agencies": ["NSF"],
  "closingWithinDays": 60,
  "maxItems": 100,
  "includeDetails": true
}
```

| Field | Description |
|---|---|
| `keyword` | Free-text search |
| `statuses` | `forecasted`, `posted`, `closed`, `archived` (default: forecasted + posted) |
| `agencies` | Grants.gov agency codes, e.g. `NSF`, `HHS-NIH11`, `DOE` |
| `cfda` | Assistance Listing number, e.g. `47.075` |
| `eligibilities` | Grants.gov eligibility codes, e.g. `12` (501(c)(3) nonprofits), `20` (private universities), `23` (small businesses), `25` (others) |
| `closingWithinDays` | Only keep opportunities whose deadline is within N days |
| `postedWithinDays` | Only keep opportunities posted in the last N days (sorts newest first automatically) |
| `sortBy` | `relevance` (default), `newest` or `closingSoon` |
| `maxItems` | Maximum number of opportunities to return (default 50) |
| `includeDetails` | Fetch award amounts, description, eligibility and contact (default true) |

### Output example

```json
{
  "id": "320753",
  "number": "PD-19-127Y",
  "title": "Science of Learning and Augmented Intelligence (SL)",
  "agencyCode": "NSF",
  "agency": "U.S. National Science Foundation",
  "status": "posted",
  "docType": "synopsis",
  "openDate": "2019-09-19",
  "closeDate": "2027-02-10",
  "daysUntilClose": 116,
  "cfdaList": [
    "47.075"
  ],
  "url": "https://www.grants.gov/search-results-detail/320753",
  "awardCeiling": null,
  "awardFloor": 550,
  "estimatedTotalFunding": null,
  "expectedAwards": null,
  "costSharing": false,
  "fundingInstruments": [
    "Grant"
  ],
  "categories": [
    "Science and Technology and other Research and Development"
  ],
  "eligibleApplicants": [
    "Unrestricted (i.e., open to any type of entity above), subject to any clarification in text field entitled \"Additional Information on Eligibility\""
  ],
  "eligibilityNotes": "",
  "description": "Science of Learning and Augmented Intelligence (SL) supports potentially transformative research that develops basic theoretical insights and fundamental knowle…",
  "contactName": "U.S. National Science Foundation",
  "contactEmail": "grantsgovsupport@nsf.gov",
  "contactPhone": "703-292-4203",
  "lastUpdated": "2026-10-15"
}
```

### Pricing

**Pay per event: $0.003 per grant opportunity returned** (**$3 per 1,000**), full details included, no start fee. You only pay for opportunities saved to your dataset. Set a *Maximum cost per run* and the Actor stops cleanly when it's reached. The 20-result test run above used about $0.0003 of platform compute.

How that compares with other Grants.gov Actors on the Apify Store (free-tier list prices from the Store API, checked 18 Oct 2026; paid Apify plans may get lower tiered prices on some):

| Actor | Price per 1,000 results | Start fee |
|---|---|---|
| **This Actor** | **$3.00** | none |
| Grants.gov Federal Grants Scraper (solidcode) | $9.60 | $0.005 |
| Grants.gov Opportunity Scraper (moving_beacon-owner1) | $9.99 | $0.00005 |
| Grants Gov Scraper (fortuitous_pirate) | $4.38 | $0.001 |
| Grants.gov Scraper API (pink_comic) | $2.00 | $0.0001 |
| Grants.gov Scraper, Award Ceiling & ALN Codes (hridayrungta) | $1.50 | none |

Some Actors are cheaper per row. This one adds the deadline and "posted within" alert filters, the full detail record (award ceiling/floor, total funding, eligibility, contact) on every row, and automatic retries that keep partial results if Grants.gov stops responding.

### Tips

- **Weekly new-grants alert:** `{"keyword": "youth mental health", "postedWithinDays": 7}` on a Monday **schedule**, connected to Google Sheets, Slack or email.
- **Deadline digest:** `{"closingWithinDays": 30, "sortBy": "closingSoon"}` to see what's due soon.
- **Nonprofit funding only:** add `"eligibilities": ["12"]` (501(c)(3) nonprofits).
- Set `includeDetails` to `false` for a faster, lighter list (no award amounts/contacts).
- Combine with the Google Sheets or Slack integrations to share new opportunities with your team.

### FAQ

**Is this legal?** Yes. It uses the official, public Grants.gov API. Contact details are those published by agencies on Grants.gov.

**What if Grants.gov is down or slow?** The Actor retries automatically with backoff for up to about 2 minutes. If Grants.gov still doesn't respond partway through a run, the Actor keeps every grant it already saved, finishes successfully and sets the status to *"Partial results: Grants.gov stopped responding after N grants"*. You're only charged for the grants actually returned; just run it again later for the rest.

**Is it affiliated with Grants.gov?** No. This Actor is not affiliated with, endorsed by, or sponsored by Grants.gov or the US Government.

**Found a bug or need a feature?** Open an issue in the Actor's **Issues** tab — feedback is welcome.

**How do I get a weekly email or Slack message with new grants?** Create a schedule (e.g. every Monday) with `postedWithinDays: 7` and add the Slack, email or Google Sheets integration to the schedule's task.

**Which eligibility code is for nonprofits?** `12` = 501(c)(3) nonprofits (other than higher education), `13` = nonprofits without 501(c)(3), `20` = private universities, `06` = public universities, `23` = small businesses, `25` = others. Leave it empty to get everything.

**Does it include private foundation grants?** No. Grants.gov lists federal opportunities only. For awards that were already made, see USAspending in *Related tools* below.

**Can I use it from an AI agent or my own code?** Yes. Call it through the Apify API, the JavaScript/Python clients or Apify's MCP server; output fields are stable.

### Related tools

Other Actors by the same developer that work well with this one:

- [USAspending Scraper](https://apify.com/dedicated_crest/usaspending-federal-awards): see who already won federal grants and contracts in your field (past awards, recipients, amounts)
- [SEC EDGAR Scraper](https://apify.com/dedicated_crest/sec-edgar-funding-leads): private-company funding rounds from SEC Form D filings
- [GDELT News Scraper](https://apify.com/dedicated_crest/gdelt-news-monitor): monitor news coverage of a program, agency or funding topic
- [NPI Registry Scraper](https://apify.com/dedicated_crest/npi-healthcare-provider-leads): US healthcare provider lists for health-related grant outreach

# Actor input Schema

## `keyword` (type: `string`):

Free-text search, e.g. 'artificial intelligence'

## `statuses` (type: `array`):

Opportunity statuses

## `agencies` (type: `array`):

e.g. NSF, HHS-NIH11, DOE

## `cfda` (type: `string`):

e.g. 47.075

## `eligibilities` (type: `array`):

Grants.gov codes, e.g. 25 (Others), 12 (Nonprofits 501c3), 20 (Private universities), 23 (Small businesses)

## `closingWithinDays` (type: `integer`):

Only keep opportunities whose application deadline is within the next N days (great for weekly deadline alerts)

## `postedWithinDays` (type: `integer`):

Only keep opportunities posted (opened) on Grants.gov in the last N days — e.g. 7 for a weekly 'new grants' alert. Automatically sorts newest first.

## `sortBy` (type: `string`):

Result order. Defaults to Relevance, or Newest when 'Posted within last N days' is set.

## `maxItems` (type: `integer`):

Max results

## `includeDetails` (type: `boolean`):

Fetch award amounts, description, eligibility text, contact (1 extra request per item)

## Actor input object example

```json
{
  "keyword": "artificial intelligence",
  "statuses": [
    "forecasted",
    "posted"
  ],
  "maxItems": 20,
  "includeDetails": true
}
```

# Actor output Schema

## `results` (type: `string`):

Grant opportunities with deadlines, award amounts, eligibility, agency contacts and Grants.gov links.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "keyword": "artificial intelligence",
    "maxItems": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("dedicated_crest/grants-gov-opportunity-finder").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "keyword": "artificial intelligence",
    "maxItems": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("dedicated_crest/grants-gov-opportunity-finder").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "keyword": "artificial intelligence",
  "maxItems": 20
}' |
apify call dedicated_crest/grants-gov-opportunity-finder --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,dedicated_crest/grants-gov-opportunity-finder"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/imbcI522UkGM5yadr/builds/zBdo0iAPD9Im75WUO/openapi.json
