Grants.gov Opportunities Scraper avatar

Grants.gov Opportunities Scraper

Pricing

from $2.45 / 1,000 item extracteds

Go to Apify Store
Grants.gov Opportunities Scraper

Grants.gov Opportunities Scraper

Search official Grants.gov opportunities and export eligibility, deadlines, synopsis, Assistance Listings, award details, and source links.

Pricing

from $2.45 / 1,000 item extracteds

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Search official Grants.gov opportunities and export normalized US federal funding records for recurring grant discovery, deadline monitoring, and data analysis.

The Actor uses anonymous public Grants.gov JSON endpoints. It enriches every saved search hit with the full public synopsis, applicant eligibility, Assistance Listings, award amounts, contacts, and canonical source links. No Grants.gov login, browser, or proxy is required.

What does Grants.gov Opportunities Scraper do?

The Actor turns Grants.gov search results into stable dataset rows.

It can:

  • search by keyword;
  • filter by forecasted, posted, closed, or archived status;
  • restrict results to agency codes such as NSF;
  • filter by Assistance Listing numbers (formerly CFDA);
  • use eligibility, funding instrument, and funding category codes;
  • keep only opportunities inside a close-date window;
  • enrich list results with the official opportunity detail response;
  • stop at a user-controlled result limit;
  • produce source-linked records ready for schedules and integrations.

The Actor does not submit grant applications or rank applicant suitability. It provides public source data for your own research and monitoring process.

Who is this federal funding scraper for?

Grant consultants can build a repeatable feed of opportunities matching client sectors.

Nonprofits and universities can monitor agency programs and upcoming deadlines without manually copying Grants.gov pages.

Small-business support teams can collect relevant federal notices for internal review.

Research administrators can export Assistance Listings, eligibility, award limits, and contacts into a tracking system.

Data teams can load normalized grant records into a warehouse, spreadsheet, CRM, or alerting pipeline.

Why use this Actor?

Grants.gov search cards contain only part of the information needed to evaluate an opportunity. This Actor combines search and detail data in one run.

Useful differences include:

  • official API data rather than brittle page selectors;
  • a stable opportunityId for change detection;
  • plain-text synopsis and eligibility fields;
  • structured award floor, ceiling, expected awards, and estimated funding;
  • both canonical human-readable and API source links;
  • deterministic item limits and deadline filters;
  • one default dataset that works with standard Apify integrations.

What data can you extract?

FieldMeaning
opportunityIdStable Grants.gov identifier
opportunityNumberAgency funding notice number
titlePublic opportunity title
agencyCode, agencyNamePublishing federal agency
statusForecasted, posted, closed, or archived state
opportunityCategoryOpportunity category from Grants.gov
assistanceListingsAssistance Listing numbers and program titles
eligibilityStructured applicant type codes and labels
eligibilityDescriptionDetailed applicant eligibility text
fundingInstrumentsGrant or cooperative-agreement classifications
fundingCategoriesFunding activity classifications
openDate, closeDate, archiveDateNormalized source dates
synopsisPlain-text funding synopsis
awardFloor, awardCeilingPublished award range in US dollars
estimatedFundingEstimated total program funding
expectedAwardsPublished expected award count
awardCriteriaCost-sharing and response-date details exposed by the source
contactName, contactEmail, contactPhonePublished agency contact details
sourceUrlCanonical Grants.gov detail page
lastUpdatedAt, scrapedAtSource update and collection dates

Fields remain null when Grants.gov does not publish a value. The Actor never fabricates missing award or deadline data.

How to search Grants.gov opportunities

  1. Open the Actor input page.
  2. Enter a keyword such as education or small business.
  3. Choose one or more statuses.
  4. Add agency or Assistance Listing filters when needed.
  5. Optionally enter a close-date range in YYYY-MM-DD format.
  6. Set maxItems to control the maximum dataset size.
  7. Click Start.
  8. Open the default dataset or export it as JSON, CSV, Excel, XML, or RSS.

