Grants.gov Scraper: US Federal Grant Opportunities avatar

Grants.gov Scraper: US Federal Grant Opportunities

Pricing

$8.00 / 1,000 opportunities

Go to Apify Store
Grants.gov Scraper: US Federal Grant Opportunities

Grants.gov Scraper: US Federal Grant Opportunities

Returns open and forecasted US federal grant opportunities from Grants.gov, one row per opportunity with agency, dates, award ceiling and floor, total funding, expected awards, categories, eligibility, CFDA (ALN) numbers and link. Filter by keyword, agency, category, eligibility and posted date.

Pricing

$8.00 / 1,000 opportunities

Rating

0.0

(0)

Developer

Viktor Wiberg

Viktor Wiberg

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 hours ago

Last modified

Share

Grants.gov Federal Grant Opportunities Scraper

Open and forecasted US federal grant opportunities from Grants.gov, one row per opportunity. Each row has the opportunity number and title, the agency, status, posted and closing dates, award ceiling and floor, estimated total funding, expected number of awards, cost sharing, funding categories, eligible applicant types, Assistance Listing (CFDA) numbers, a plain text description and a link to the opportunity on Grants.gov.

Use it to find grants your organization can apply for, to watch new federal funding in one field every morning, or to feed a grant pipeline, CRM or newsletter with structured data instead of reading the Grants.gov website by hand.

What is covered

Every opportunity that federal grant-making agencies publish on Grants.gov: synopses that are open for applications (posted), forecasts of opportunities that will open later (forecasted), and on request closed and archived ones. That is about 1 500 posted and forecasted opportunities at any time, and more than 80 000 in total.

  • Filters: keywords, agency (a top agency includes its sub agencies), funding category, eligible applicant type, funding instrument, Assistance Listing number, status and posted date range.
  • Newest posted first.
  • One search request per 250 hits, then one request per opportunity for the full details (award amounts, eligibility, description).

Example from a real run

This is the input and the first row of a run on the Apify platform on 3 October 2026 (run zUEqPLQIC4PfkpgdM, 10 rows in total). Only the description is shortened here; the actor returns up to 4 000 characters.

Input:

{
"keywords": ["broadband"],
"maxResults": 10
}

Output (excerpt):

[
{
"opportunityId": "363993",
"opportunityNumber": "DE-FOA-0003665",
"title": "FY 2027 Continuation of Solicitation for the Office of Science Financial Assistance Program",
"agencyCode": "PAMS-SC",
"agency": "Office of Science",
"topAgency": "Department of Energy - Office of Science",
"status": "posted",
"docType": "synopsis",
"postedDate": "2026-09-30",
"closeDate": "2027-09-30",
"closeDateIsEstimate": false,
"closeDateNote": null,
"archiveDate": "2027-12-30",
"estimatedPostDate": null,
"estimatedAwardDate": null,
"estimatedProjectStartDate": null,
"fiscalYear": null,
"awardCeiling": 10000000,
"awardFloor": 5000,
"estimatedTotalFunding": 400000000,
"expectedAwards": null,
"costSharing": false,
"opportunityCategory": "Discretionary",
"fundingInstruments": [
"Cooperative Agreement",
"Grant",
"Other",
"Procurement Contract"
],
"categories": [
"Science and Technology and other Research and Development"
],
"categoryCodes": [
"ST"
],
"eligibilities": [
"Unrestricted"
],
"eligibilityCodes": [
"99"
],
"eligibilityDescription": null,
"cfdaNumbers": [
"81.049"
],
"programTitles": [
"Office of Science Financial Assistance Program"
],
"description": "SC hereby announces its continuing interest in receiving applications for support of work in the following program areas:\n· Advanced Scientific Computing Research\n· Basic Energy Sciences\n· Biological and Environmental Research\n· Fusion Energy Sciences\n· High Energy and Nuclear Physics\n· Isotope R&D...",
"additionalInfoUrl": "https://science.osti.gov",
"lastUpdatedDate": "2026-09-30",
"url": "https://www.grants.gov/search-results-detail/363993",
"source": "Grants.gov, U.S. Department of Health and Human Services",
"license": "U.S. federal government information. This product uses the Grants.gov API but is not endorsed or certified by the U.S. Department of Health and Human Services."
}
]

