Grants.gov Federal Funding Opportunities Scraper
Pricing
from $12.89 / 1,000 opportunity records
Grants.gov Federal Funding Opportunities Scraper
Search Grants.gov, the official US federal grants database, by keyword and status (posted, forecasted, closed, archived). Get title, agency, open and close dates, CFDA codes, plus optional award ceiling and floor, total funding, eligibility and contact. Export CSV, Excel, JSON. No login.
Pricing
from $12.89 / 1,000 opportunity records
Rating
0.0
(0)
Developer
RecordsData
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
19 hours ago
Last modified
Categories
Share
Grants.gov Federal Funding Opportunities Scraper
Grants.gov Federal Funding Opportunities Scraper searches Grants.gov, the official US federal grants database, by keyword and status. Each result has title, agency, open and close dates, status and CFDA codes. Optional detail rows add award ceiling and floor, total funding and eligibility. Export CSV, Excel or JSON. No login, no API key. Opportunity record: $16.67 per 1,000.
๐๏ธ Grants.gov scraper: what does it do?
This actor queries the public Grants.gov search API and returns every federal grant opportunity that matches your keyword and status filter. The Grants.gov API returns up to 500 opportunities per page and the actor pages through all matches until your Max results limit. It is built for grant writers, nonprofits, universities and funding researchers who want a clean spreadsheet instead of clicking through search pages.
- Search federal grants by keyword, for example "rural broadband" or "STEM education".
- Filter by status: posted (open now), forecasted, closed or archived.
- Get agency, opportunity number, open date, close date and CFDA (Assistance Listing) codes.
- Optionally pull the full detail: award ceiling, award floor, total estimated funding, number of awards, eligibility text and agency contact.
- Schedule runs and get notified when new opportunities appear.
๐ Grants.gov data: what can you extract?
| Field | Description | Record type |
|---|---|---|
opportunityId | Grants.gov internal ID (links the two record types) | both |
opportunityNumber | Official funding opportunity number | opportunity-record |
title | Opportunity title | opportunity-record |
agencyCode / agency | Issuing agency code and name | opportunity-record |
openDate / closeDate | Posting date and application deadline (MM/DD/YYYY) | opportunity-record |
oppStatus / docType | Posted, forecasted, closed or archived, and document type | opportunity-record |
cfdaList | Assistance Listing (CFDA) numbers | opportunity-record |
description | Full synopsis text | opportunity-detail-record |
awardCeiling / awardFloor | Maximum and minimum award size | opportunity-detail-record |
estimatedFunding / numberOfAwards | Total funding pool and expected number of awards | opportunity-detail-record |
eligibilityDesc | Who may apply | opportunity-detail-record |
agencyContactName / agencyContactEmail / agencyContactPhone | Agency contact | opportunity-detail-record |
Fields that Grants.gov leaves blank for an opportunity are omitted from that row, so there are no placeholder values.
๐งพ Grants.gov scraper sample output
Real rows from a run on 2026-10-03 (keyword "health", status "posted", full details on).
Opportunity record:
{"recordType": "opportunity-record","opportunityId": 337086,"opportunityNumber": "CDC-RFA-TP22-2201","title": "Public Health Crisis Response Cooperative Agreement","agencyCode": "HHS-CDC-OPHPR","agency": "Centers for Disease Control - OPHPR","openDate": "01/13/2022","closeDate": "02/11/2027","oppStatus": "posted","docType": "synopsis","cfdaList": ["93.354"]}
Detail record (shortened description):
{"recordType": "opportunity-detail-record","opportunityId": 361754,"description": "The Office of Population Affairs (OPA) announces the anticipated availability of funds for Fiscal Year (FY) 2027 grants under the authority of Title X of the Public Health Service Act...","awardCeiling": "22,000,000","awardFloor": "200,000","estimatedFunding": "257,000,000","numberOfAwards": "90","eligibilityDesc": "Any public or private nonprofit entity is eligible to apply.","agencyContactName": "Office of the Assistant Secretary for Health","agencyContactEmail": "Eric.West@hhs.gov"}
๐ฐ How much does it cost to scrape Grants.gov?
The actor uses Pay Per Event pricing. Prices below are the FREE-tier prices live on the actor today; paid Apify plans get lower per-event prices.
| Event | When it is charged | Price (FREE tier) |
|---|---|---|
opportunity-record | One per grant opportunity delivered | $0.01667 (about $16.67 per 1,000) |
opportunity-detail-record | One per opportunity when "Include full details" is on and the detail has content | $0.02 (about $20 per 1,000) |
You are never charged for failed detail lookups, empty searches, or runs that fail. Example: 10 opportunities without details cost about $0.17; 10 with details cost about $0.37. Set a maximum cost per run in the run options and the actor stops cleanly when it is reached. The free Apify plan is limited to 10 results per run.
โถ๏ธ How to scrape Grants.gov in 3 steps
- Open the Input tab, type a keyword (or leave it empty for everything) and choose the opportunity statuses.
- Set Max results and switch on Include full details if you need award amounts and eligibility.
- Click Start, then download the dataset as CSV, Excel or JSON.
โ๏ธ Grants.gov scraper input
| Field | Type | Default | Description |
|---|---|---|---|
keyword | string | empty | Search term matched against titles and descriptions |
oppStatuses | array | ["posted"] | forecasted, posted, closed, archived |
maxItems | integer | 200 | Maximum opportunities to return (10 on the free plan) |
includeFullDetails | boolean | false | Add one detail row per opportunity |
{"keyword": "health","oppStatuses": ["posted"],"maxItems": 10,"includeFullDetails": false}
๐ฆ Grants.gov scraper output
The dataset has one opportunity-record row per match. With full details on, an opportunity-detail-record row follows each opportunity, joined by opportunityId. The Overview view shows type, title, agency, status, deadline, total funding and maximum award. If a search has no matches, the run ends as succeeded with a clear status message and nothing is charged. If Grants.gov is unreachable and no results were delivered, the run fails instead of pretending to succeed.
โ๏ธ Grants.gov scraper vs alternatives
Prices read from the public Apify Store API on 2026-10-03, FREE tier, per result:
| Actor | Per result | Detail enrichment |
|---|---|---|
| This actor | $0.01667 | Separate event, $0.02 |
| scrapers_lat/grants-gov-scraper | $0.012 | Separate event, $0.013846 |
| solidcode/grants-gov-scraper | $0.0096 | Not separate |
| shahidirfan/Grants-gov-Scraper | $0.001 | Not separate |
Several alternatives are cheaper per row, and we say so. What this actor gives you is a clean two-record model (list first, pay for detail only when you want it), no empty placeholder columns, a hard stop at your cost limit and a failed run that never bills. If raw price per row is your only criterion, pick a cheaper one.
๐ก Grants.gov scraper use cases
- Grant discovery for nonprofits and universities: watch new posted opportunities in your field.
- Grant-writing consultancies: build a client pipeline with funding size and eligibility in one export.
- Policy and funding research: see which agencies fund which categories and at what scale.
- Competitive intelligence: check award ceilings and eligibility before deciding to apply.
๐ Run the Grants.gov scraper via API and integrations
curl -X POST "https://api.apify.com/v2/acts/RecordsData~grants-gov-opportunities-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"keyword":"health","oppStatuses":["posted"],"maxItems":10}'
Use the Apify API client for JavaScript or Python, schedule recurring runs, or connect to Zapier, Make, n8n and Google Sheets. The actor is also callable from AI agents through the Apify MCP server.
๐ Is it legal to scrape Grants.gov?
Grants.gov is the US government's official public listing of federal funding opportunities and offers a public search API without login. The actor reads only that public data. You remain responsible for how you use it, including any contact details in agency records.
โ Grants.gov scraper FAQ
Why did my run return 0 results? The keyword and status combination matched nothing. Try a broader keyword or add statuses such as forecasted or closed. The run succeeds and you are not charged.
Why do some opportunities have no award ceiling? Not every agency publishes one. The actor returns what Grants.gov provides and omits blank fields.
Do I need an API key or login? No.
What does "Include full details" cost? One extra opportunity-detail-record event per opportunity, $0.02 on the FREE tier.
Can I get only open grants? Yes. The default status is posted, which means open for applications.
What happens at my cost limit? The run stops cleanly with the message "Stopped at your max charge limit" and keeps what was already delivered.
How many results can I get? The Grants.gov API pages through all matches. The free plan returns 10 per run; paid plans return up to your Max results.
Are dates in a standard format? Dates come as MM/DD/YYYY, exactly as Grants.gov reports them.
๐ Want related US government data?
- Federal Contracts Spending Scraper: USAspending.gov award data.
- SEC EDGAR Filings Scraper: 10-K, 10-Q and insider trades.
๐ Support
Found a bug or need a custom scraper? Open an issue in the Issues tab or write to contact.punkrecordsdata@gmail.com.
Last updated: 2026-10-03