ParseForge Scrapers

Grants.gov Federal Grant Scraper

parseforge/grants-gov-scraper

AutomationDeveloper toolsOther

Scrapes federal grant opportunities from Grants.gov by keyword, agency, category, eligibility, and close date. Returns each grant as a flat row with optional full details, contact info, and attachments.

Run this scraper See the API call
Total users
4
Monthly active
3
Total runs
545
Bookmarked
1
Rating
Not rated yet
Last modified
9 days ago

Overview

ParseForge

Grants.gov Federal Grant Scraper

Scrape federal grant opportunities from Grants.gov by keyword, agency, category, or eligibility, up to a million per run. Each grant comes with its title, agency, funding amount, close date, and status. Export to CSV, JSON, Excel, or XML.

Finding federal grants on Grants.gov means sifting through thousands of postings with limited search tools. This scraper reads the public opportunity listings directly, filters them by agency, funding category, eligibility, and date range, and returns each match in one fixed schema. No API key or registration required.

Who uses it What they scrape Grants.gov for
Nonprofit grant writers Build a pipeline of open health and education grants closing this quarter.
University research administrators Monitor NSF and NIH postings for faculty funding opportunities.
Small business consultants Find SBIR and STTR grants from DOD and DOE for their clients.
Market researchers Track which federal agencies are funding climate and energy projects.

What it does

This Actor collects federal grant opportunities from Grants.gov by keyword search and returns each one as a flat row with title, agency, status, close date, and optional full details.

  • ๐Ÿ” Keyword search: Use AND/OR operators to narrow grants by topic, like 'rural health' or 'AI AND cybersecurity'.
  • ๐Ÿ›๏ธ Agency filter: Target specific agencies with their code, such as HHS, NSF, DOE, or USDA.
  • ๐Ÿ“… Date range filter: Collect only grants closing within a specific window using close date from and to fields.
  • ๐Ÿ“‹ Status filter: Choose from posted, forecasted, closed, or archived opportunities.
  • ๐Ÿ“Ž Full details mode: Optionally fetch the complete description, eligibility criteria, contact info, and attachment links for each grant.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Grants.gov data

๐Ÿ“‹ Build a weekly grant digest.

A nonprofit consultant runs the scraper every Monday with keywords 'community health' and status 'posted' to email a curated list of open opportunities to their clients.

๐Ÿ“Š Analyze federal funding trends.

A policy researcher collects a year of archived DOE grants with the 'energy' category to chart which technologies received the most funding.

๐ŸŽฏ Find grants for a specific applicant type.

A tribal government grant writer filters by eligibility code 06 (Native American) and agency BIA to see only relevant postings.

โฐ Monitor approaching deadlines.

A university research office sets a close date range for the next 30 days and keyword 'engineering' to alert faculty before applications close.

Why choose this scraper

What you get
No API key needed Reads public Grants.gov listings directly, no registration or OAuth.
Up to 1M grants per run Collect large datasets for historical analysis or broad monitoring.
Fixed flat schema Every grant returns the same fields, ready for CSV, JSON, Excel, or XML export.
Full detail extraction Optionally pull full descriptions, eligibility text, and attachment links.

How it compares

This actor focuses on direct, high-volume Grants.gov scraping with full detail extraction, while Scholarship Intel combines grants with university data and Funding Intel adds AI-powered risk monitoring across multiple sources.

Feature ParseForge Scholarship Intel Funding Intel
Direct Grants.gov scraping Yes, reads public search and detail pages Yes, real-time Grants.gov opportunities Not listed
Full grant detail extraction Yes, optional full description, eligibility, contacts, and attachments Not listed Not listed
Filter by agency code Yes, filter by agency code like HHS, NSF, DOE Not listed Not listed
Filter by eligibility code Yes, filter by applicant type like nonprofits or state governments Not listed Not listed
Up to 1,000,000 grants per run Yes Not listed Not listed
University and scholarship data Not listed Yes, 6,400+ US institutions Not listed
AI-powered risk and compliance monitoring Not listed Not listed Yes, across 14+ government sources

Configure the run