The other 9 rows of the run were Department of Energy, NOAA, Department of Education and NTIA opportunities posted between March and September 2026, among them the Tribal Broadband Connectivity Program (closes 17 November 2026) and coastal flood protection grants with a 2 million USD ceiling.

Input

FieldTypeDefaultDescription
keywordsarrayallWords or phrases to search for. Any of them matches. A phrase with spaces is searched as a phrase, for example ["broadband", "climate resilience"].
agenciesarrayallAgency codes. HHS, DOE, NSF, USDA and other top agency codes include all sub agencies; a code with a dash such as HHS-NIH11 or DOC-NIST matches only that one.
fundingCategoriesarrayallCategory codes or names, for example HL (Health), ST (Science and Technology), ED (Education), ENV (Environment), AG (Agriculture), CD (Community Development).
eligibilitiesarrayallApplicant type codes or names, for example 23 (Small businesses), 12 (Nonprofits with 501(c)(3)), 00 (State governments), 06 (Public higher education), 99 (Unrestricted).
fundingInstrumentsarrayallG Grant, CA Cooperative Agreement, PC Procurement Contract, O Other.
cfdaNumbersarrayallAssistance Listing numbers (formerly CFDA), for example 93.866.
statusarray["posted", "forecasted"]Any of posted, forecasted, closed, archived.
postedFromstringnoneOnly opportunities posted on or after this date, YYYY-MM-DD.
postedTostringnoneOnly opportunities posted on or before this date, YYYY-MM-DD.
maxResultsinteger50Maximum number of opportunities per run. 1 to 5 000.
onlyNewbooleanfalseReturn only opportunities that earlier runs with the same input did not deliver. See "Monitoring and scheduling".

A run with empty input returns the 50 newest posted and forecasted opportunities in about 20 seconds (18 seconds of run time in a test on 3 October 2026).

All category codes: ACA Affordable Care Act, AG Agriculture, AR Arts, BC Business and Commerce, CD Community Development, CP Consumer Protection, DPR Disaster Prevention and Relief, ED Education, ELT Employment, Labor and Training, EN Energy, EIC Energy Infrastructure and Critical Minerals, ENV Environment, FN Food and Nutrition, HL Health, HO Housing, HU Humanities, ISS Income Security and Social Services, IS Information and Statistics, IIJ Infrastructure Investment and Jobs Act, LJL Law, Justice and Legal Services, NR Natural Resources, OZ Opportunity Zone Benefits, O Other, RA Recovery Act, RT Recreation and Tourism, RD Regional Development, ST Science and Technology and other Research and Development, T Transportation.

All applicant type codes: 00 State governments, 01 County governments, 02 City or township governments, 04 Special district governments, 05 Independent school districts, 06 Public and State controlled institutions of higher education, 07 Federally recognized Native American tribal governments, 08 Public housing authorities and Indian housing authorities, 11 Other Native American tribal organizations, 12 Nonprofits with 501(c)(3) status, 13 Nonprofits without 501(c)(3) status, 20 Private institutions of higher education, 21 Individuals, 22 For profit organizations other than small businesses, 23 Small businesses, 25 Others, 99 Unrestricted.

Output