A useful first run is:

{
"keyword": "education",
"statuses": ["posted"],
"maxItems": 10
}

Input parameters

keyword

Optional text search passed to the official Grants.gov search service. Leave it empty to browse by structured filters.

statuses

One or more of forecasted, posted, closed, and archived. The default is forecasted plus posted.

agencies

Optional Grants.gov agency codes. For example, use NSF for the U.S. National Science Foundation.

assistanceListings

Optional Assistance Listing numbers, such as 47.076. These identifiers were formerly called CFDA numbers.

eligibilities

Optional Grants.gov applicant eligibility codes. Use source codes, not free-text applicant descriptions.

fundingInstruments

Optional funding instrument codes such as G for Grant or CA for Cooperative Agreement.

fundingCategories

Optional Grants.gov funding activity category codes.

closeDateFrom and closeDateTo

Optional inclusive close-date bounds in YYYY-MM-DD format. Records without a published close date do not match an active date bound.

maxItems

Maximum enriched records saved to the dataset. The default is 25 and the supported range is 1–5,000.

Output example

A current result has this shape:

{
"opportunityId": "334326",
"opportunityNumber": "21-595",
"title": "Tribal Colleges and Universities Program",
"agencyCode": "NSF",
"agencyName": "U.S. National Science Foundation",
"status": "posted",
"assistanceListings": [
{
"number": "47.076",
"title": "Education and Human Resources"
}
],
"openDate": "2021-06-24",
"closeDate": "2026-09-01",
"awardFloor": 100000,
"awardCeiling": 3500000,
"estimatedFunding": 10799836,
"expectedAwards": 55,
"sourceUrl": "https://www.grants.gov/search-results-detail/334326"
}

The full row also includes synopsis, eligibility, funding classifications, award criteria, contacts, and timestamps.

Monitoring new and changed opportunities

Create an Apify Schedule to run the same input daily or weekly. Use opportunityId as the stable key in your destination. Compare status, closeDate, lastUpdatedAt, award fields, or synopsis text with the previous snapshot.

The Actor emits the current matching snapshot. It does not keep a cross-run change database or send alerts by itself. Use an integration, webhook, or your own database to perform change detection and notifications.

Useful recurring workflows include:

  1. Track posted NSF opportunities each morning.
  2. Watch a set of Assistance Listings for new notices.
  3. Export deadlines in the next quarter to a calendar process.
  4. Feed enriched opportunities into an internal grant qualification workflow.

How much does it cost to extract Grants.gov opportunities?

This Actor uses pay-per-event pricing. A run has a one-time Start charge plus one Item processed charge for each saved opportunity. Empty or filtered-out records do not incur the item event.

Current source configuration starts at $0.005 per run and the BRONZE item rate is $0.00408 per saved opportunity. Higher Apify plans receive lower per-item rates shown on the Actor pricing tab.

Example BRONZE calculations:

  • 10 opportunities: $0.005 start + $0.0408 items = $0.0458;
  • 100 opportunities: $0.005 start + $0.408 items = $0.413;
  • 1,000 opportunities: $0.005 start + $4.08 items = $4.085.

Platform compute is covered by the active Actor pricing model. Always check the pricing tab for the rate attached to your account plan.

Export and integration workflows

The default dataset works with Apify's standard export formats and integrations.

You can:

  • download JSON, JSONL, CSV, Excel, XML, or RSS;
  • send finished-run webhooks;
  • connect datasets to Google Sheets;
  • import records into Make or Zapier;
  • consume the dataset through the Apify API;
  • load snapshots into a data warehouse;
  • pass records to an AI classification or summarization step.

For large recurring jobs, keep filters specific and select a practical maxItems.

Run with the Apify API

Replace YOUR_TOKEN with an Apify API token.

