Grants.gov Opportunities Scraper
Pricing
from $2.25 / 1,000 opportunity saveds
Grants.gov Opportunities Scraper
Search and export public Grants.gov federal funding opportunities with optional detail enrichment.
Pricing
from $2.25 / 1,000 opportunity saveds
Rating
0.0
(0)
Developer
Hanna Nosova
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Export public U.S. federal funding opportunities from Grants.gov to structured datasets. The Actor searches the public Grants.gov API, deduplicates opportunities by stable ID, and can enrich each row with public detail fields such as descriptions, contacts, funding amounts, eligibility text, and attachment metadata.
At a glance
- Primary job: Build repeatable exports and monitors for public Grants.gov opportunity notices.
- Input: Keyword plus optional agency/category/date-style filters and detail limits.
- Output: One dataset row per public opportunity.
- Best for: Grant writers, nonprofits, universities, consultants, public-sector sales teams, civic-tech analysts, and funding-intelligence workflows.
Who is this for?
- Grant writers and consultants tracking new federal funding opportunities for clients.
- Nonprofits and universities building recurring grant-alert exports.
- Public-sector sales and civic-tech teams monitoring federal program signals.
- Analysts and data teams feeding Grants.gov rows into spreadsheets, CRMs, dashboards, or RAG systems.
Common use cases
- Funding research: Search public opportunities by keyword and export structured rows.
- Monitoring: Schedule small repeat runs and compare stable
opportunityIdvalues over time. - CRM enrichment: Send agency, contact, date, and funding fields to downstream systems.
- Automation: Use Apify datasets, API, webhooks, or MCP-compatible tools.
Ready-to-run tasks
These task recipes cover distinct buyer workflows and can be copied directly into the Actor input. Publisher will create their public Examples after publication.
- Climate funding opportunities
- Commerce agency grants
- Grant deadline watch
- Nonprofit eligibility grants
Climate funding opportunities
{"keyword": "climate","statuses": ["posted", "forecasted"],"includeDetails": true,"includeContacts": true,"includeAttachments": true,"maxItems": 10,"maxDetailRequests": 10}
Agency pipeline monitor
{"keyword": "research","agencies": ["DOC"],"includeDetails": false,"includeContacts": false,"includeAttachments": false,"maxItems": 10,"maxDetailRequests": 0}
Deadline watch
{"keyword": "education","includeDetails": true,"includeContacts": true,"includeAttachments": false,"maxItems": 10,"maxDetailRequests": 10}
What data can you extract?
| Field | Description |
|---|---|
opportunityId | Stable Grants.gov opportunity ID used for dedupe. |
opportunityNumber | Public opportunity number. |
title | Opportunity title. |
agencyCode, agencyName | Agency identifiers/names from search or detail data. |
status, docType, category | Source status/type/category fields. |
cfdaList | Assistance listing / CFDA numbers. |
openDate, openDateIso, closeDate, closeDateIso | Raw and normalized dates when parseable. |
fundingInstrument, fundingCategory, eligibility | Public detail classifications when available. |
awardCeiling, awardFloor, estimatedTotalFunding | Funding amount fields when Grants.gov exposes them. |
description | Public synopsis or forecast description. |
contactName, contactEmail, contactPhone | Public opportunity contact fields when requested and available. |
attachments | Public attachment metadata only; files are not downloaded. |
sourceUrl, fetchedAt, warnings | Source link, scrape timestamp, and row-level warnings. |
Input configuration
| Setting | JSON key | Use it for | Example |
|---|---|---|---|
| Keyword | keyword | Main Grants.gov search phrase. | climate |
| Additional keywords | keywords | Extra search terms. | ["resilience"] |
| Agency filters | agencies | Narrow to agency codes/names when compatible with the source API. | ["DOC"] |
| Statuses | statuses | Preserve recipe intent for posted/forecasted/closed workflows. | ["posted", "forecasted"] |
| Funding categories | fundingCategories | Optional source-compatible category filters. | ["Environment"] |
| Funding instruments | fundingInstruments | Optional source-compatible funding instrument filters. | ["Grant"] |
| Eligibilities | eligibilities | Optional source-compatible eligibility filters. | ["Nonprofits"] |
| Date from | dateFrom | Optional date filter start, YYYY-MM-DD recommended. | 2026-01-01 |
| Date to | dateTo | Optional date filter end, YYYY-MM-DD recommended. | 2026-12-31 |
| Include details | includeDetails | Fetch descriptions, contacts, funding fields, eligibility, and attachment metadata. | true |
| Include contacts | includeContacts | Save public contact fields when detail data exposes them. | true |
| Include attachments | includeAttachments | Save public attachment metadata only. | false |
| Maximum opportunities | maxItems | Cap saved rows and control spend. | 10 |
| Maximum detail requests | maxDetailRequests | Limit enrichment calls. | 10 |
| Fail on empty | failOnSourceUnavailable | Fail instead of succeeding with zero rows for strict monitors. | false |
Input example
{"keyword": "climate","statuses": ["posted", "forecasted"],"includeDetails": true,"includeContacts": true,"includeAttachments": true,"maxItems": 10,"maxDetailRequests": 10,"failOnSourceUnavailable": false}
Example output
{"opportunityId": "103313","opportunityNumber": "NOAA-OAR-CPO-2012-2003041","title": "Climate Program Office for FY 2012","agencyCode": "DOC","agencyName": "Department of Commerce","status": "posted","docType": "synopsis","cfdaList": ["11.431"],"openDate": "07/06/2011","openDateIso": "2011-07-06","closeDate": "","closeDateIso": null,"description": "Changing climate confronts society with significant economic...","contactEmail": "steve.j.drescher@noaa.gov","sourceUrl": "https://www.grants.gov/search-results-detail/103313","fetchedAt": "2026-07-28T00:00:00.000Z","warnings": []}
Pricing
| Event | Price | Charged when |
|---|---|---|
| Opportunity saved | $0.003 per row | After a public Grants.gov opportunity row is saved to the dataset. |
Discount tiers use the standard Apify Store labels: Free, Bronze, Silver, Gold, Platinum, and Diamond.
The Actor does not charge for failed detail fetches, skipped optional attachment downloads, empty searches, or summary metadata.
Limits and caveats
- Public data only: This Actor returns public Grants.gov opportunity notices, not private applications, workspace data, or applicant-specific materials.
- No grant-fit advice: It does not score eligibility or recommend whether you should apply.
- Source semantics: Grants.gov may omit fields or use older date formats; raw fields are preserved and normalized fields are nullable.
- Attachments: V1 emits metadata only and does not download or parse attached files.
API usage
Node.js
import { ApifyClient } from "apify-client";const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor("fetch_cat/grants-gov-opportunities-scraper").call({keyword: "climate",includeDetails: true,maxItems: 10,maxDetailRequests: 10});console.log(run.defaultDatasetId);
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("fetch_cat/grants-gov-opportunities-scraper").call(run_input={"keyword": "climate","includeDetails": True,"maxItems": 10,"maxDetailRequests": 10,})print(run["defaultDatasetId"])
cURL
curl -X POST "https://api.apify.com/v2/acts/fetch_cat~grants-gov-opportunities-scraper/runs?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"keyword":"climate","includeDetails":true,"maxItems":10,"maxDetailRequests":10}'
MCP and AI agents
Use this Actor from MCP-compatible tools through the official Apify MCP Server.
$claude mcp add --transport http apify "https://mcp.apify.com?tools=fetch_cat/grants-gov-opportunities-scraper"
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=fetch_cat/grants-gov-opportunities-scraper"}}}
Example prompt: "Run Grants.gov Opportunities Scraper for climate opportunities and summarize upcoming deadlines."
Related actors
FAQ
Can I export results?
Yes. Apify datasets support JSON, CSV, Excel, XML, RSS, and API access.
Does this scrape private grant applications?
No. It only exports public Grants.gov opportunity notice data.
Why are some fields empty?
Grants.gov does not expose every field for every opportunity. The Actor preserves raw values where available and leaves unavailable fields empty instead of guessing.
Support
Open an issue from the Actor page if a run fails or output looks wrong. Include the run ID, input JSON, expected output, actual output, and one reproducible public URL or Grants.gov opportunity link.