Grants.gov Federal Grant Crawler avatar

Grants.gov Federal Grant Crawler

Pricing

Pay per event

Go to Apify Store
Grants.gov Federal Grant Crawler

Grants.gov Federal Grant Crawler

Crawl federal grant opportunities from Grants.gov (posted, forecasted, closed, archived). Extract titles, agencies, CFDA numbers, funding amounts, eligibility, close dates, and grantor contacts. Filter by agency, category, instrument, eligibility, CFDA, keyword, or posted-date window.

Pricing

Pay per event

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Grants.gov Federal Grant Opportunity Crawler

Crawl federal grant opportunities from Grants.gov — the U.S. government's single source of truth for federal funding announcements. Returns the ~1,000 posted opportunities, ~700 forecasted, ~8,000 closed, and ~72,000 archived records, each with agency, CFDA numbers, funding amounts, eligibility rules, close dates, and grantor contact info.

Grants.gov Crawler Features

  • Queries all four opportunity status buckets: posted (active), forecasted, closed, and archived
  • Filter by sub-agency code, CFDA / Assistance Listing number, funding category, funding instrument, eligibility type, keyword, or opportunity number
  • Restrict to opportunities posted within the last 3 to 56 days when you only want what's new
  • Two-phase enrichment — grabs the listing summary then pulls the full synopsis (description, funding amounts, eligible applicants, grantor contacts) on a second call
  • Listing-only mode if you want titles and dates fast and don't need the full synopsis
  • Returns 30+ structured fields per opportunity, including total program funding, award ceiling, award floor, and cost-sharing flag
  • No authentication, no proxies, no browser — pure JSON API
  • Pay-per-event pricing at roughly $1 per 1,000 records plus a $0.10 start fee

Who Uses Federal Grant Data?

  • Nonprofits and 501(c)(3)s — Build a pipeline of grants matching your program area and eligibility class
  • Universities and research offices — Track NIH, NSF, DOE, and USDA funding opportunities by CFDA number and surface new research grants the day they post
  • Municipalities and tribal governments — Monitor opportunities gated to state, county, city, or federally recognized tribal governments
  • Grant writers and consultants — Pull filtered lists for client proposals, with award ceilings and close dates so you know which ones are worth the effort
  • Journalists and transparency researchers — Track federal funding flows by agency and category without manually clicking through search pages
  • Database providers and grant-match platforms — Backfill and incrementally refresh grant listings with structured, consistent records

How Grants.gov Crawler Works

  1. You configure filters: status bucket, agency, CFDA, funding category, instrument, eligibility, keyword, posted-date window, and sort order.
  2. The crawler POSTs to the Grants.gov search2 endpoint, paginating at 100 records per page with a 150ms courtesy delay.
  3. For each listing hit, it optionally POSTs to fetchOpportunity to pull the full synopsis — description, funding amounts, grantor contact info, eligibility details.
  4. Each record is flattened into a clean output object and written to the Apify dataset.

Input

Active grants posted in the last 14 days

{
"oppStatuses": "posted",
"dateRange": "14",
"fetchDetails": true,
"maxItems": 100
}

Department of Energy research grants

{
"oppStatuses": "posted|forecasted",
"keyword": "SBIR STTR",
"fundingInstruments": ["G", "CA"],
"fetchDetails": true,
"maxItems": 50
}

Education opportunities eligible for state and local governments

{
"oppStatuses": "posted",
"fundingCategories": ["ED"],
"eligibilities": ["00", "01", "02"],
"fetchDetails": true,
"maxItems": 100
}

Single opportunity by number (no detail fetch)

{
"oppStatuses": "posted|forecasted|closed|archived",
"oppNum": "P25AS00474",
"fetchDetails": false,
"maxItems": 1
}

Listing-only scan for fast keyword triage

{
"oppStatuses": "posted",
"keyword": "cybersecurity",
"fetchDetails": false,
"maxItems": 200
}

Input Parameters

FieldTypeDefaultDescription
keywordstring""Full-text search across opportunity titles and descriptions.
oppStatusesstring"posted"Pipe-separated status list: posted, forecasted, closed, archived. Mix freely, e.g. "posted|closed".
agenciesstring""Pipe-separated sub-agency codes (e.g. USDA-AMS|DOD-AFRL). Sub-agency level only — top-level codes like USDA do not cascade because every record is tagged with a sub-agency.
cfdastring""Pipe-separated CFDA / Assistance Listing numbers (e.g. 15.931|10.170).
fundingCategoriesstring[]allCategory codes: AG, ED, HL, ENV, ISS, HO, ELT, etc.
fundingInstrumentsstring[]allG (Grant), CA (Cooperative Agreement), PC (Procurement Contract), O (Other).
eligibilitiesstring[]allApplicant eligibility codes — state govts (00), counties (01), 501(c)(3) nonprofits (12), small businesses (23), etc.
oppNumstring""Specific opportunity number (e.g. P25AS00474). Filters to a single record.
dateRangestring""Posted-within-last-N-days: 3, 7, 14, 21, 28, 35, 42, 49, 56.
sortBystringrelevanceopenDate|desc, closeDate|asc, title|asc, agencyCode|asc.
fetchDetailsbooleantrueFetch full synopsis (description, funding amounts, eligibility, contacts) per record. Roughly doubles crawl time but returns complete records.
maxItemsinteger100Maximum number of opportunities to return.

Grants.gov Crawler Output Fields