FieldDescription
opportunityIdGrants.gov id, used in the page link
opportunityNumberFunding opportunity number from the agency, for example RFA-AI-28-031 or DE-FOA-0003665
titleTitle of the opportunity
agencyCode, agency, topAgencyAgency code, the agency or sub agency that posted it, and its department
statusposted, forecasted, closed or archived
docTypesynopsis (a full announcement) or forecast
postedDateDate the synopsis or forecast was posted, YYYY-MM-DD
closeDateApplication deadline, YYYY-MM-DD. null for opportunities without a fixed deadline
closeDateIsEstimatetrue for forecasts, where the deadline is the agency's estimate
closeDateNoteThe agency's note on the deadline, when there is one
archiveDateDate Grants.gov will archive the opportunity
estimatedPostDate, estimatedAwardDate, estimatedProjectStartDate, fiscalYearForecasts only: when the agency expects to open it, award it and start the projects
awardCeiling, awardFloorLargest and smallest single award in USD. null when the agency wrote "none"
estimatedTotalFundingTotal program funding in USD
expectedAwardsExpected number of awards
costSharingWhether cost sharing or matching is required
opportunityCategoryDiscretionary, Mandatory, Continuation, Earmark or Other
fundingInstrumentsGrant, Cooperative Agreement, Procurement Contract, Other
categories, categoryCodesFunding activity categories
eligibilities, eligibilityCodesEligible applicant types
eligibilityDescriptionThe agency's extra text on eligibility, up to 1 500 characters
cfdaNumbers, programTitlesAssistance Listing numbers and program names
descriptionSynopsis or forecast description as plain text, up to 4 000 characters
additionalInfoUrlLink to the full announcement or program page, when the agency gives one
lastUpdatedDateLast time the agency changed the opportunity
urlThe opportunity on Grants.gov
source, licenseAttribution for the data

Monitoring and scheduling

Set onlyNew to true to use the actor as a daily funding alert. The actor then remembers which opportunities it has delivered for the same input, in a named key-value store in your Apify account (nightwave-state-grants-gov-opportunities, one record per input). Each run returns and charges only opportunities that earlier runs did not deliver. A forecast that later opens as a posted opportunity is delivered again, so you see when it opens. The first run returns everything in the selection. A run without news finishes successfully with 0 rows.

onlyNew and maxResults are not part of the remembered input, so you can change them without starting over. Changing any other field starts a fresh state. To start over with the same input, delete the record in the key-value store.

Example: every morning at 07:00 Swedish time, new health and science opportunities that small businesses can apply for. In Apify Console, open Schedules, create a schedule with the cron expression 0 7 * * * and add this actor with the input below.

{
"fundingCategories": ["HL", "ST"],
"eligibilities": ["23"],
"onlyNew": true,
"maxResults": 200
}

The same schedule through the Apify API:

curl -X POST "https://api.apify.com/v2/schedules?token=<YOUR_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"name": "daily-grants-gov", "cronExpression": "0 7 * * *", "timezone": "Europe/Stockholm", "isEnabled": true, "isExclusive": true,
"actions": [{"type": "RUN_ACTOR", "actorId": "nightwave-owner~grants-gov-opportunities",
"runInput": {"contentType": "application/json; charset=utf-8", "body": "<the input above as a JSON string>"}}]}'

Connect a webhook or an integration (Slack, e-mail, Google Sheets, HubSpot) to the actor in Apify Console if you want the new rows sent somewhere when the run finishes.

Good to know

  • No contact persons. Grants.gov lists a grants officer with name, phone number and e-mail for each opportunity. The actor does not read those fields, and it removes e-mail addresses and links from the description text. Open url on Grants.gov to see who to contact.
  • Amounts are what the agency entered. Many opportunities leave the ceiling, floor or total funding empty or write "none"; those fields are then null. Forecast dates and amounts are estimates and often change when the opportunity is posted.
  • Keyword search is Grants.gov's own. It searches the title, number, description and agency text. Results follow Grants.gov, sorted by posted date, newest first.
  • The posted date filter is applied by the actor. Grants.gov's search has no date range, so the actor reads hits newest first and stops when it passes postedFrom. You are only charged for rows you get.
  • Polite use. At most 4 requests per second, a declared User-Agent (Nightwave AB kontakt@nightwave.se), and three attempts with back-off on network errors, rate limits (429) and server errors. A response in an unexpected format stops the run with a clear message instead of storing broken rows.
  • The data describes funding announced by federal agencies. Always read the full announcement on Grants.gov before you apply; the agency's text decides.

Use cases

  • Grant search for nonprofits, universities, cities and small businesses: the new opportunities you are eligible for, every morning.
  • Grant writing and consulting firms: a pipeline of opportunities per client, by category, agency and deadline.
  • Research offices: NIH, NSF, DOE and USDA calls with deadline and award size, in a spreadsheet or CRM.
  • Market and policy analysis: how much federal funding is announced per agency, category and quarter.
  • Newsletters and funding databases: structured, linkable records that are updated daily.

