Grants.gov Federal Funding Opportunities Scraper avatar

Grants.gov Federal Funding Opportunities Scraper

Pricing

from $12.89 / 1,000 opportunity records

Go to Apify Store
Grants.gov Federal Funding Opportunities Scraper

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

RecordsData

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

19 hours ago

Last modified

Share

PunkRecordsData

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?

FieldDescriptionRecord type
opportunityIdGrants.gov internal ID (links the two record types)both
opportunityNumberOfficial funding opportunity numberopportunity-record
titleOpportunity titleopportunity-record
agencyCode / agencyIssuing agency code and nameopportunity-record
openDate / closeDatePosting date and application deadline (MM/DD/YYYY)opportunity-record
oppStatus / docTypePosted, forecasted, closed or archived, and document typeopportunity-record
cfdaListAssistance Listing (CFDA) numbersopportunity-record
descriptionFull synopsis textopportunity-detail-record
awardCeiling / awardFloorMaximum and minimum award sizeopportunity-detail-record
estimatedFunding / numberOfAwardsTotal funding pool and expected number of awardsopportunity-detail-record
eligibilityDescWho may applyopportunity-detail-record
agencyContactName / agencyContactEmail / agencyContactPhoneAgency contactopportunity-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.

EventWhen it is chargedPrice (FREE tier)
opportunity-recordOne per grant opportunity delivered$0.01667 (about $16.67 per 1,000)
opportunity-detail-recordOne 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

  1. Open the Input tab, type a keyword (or leave it empty for everything) and choose the opportunity statuses.
  2. Set Max results and switch on Include full details if you need award amounts and eligibility.
  3. Click Start, then download the dataset as CSV, Excel or JSON.

โš™๏ธ Grants.gov scraper input

FieldTypeDefaultDescription
keywordstringemptySearch term matched against titles and descriptions
oppStatusesarray["posted"]forecasted, posted, closed, archived
maxItemsinteger200Maximum opportunities to return (10 on the free plan)
includeFullDetailsbooleanfalseAdd 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:

ActorPer resultDetail enrichment
This actor$0.01667Separate event, $0.02
scrapers_lat/grants-gov-scraper$0.012Separate event, $0.013846
solidcode/grants-gov-scraper$0.0096Not separate
shahidirfan/Grants-gov-Scraper$0.001Not 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.

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.

๐Ÿ†˜ 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