cURL

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~grants-gov-funding-opportunities-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"keyword":"education","statuses":["posted"],"maxItems":10}'

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/grants-gov-funding-opportunities-scraper').call({
keyword: 'education',
statuses: ['posted'],
maxItems: 10,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("automation-lab/grants-gov-funding-opportunities-scraper").call(
run_input={
"keyword": "education",
"statuses": ["posted"],
"maxItems": 10,
}
)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)

Use with MCP and AI agents

Add the Actor to Claude Code through Apify MCP:

claude mcp add --transport http apify \
"https://mcp.apify.com?tools=automation-lab/grants-gov-funding-opportunities-scraper"

Claude Desktop, Cursor, and VS Code setup

Claude Desktop, Cursor, and VS Code can use this equivalent MCP configuration:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/grants-gov-funding-opportunities-scraper"
}
}
}

Example prompts:

  • “Find 20 currently posted federal education funding opportunities and summarize the eligibility.”
  • “Export current NSF opportunities with deadlines and Assistance Listings.”
  • “Collect small-business grant notices closing before the end of 2027.”

AI-generated assessments should always link back to sourceUrl for verification.

Data quality and limitations

Results reflect the public Grants.gov API at run time. Agency publishers control the completeness and wording of every notice.

Important limitations:

  • some opportunities have no single close date;
  • award ranges and expected award counts may be absent;
  • eligibility details can be long and may refer to attached documents;
  • source records can be revised, closed, archived, or removed;
  • Grants.gov may throttle or temporarily fail requests;
  • keyword relevance follows the official search behavior;
  • maxItems limits saved matches, not the source's total hit count;
  • close-date filtering can require scanning more search hits than are saved.

Transient API failures are retried three times with backoff. A persistent upstream failure ends the run with a non-zero status rather than returning fabricated data.

Legality and responsible use

Grants.gov publishes these records for public funding discovery. Use the data responsibly and verify material eligibility, deadline, and application requirements on the canonical Grants.gov page and attached notice documents.

This Actor is not affiliated with Grants.gov or any federal agency. It does not provide legal, financial, or grant-writing advice. Do not treat a dataset row as an award decision or guarantee of eligibility.

Contact fields are official program contacts. Use them only for relevant questions and do not send unsolicited bulk messages.

Troubleshooting

My run returns no records

Broaden the keyword, remove optional codes, expand the date range, or include another status. A valid zero-result search completes successfully and creates no item charge.

A record has a null deadline or award amount

The publishing agency did not provide that field in the current public synopsis. Open sourceUrl and review the linked notice documents.

The run fails with a Grants.gov API error

Check the run log and retry later if the official service is unavailable. The Actor already retries transient responses, so repeated immediate runs are unlikely to help.

An agency filter returns unexpected results

Use the exact Grants.gov agency code rather than a display name. Test a small run before scheduling a large export.

Why are HTML tags absent from synopsis text?

The Actor converts the public HTML synopsis and eligibility descriptions to plain text for easier export and comparison.

FAQ

Does it require a Grants.gov API key?

No. The implemented official endpoints are anonymously accessible.

Does it scrape grants for college or private scholarships?

It searches federal opportunities published on Grants.gov. A keyword may find relevant federal education programs, but the Actor does not scrape private scholarship directories.

Can it search farm grants?

Yes, when those opportunities are published on Grants.gov. Use a keyword such as farm and optionally add agency, status, or deadline filters.

Can I monitor changes?

Yes. Schedule repeat runs and compare rows by opportunityId in your destination. The Actor returns snapshots; it does not send built-in change alerts.

Can I submit applications with this Actor?

No. Application submission remains on the official Grants.gov workflow.

How many records can one run save?

Between 1 and 5,000, controlled by maxItems. Source availability and filters determine the actual count.

For federal award and compliance research, consider:

Use this Actor for current Grants.gov funding opportunities and deadlines. Use the related Actors when the buyer job is awarded-project analysis, audit research, or contract opportunity monitoring.