Drive the Actor with a keyword search and optional filters for agency, funding category, eligibility, status, and close date range. Filters run as each grant is read so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
  "keywords": "health",
  "maxItems": 10
}

A larger pull:

{
  "keywords": "health",
  "maxItems": 200
}

Pricing

Pay-per-result: $0.0075 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $0.75
1,000 results $7.50
10,000 results $75.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Grants.gov Federal Grant Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Grants.gov through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/grants-gov-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that your keyword is not too narrow and that your filters, especially status and close date range, are not excluding all grants. Try running with only a keyword and status set to 'All' first, then add filters back one at a time.

The run is taking a long time with full details enabled.

Full details mode visits each grant's page individually, which adds time. Reduce the maximum grants or disable full details if you only need summary data.

My agency filter is not working.

Agency codes are case-sensitive abbreviations. Use the official code like 'HHS' not 'Health and Human Services'. Check Grants.gov for the correct agency code.

The close date filter is returning unexpected grants.

Dates must be in MM/DD/YYYY format. The 'Close Date From' is inclusive and 'Close Date To' is inclusive. Make sure your date range covers the period you intend.

I am only getting a few grants but I know there are more.

Increase the 'Maximum grants' value. The scraper stops when it hits this limit, even if more matching grants exist.

FAQ

Question Answer
Do I need a Grants.gov account or API key to use this? No. The scraper reads the public search results and detail pages on Grants.gov directly. No login, API key, or registration is required.
What data does each grant row include? Every row returns the grant title, agency, funding opportunity number, status, posted date, close date, and a summary. When you enable full details, it also includes the full description, eligibility information, contact details, and attachment links.
Can I filter by who is eligible to apply? Yes. Use the eligibility filter with codes like 12 for nonprofits, 00 for state governments, 06 for Native American tribes, or 99 for unrestricted opportunities.
How do I search for grants from a specific agency? Enter the agency code in the Agency field. Common codes include HHS (Health and Human Services), NSF (National Science Foundation), DOE (Energy), and USDA (Agriculture).
What does the full details option do? When enabled, the scraper visits each grant's detail page to extract the full description, eligibility text, agency contact information, and links to any attached files. This takes longer but provides much richer data.
Can I search for multiple keywords at once? Yes. The keyword field supports AND and OR operators. For example, 'rural AND health' finds grants containing both terms, while 'solar OR wind' finds grants containing either.
What statuses can I filter by? You can filter by posted (currently open), forecasted (upcoming), closed (past deadline), or archived. Choose 'All' to return grants in any status.
How many grants can I collect in one run? You can set the maximum up to 1,000,000 grants per run. The scraper will stop once it reaches that number or there are no more matching results.
What export formats are supported? Your dataset can be exported to CSV, JSON, Excel, or XML directly from the Apify platform.
Can I schedule this scraper to run automatically? Yes. Use Apify's scheduler to run the actor daily, weekly, or on a custom cron schedule and receive new grant listings automatically.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Grants.gov. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
keywords string Search for grants containing these keywords (e.g., 'health', 'education', 'climate'). Supports AND/OR operators. health
maxItems integer How many grants to collect per run. 10
oppStatuses string (5 options) Filter by grant status. posted
agencies string Filter by federal agency code (e.g., 'HHS', 'DOE', 'EPA', 'NSF', 'USDA', 'DOD', 'NASA'). Leave empty for all. not set
fundingCategories string Filter by category code. Examples: HL (Health), ED (Education), EN (Energy), ST (Science/Technology), AG (Agriculture), ENV (Environment). not set
eligibilities string Filter by applicant type code. Examples: 25 (Others), 99 (Unrestricted), 12 (Nonprofits), 00 (State govts), 06 (Native American). not set
closeDateStart string Only include grants closing on or after this date (MM/DD/YYYY). not set
closeDateEnd string Only include grants closing on or before this date (MM/DD/YYYY). not set
includeDetails boolean Fetch full description, eligibility info, contact details, and attachments for each grant. Slower but much more data. false

Pricing

from $7.00 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.007 to $0.0075

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~grants-gov-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run Grants.gov Federal Grant Scraper on Apify All scrapers