NSF Research Awards Scraper
Pricing
Pay per event
NSF Research Awards Scraper
Extract NSF award and grant records from Research.gov with PI, institution, funding, dates, program, and raw award data.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 hours ago
Last modified
Categories
Share
Extract public National Science Foundation award and grant records from Research.gov into clean Apify datasets for research intelligence, grant monitoring, prospecting, and academic market analysis.
What does NSF Research Awards Scraper do?
This actor searches the public NSF / Research.gov Award API and exports normalized award records.
It captures award titles, abstracts, principal investigators, recipient institutions, obligated funding, dates, program data, and source URLs.
Use it when you need repeatable NSF grant data without manually clicking through Award Search pages.
Who is it for?
๐ซ University research offices tracking recent awards by topic, state, institution, or program.
๐ผ Grant consultants building prospect lists of funded PIs and active research teams.
๐งช R&D and academic sales teams monitoring funded labs and emerging research areas.
๐ Market intelligence teams analyzing NSF funding trends by geography or program.
Why use it?
The actor turns public award search results into structured rows that can be exported as JSON, CSV, Excel, XML, or RSS from Apify.
It uses the public API directly, so runs are lightweight and do not need browser automation.
Raw API records can be preserved for audit trails and downstream custom mapping.
What data can you extract?
The dataset includes award IDs, titles, abstracts, agency, awardee institution, city, state, country, UEI, principal investigators, PI emails when available, funding amounts, dates, program names, directorate/division codes, performance location, and source links.
Optional rawAward keeps the original Research.gov response object.
How much does it cost to scrape NSF research awards?
Pricing is pay-per-event: a $0.005 run-start charge plus a per-award record charge.
The formula-derived BRONZE price is $0.000023219 per saved award, with lower unit prices on higher Apify tiers (SILVER $0.000018111, GOLD $0.000013932, PLATINUM/DIAMOND $0.00001). The input prefill is intentionally small enough for a cheap first test, and larger exports scale linearly by saved award record.
A 100-award validation run used about $0.00056 of platform resources before Apify billing margin, so the actor remains profitable at the published PPE rates.
How to use
-
Enter a keyword such as artificial intelligence, climate, quantum, CAREER, or SBIR.
-
Optionally add award date range, awardee state, performance state, funding program, agency, or program officer filters.
-
Set maxItems to the number of award records you want.
-
Run the actor and export the dataset in your preferred format.
Input options
keyword: free-text NSF award search.
dateStart/dateEnd: Research.gov award date bounds in MM/DD/YYYY format.
awardeeStateCode: two-letter state for recipient institution.
performanceStateCode: two-letter state for where the work is performed.
fundProgramName: program text such as Computer, Biology, CAREER, or SBIR.
agency: normally NSF.
programOfficerName: optional NSF program officer name.
maxItems: maximum awards to save.
includeRaw: include the original API record.
Output example
Each result is one NSF award record with normalized fields and a source URL.
Example fields: awardId, title, abstractText, awardeeName, primaryPiName, principalInvestigators, fundsObligatedAmount, awardDate, startDate, expirationDate, fundProgramName, directorate, division, performanceStateCode, sourceUrl, scrapedAt, rawAward.
Tips for better results
Use specific topic phrases when broad terms return too many awards.
Combine keyword with dateStart and dateEnd for recent-award monitoring.
Use awardeeStateCode for institution prospecting by state.
Use fundProgramName for program-focused workflows such as CAREER or SBIR-style research.
Integrations
Send the dataset to Google Sheets to maintain a living prospect list.
Use Apify webhooks to trigger CRM enrichment after each scheduled monitoring run.
Export JSON into a data warehouse for grant trend dashboards.
Connect with automation-lab actors for website/contact enrichment after identifying institutions and PIs.
API usage with Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/nsf-research-awards-scraper').call({ keyword: 'quantum computing', maxItems: 100 });const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0]);
API usage with Python
from apify_client import ApifyClientimport osclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("automation-lab/nsf-research-awards-scraper").call(run_input={"keyword": "climate", "maxItems": 100})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(items[0])
API usage with cURL
curl -X POST "https://api.apify.com/v2/acts/automation-lab/nsf-research-awards-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"keyword":"artificial intelligence","maxItems":100}'
Use with MCP
Claude Desktop, Claude Code, Cursor, and VS Code can call this actor through Apify MCP with the actor tool URL https://mcp.apify.com?tools=automation-lab/nsf-research-awards-scraper.
For Claude Code, add the remote MCP server with this command:
$claude mcp add --transport http apify-nsf-research-awards "https://mcp.apify.com?tools=automation-lab/nsf-research-awards-scraper"
For Claude Desktop, Cursor, or VS Code, add this JSON server configuration and keep your Apify token in the environment used by the app:
{"mcpServers": {"apify-nsf-research-awards": {"url": "https://mcp.apify.com?tools=automation-lab/nsf-research-awards-scraper","headers": {"Authorization": "Bearer ${APIFY_TOKEN}"}}}}
Example prompt: "Find 100 recent NSF artificial intelligence awards in California and summarize the top funded institutions."
Another prompt: "Export NSF CAREER awards from 2024 and identify principal investigators with university affiliations."
Scheduling and monitoring
Schedule weekly or monthly runs to monitor newly funded NSF awards by keyword or program.
Keep maxItems aligned with the expected result volume for your search.
Use date filters to avoid reprocessing the same historical awards.
Data quality notes
Research.gov field availability can vary by record.
The actor normalizes missing fields defensively and keeps rawAward when requested.
PI emails and phone fields are public API fields when present, but not guaranteed for every award.
Legality and responsible use
This actor uses publicly available Research.gov award data.
Always follow applicable laws, Apify terms, and your organization's data governance policies.
Avoid using contact information for spam or prohibited outreach.
FAQ
Q: Do I need an NSF API key? A: No, the public Research.gov Award API is accessible without a paid key for this workflow.
Q: Why are some PI emails missing? A: The public API does not include every contact field for every award.
Q: Why did a broad keyword stop at maxItems? A: maxItems is a user-set run limit; increase it for larger exports.
Q: Can I filter by state? A: Yes, use awardeeStateCode or performanceStateCode.
Related scrapers
Explore other automation-lab actors for government data, grant intelligence, contact enrichment, and organization research workflows.
Related actor links should use the automation-lab namespace after publication.
Field reference
-
awardIdโ normalized NSF award field for downstream analysis. -
titleโ normalized NSF award field for downstream analysis. -
abstractTextโ normalized NSF award field for downstream analysis. -
agencyโ normalized NSF award field for downstream analysis. -
awardeeNameโ normalized NSF award field for downstream analysis. -
awardeeCityโ normalized NSF award field for downstream analysis. -
awardeeStateCodeโ normalized NSF award field for downstream analysis. -
awardeeCountryCodeโ normalized NSF award field for downstream analysis. -
awardeeUeiNumberโ normalized NSF award field for downstream analysis. -
primaryPiNameโ normalized NSF award field for downstream analysis. -
principalInvestigatorsโ normalized NSF award field for downstream analysis. -
piEmailsโ normalized NSF award field for downstream analysis. -
programOfficerNameโ normalized NSF award field for downstream analysis. -
programOfficerEmailโ normalized NSF award field for downstream analysis. -
fundsObligatedAmountโ normalized NSF award field for downstream analysis. -
estimatedTotalAmountโ normalized NSF award field for downstream analysis. -
awardDateโ normalized NSF award field for downstream analysis. -
startDateโ normalized NSF award field for downstream analysis. -
expirationDateโ normalized NSF award field for downstream analysis. -
activeAwardโ normalized NSF award field for downstream analysis. -
historicalAwardโ normalized NSF award field for downstream analysis. -
fundProgramNameโ normalized NSF award field for downstream analysis. -
primaryProgramโ normalized NSF award field for downstream analysis. -
programElementCodeโ normalized NSF award field for downstream analysis. -
programReferenceCodeโ normalized NSF award field for downstream analysis. -
directorateโ normalized NSF award field for downstream analysis. -
divisionโ normalized NSF award field for downstream analysis. -
organizationNameโ normalized NSF award field for downstream analysis. -
performanceCityโ normalized NSF award field for downstream analysis. -
performanceStateCodeโ normalized NSF award field for downstream analysis. -
performanceCountryCodeโ normalized NSF award field for downstream analysis. -
performanceLocationโ normalized NSF award field for downstream analysis. -
sourceUrlโ normalized NSF award field for downstream analysis. -
queryKeywordโ normalized NSF award field for downstream analysis. -
scrapedAtโ normalized NSF award field for downstream analysis. -
rawAwardโ normalized NSF award field for downstream analysis.
Troubleshooting
-
If the API rejects a filter, remove the newest structured filter and rerun with keyword/date filters first.
-
If your dataset is empty, broaden the keyword or remove state/program constraints.
-
If you need exact API auditability, keep includeRaw enabled.
Changelog
- 0.1 โ Initial private build for NSF award search exports.