Grants.gov Opportunities Scraper avatar

Grants.gov Opportunities Scraper

Pricing

from $2.25 / 1,000 opportunity saveds

Go to Apify Store
Grants.gov Opportunities Scraper

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

Hanna Nosova

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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 opportunityId values 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

{
"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?

FieldDescription
opportunityIdStable Grants.gov opportunity ID used for dedupe.
opportunityNumberPublic opportunity number.
titleOpportunity title.
agencyCode, agencyNameAgency identifiers/names from search or detail data.
status, docType, categorySource status/type/category fields.
cfdaListAssistance listing / CFDA numbers.
openDate, openDateIso, closeDate, closeDateIsoRaw and normalized dates when parseable.
fundingInstrument, fundingCategory, eligibilityPublic detail classifications when available.
awardCeiling, awardFloor, estimatedTotalFundingFunding amount fields when Grants.gov exposes them.
descriptionPublic synopsis or forecast description.
contactName, contactEmail, contactPhonePublic opportunity contact fields when requested and available.
attachmentsPublic attachment metadata only; files are not downloaded.
sourceUrl, fetchedAt, warningsSource link, scrape timestamp, and row-level warnings.

Input configuration

SettingJSON keyUse it forExample
KeywordkeywordMain Grants.gov search phrase.climate
Additional keywordskeywordsExtra search terms.["resilience"]
Agency filtersagenciesNarrow to agency codes/names when compatible with the source API.["DOC"]
StatusesstatusesPreserve recipe intent for posted/forecasted/closed workflows.["posted", "forecasted"]
Funding categoriesfundingCategoriesOptional source-compatible category filters.["Environment"]
Funding instrumentsfundingInstrumentsOptional source-compatible funding instrument filters.["Grant"]
EligibilitieseligibilitiesOptional source-compatible eligibility filters.["Nonprofits"]
Date fromdateFromOptional date filter start, YYYY-MM-DD recommended.2026-01-01
Date todateToOptional date filter end, YYYY-MM-DD recommended.2026-12-31
Include detailsincludeDetailsFetch descriptions, contacts, funding fields, eligibility, and attachment metadata.true
Include contactsincludeContactsSave public contact fields when detail data exposes them.true
Include attachmentsincludeAttachmentsSave public attachment metadata only.false
Maximum opportunitiesmaxItemsCap saved rows and control spend.10
Maximum detail requestsmaxDetailRequestsLimit enrichment calls.10
Fail on emptyfailOnSourceUnavailableFail 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

EventPriceCharged when
Opportunity saved$0.003 per rowAfter 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 ApifyClient
client = 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."

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.