FAQ

How fresh is the data? Live. Each run asks the Grants.gov API directly, so an opportunity posted today is in the next run.

What does 1 000 rows cost? 8 USD (0.008 USD per opportunity, event opportunity). Platform usage is included.

Can I get closed and archived opportunities? Yes. Add closed and archived to status. Combine them with keywords, agency or a date range, since there are more than 80 000.

Can I use the data commercially? Yes. Grants.gov's API terms let you search, display, analyze and retrieve the data, as long as you show the attribution notice and do not suggest that HHS endorses your product. Every row carries that notice in license. See "Data source and license".

Data source and license

The data comes from the Grants.gov API run by the U.S. Department of Health and Human Services: POST https://api.grants.gov/v1/api/search2 for the search and POST https://api.grants.gov/v1/api/fetchOpportunity for the details of each opportunity. No API key is needed for these endpoints.

The Grants.gov API Terms of Service (grants.gov/api/terms-conditions), read on 3 October 2026:

  • Use: "You may use the Grants.gov API to search, display, analyze, retrieve, view and otherwise "get" information from grants data."
  • Attribution: "All services, which utilize or access the API, should display the following notice prominently within the application: "This product uses the Grants.gov API but is not endorsed or certified by the U.S. Department of Health and Human Services.""
  • Modification: "You may not modify or falsely represent content accessed through the API and still claim the source is the U.S. Department of Health and Human Services Office of Grants for Grants.gov System." The actor converts dates, amounts and HTML to plain formats and removes contact details, but does not change the content.

This product uses the Grants.gov API but is not endorsed or certified by the U.S. Department of Health and Human Services. The source and license fields carry this notice in every row so you can keep it when you publish the data.

Pricing

Pay per result: 0.008 USD per opportunity returned (event opportunity), which is 8 USD per 1 000 opportunities. Platform usage is included, so you pay only per result. maxResults caps how many rows a run returns, so you always know the highest possible cost.

Rows are delivered only after they have been charged. If you set a maximum cost per run (maxTotalChargeUsd), the run stops there and its status message says how many rows were delivered.

Contact

Built and maintained by Nightwave AB. Questions, bugs and feature requests: kontakt@nightwave.se

På svenska

Actorn hämtar amerikanska federala bidrag och finansieringsmöjligheter från Grants.gov, en rad per utlysning: nummer och titel, myndighet, status, publicerings- och sista ansökningsdag, största och minsta bidrag, total budget, antal väntade bidrag, krav på medfinansiering, kategorier, vilka som får söka, Assistance Listing-nummer (CFDA), beskrivning i ren text och länk till Grants.gov.

  • Källa: Grants.gov:s API (search2 och fetchOpportunity), som drivs av det amerikanska hälsodepartementet (HHS). Ingen API-nyckel behövs.
  • Standard är öppna (posted) och aviserade (forecasted) utlysningar, nyast först. Stängda och arkiverade går att få med status.
  • Filter: sökord, myndighet (en toppmyndighet tar med sina underavdelningar), kategori, sökande (till exempel 23 småföretag), finansieringsform, CFDA-nummer och publiceringsdatum.
  • Inga kontaktpersoner: namn, telefon och e-post till handläggare läses aldrig, och e-postadresser tas bort ur beskrivningen.
  • Villkor: Grants.gov:s API-villkor tillåter att datan söks, visas, analyseras och hämtas, med notisen "This product uses the Grants.gov API but is not endorsed or certified by the U.S. Department of Health and Human Services." Den finns i fältet license på varje rad (läst 3 oktober 2026).
  • Med onlyNew: true levereras bara utlysningar som tidigare körningar med samma input inte har levererat, vilket passar för daglig bevakning (se "Monitoring and scheduling").
  • Pris: 0,008 USD per utlysning (8 USD per 1 000). Plattformsanvändningen ingår.
  • Kontakt: kontakt@nightwave.se