{
"opportunity_id": 357994,
"opportunity_number": "P25AS00474",
"opportunity_title": "FY2025 NAGPRA Repatriation Grants",
"agency_code": "DOI-NPS",
"agency_name": "National Park Service",
"top_agency_code": "DOI",
"top_agency_name": "Department of the Interior",
"funding_instrument_type": "Grant",
"category_of_funding_activity": "Other",
"funding_activity_category_explanation": "NAGPRA Repatriation",
"cfda_numbers": ["15.922"],
"eligible_applicants": [
"Native American tribal governments (Federally recognized)",
"Nonprofits having a 501(c)(3) status with the IRS",
"Private institutions of higher education",
"Public and State controlled institutions of higher education",
"State governments"
],
"additional_information_on_eligibility": "Eligible: Indian Tribes, Native Hawaiian Organizations, and museums within the United States that have complied with NAGPRA.",
"post_date": "2025-01-03",
"close_date": "2026-05-08",
"archive_date": "2026-09-30",
"estimated_total_program_funding": 3407000,
"award_ceiling": 25000,
"award_floor": 1000,
"expected_number_of_awards": null,
"description": "The Native American Graves Protection and Repatriation Act of 1990 authorizes the Secretary of the Interior to make grants to museums, Indian Tribes, and Native Hawaiian organizations...",
"cost_sharing_or_matching": false,
"grantor_contact_email": "nagpra_grants@nps.gov",
"grantor_contact_name": "National Park Service",
"grantor_contact_phone": "303-495-027",
"grantor_contact_description": "Jim Modrick nagpra_grants@nps.gov",
"opportunity_status": "posted",
"doc_type": "synopsis",
"created_date": "2025-03-28",
"last_updated_date": "2025-01-13",
"url": "https://www.grants.gov/search-results-detail/357994"
}
FieldTypeDescription
opportunity_idintegerUnique Grants.gov identifier.
opportunity_numberstringAgency-assigned opportunity number (e.g. P25AS00474).
opportunity_titlestringOpportunity title.
agency_codestringSub-agency code (e.g. DOI-NPS, USDA-AMS).
agency_namestringSub-agency name.
top_agency_codestringTop-level agency code (e.g. DOI, DOD, USDA).
top_agency_namestringTop-level agency name.
funding_instrument_typestringSemicolon-joined instrument list (Grant, Cooperative Agreement, Procurement Contract, Other).
category_of_funding_activitystringSemicolon-joined funding-activity categories.
funding_activity_category_explanationstringExplanation of "Other" category when applicable.
cfda_numbersstring[]CFDA / Assistance Listing numbers.
eligible_applicantsstring[]Expanded applicant eligibility descriptions.
additional_information_on_eligibilitystringFree-text eligibility details (HTML stripped).
post_datestringPosted date (YYYY-MM-DD).
close_datestringApplication close / response date.
archive_datestringArchive date.
estimated_total_program_fundingnumberTotal program funding in US dollars, or null.
award_ceilingnumberMaximum per-award amount in US dollars, or null.
award_floornumberMinimum per-award amount in US dollars, or null.
expected_number_of_awardsintegerExpected number of awards, or null when not published.
descriptionstringFull synopsis description (HTML stripped). Populated when fetchDetails: true.
cost_sharing_or_matchingbooleanWhether cost sharing or matching is required.
grantor_contact_emailstringGrantor point-of-contact email.
grantor_contact_namestringGrantor point-of-contact name.
grantor_contact_phonestringGrantor point-of-contact phone.
grantor_contact_descriptionstringFree-text grantor contact description.
opportunity_statusstringposted, forecasted, closed, or archived.
doc_typestringDocument type (synopsis, forecast, modification).
created_datestringRecord creation date.
last_updated_datestringLast update date.
urlstringDirect link to the opportunity on grants.gov.

Fields that only come from the detail endpoint (description, funding amounts, eligibility, grantor contact) will be empty or null when fetchDetails: false.

FAQ

How do I scrape Grants.gov?

Grants.gov Crawler hits the official JSON API directly. You pick a status bucket, optionally layer in filters (agency, CFDA, category, eligibility, keyword, date window), and let it paginate. No HTML parsing, no browser, no guessing at selectors that break every other Tuesday.

How much does Grants.gov Crawler cost to run?

Grants.gov Crawler uses standard pay-per-event pricing: $0.10 per run start plus $0.001 per record. A 1,000-record crawl costs $1.10.

Can I filter by agency?

Grants.gov Crawler accepts sub-agency codes in pipe-separated form (e.g. USDA-AMS|DOD-AFRL|DOI-NPS). Top-level codes like USDA don't cascade because every opportunity is tagged with a sub-agency code, not a root code — that's how Grants.gov works, not a crawler quirk.

What data does Grants.gov Crawler return?

Grants.gov Crawler returns 30+ fields per opportunity, including the opportunity number, title, awarding agency, CFDA numbers, funding instrument, total program funding, award ceiling and floor, eligibility descriptions, grantor contact info, and close dates. With fetchDetails: true you get the full synopsis description; without it you get the lean listing summary.

Do I need an API key?

Grants.gov Crawler does not require an API key. The Grants.gov v1 search and fetch endpoints are fully public — no authentication, no rate limits, no DEMO_KEY theatrics.

Does Grants.gov Crawler need proxies?

Grants.gov Crawler doesn't need proxies. It's a public government API with no anti-bot measures, which is as rare as it sounds.

Need More Features?

Need custom fields, filters, or a different target site? File an issue or get in touch.

Why Use Grants.gov Crawler?

  • Affordable — $0.001 per record plus a $0.10 start fee
  • Complete — Returns both the listing summary and full synopsis in one run, so you don't have to glue two data sources together later
  • Fast and clean — Pure API, no browser, no proxies, no captchas — a 1,000-record detailed run completes in under an hour