Grants.gov Opportunity Scraper avatar

Grants.gov Opportunity Scraper

Pricing

from $1.00 / 1,000 grants

Go to Apify Store
Grants.gov Opportunity Scraper

Grants.gov Opportunity Scraper

Extract US federal grant opportunities from Grants.gov: opportunity number, title, agency, open and close dates, status, Assistance Listings, award ceiling and floor, estimated funding, eligibility, contacts and the full opportunity record.

Pricing

from $1.00 / 1,000 grants

Rating

5.0

(1)

Developer

Public Money

Public Money

Maintained by Apify

Actor stats

1

Bookmarked

1

Total users

0

Monthly active users

2 days ago

Last modified

Categories

Share

This Actor reads US federal grant opportunities from Grants.gov through its public REST API. It returns one record per opportunity — forecasted, posted, closed or archived — with the search row, the main detail fields flattened into columns, and the full opportunity record as Grants.gov publishes it. No API key is needed.

Source

  • Search: POST https://api.grants.gov/v1/api/search2 (JSON body).
  • Detail: POST https://api.grants.gov/v1/api/fetchOpportunity with {"opportunityId": <id>}, one call per opportunity when Fetch opportunity details is on.
  • Size on 2026-10-04: 859 posted, 610 forecasted, 8,697 closed, 73,354 archived (83,520 in all).

Input

Every filter is applied by Grants.gov itself. Each one was checked on 2026-10-04 to change the result, and a nonsense value to return nothing.

FieldTypeDefaultWhat it controls
oppStatusesarray["forecasted", "posted"]forecasted, posted, closed, archived
keywordstringemptyFull-text search (cancer → 98 posted)
agenciesarrayemptyAgency codes: a full code (HHS-NIH11, NSF) or a department wildcard (DOD-*)
eligibilitiesarrayemptyEligible applicant type codes; several match any
fundingInstrumentsarrayemptyG grant, CA cooperative agreement, PC procurement contract, O other
fundingCategoriesarrayemptyFunding activity category codes (ED, HL, ST, …)
cfdastringemptyOne Assistance Listing number (93.213)
oppNumstringemptyExact opportunity number (PAR-25-274)
postedWithinDaysintegeremptyPosted within the last N days
sortBystringsource defaultPosted date, close date, opportunity number or agency, either direction
fetchDetailsbooleantrueOne detail call per opportunity for description, money, eligibility, contacts and the full record
maxItemsinteger100Cap on records written, and so on cost; 0 for everything matched
schemaOrgbooleanfalseAppends a schema.org MonetaryGrant block to each record
{
"oppStatuses": ["posted"],
"keyword": "cancer",
"agencies": ["HHS-*"],
"postedWithinDays": 56,
"maxItems": 100
}

Output

GroupFields
Search rowid, number, title, agencyCode, agency, openDate, closeDate, openDateIso, closeDateIso, oppStatus, docType, cfdaList, opportunityUrl
DescriptionsynopsisDesc (posted, closed, archived), forecastDesc (forecasts), opportunityCategory, topAgencyName
DatespostingDate, responseDate, archiveDate, lastUpdatedDate; forecasts also estApplicationResponseDate, estAwardDate, estProjectStartDate, fiscalYear
MoneyawardCeiling, awardFloor, estimatedFunding, numberOfAwards, costSharing
EligibilityapplicantTypes, applicantEligibilityDesc, fundingInstruments, fundingActivityCategories
ContactagencyContactName, agencyContactEmail, agencyContactPhone, fundingDescLinkUrl
Full recordopportunityDetail — every field fetchOpportunity returns, unchanged: synopsis or forecast, agency details, Assistance Listings, packages, attachments, revision history
{
"id": "357305",
"number": "PAR-25-274",
"title": "Feasibility Clinical Trials of Mind and Body Interventions for NCCIH High Priority Research Topics (R34 Clinical Trial Required)",
"agencyCode": "HHS-NIH11",
"agency": "National Institutes of Health",
"openDate": "11/21/2024",
"closeDate": "11/17/2026",
"oppStatus": "posted",
"docType": "synopsis",
"cfdaList": ["93.213"],
"opportunityUrl": "https://www.grants.gov/search-results-detail/357305",
"awardCeiling": "none",
"awardFloor": "none",
"costSharing": false,
"fundingInstruments": ["Grant"],
"agencyContactEmail": "grantsinfo@nih.gov"
}

Gotchas

  • With no status selected Grants.gov returns forecasted and posted only. Closed and archived have to be asked for.
  • A bare department code such as DOD or HHS in agencies matches nothing; use DOD-* or a full agency code.
  • cfda takes one number; a pipe-joined list matches nothing at source.
  • Money fields are the strings Grants.gov publishes, including "none" and "0"; they are not converted.
  • Forecasts carry a forecast object and no close date in the search row; their date and money fields come from the forecast.
  • opportunityUrl is composed from the opportunity id: Grants.gov's own site routes /search-results-detail/<id> to that opportunity, and the API publishes no page link of its own.
  • With fetchDetails off, only the search-row fields are populated.