Grant Opportunities Search Scraper
Pricing
from $2.00 / 1,000 basic results
Grant Opportunities Search Scraper
Search grant opportunities by keyword across NIH RePORTER, Grants.gov, and Duke Research Funding. Returns a unified dataset with titles, sponsors, deadlines, amounts, eligibility, and source URLs. Great for grant discovery, dashboards, and automation.
Pricing
from $2.00 / 1,000 basic results
Rating
0.0
(0)
Developer

Caffein Dev
Actor stats
1
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Grants Scraper API (Duke + NIH + Grants.gov)
Search and extract grant opportunities and funding announcements from multiple sources and return them in a single unified JSON output schema.
Sources currently supported:
- Duke Research Funding
- NIH RePORTER
- Grants.gov
Built for grant discovery, internal dashboards, automation workflows, and downstream ranking/LLM pipelines.
🔎 What This Actor Provides
For every run, this Actor searches by keyword and outputs normalized records with consistent fields across sources:
- Title
- Sponsor / agency
- Posted date / deadlines (when available)
- Funding amount (when available)
- Eligibility / tags / topics (when available)
- Source URL + stable source id
✅ Unified schema across all sources ✅ Supports selecting which sources to run ✅ Best-effort enrichment (some fields are source-specific)
⚙️ Input Parameters
Example Input
{"keyword": "cancer","sources": ["duke", "nih", "grants.gov"],"maxCountPerSource": 50}
Input Fields
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
keyword | string | Yes | - | Keyword to search across selected sources |
sources | string[] | No | all | Which sources to scrape: duke, nih, grants.gov |
maxCountPerSource | number | No | 50 | Maximum number of records to return per selected source |
Important: output size
If you select multiple sources, the Actor may return up to:
(# of selected sources) × maxCountPerSource
Example: if sources=["duke","nih","grants.gov"] and maxCountPerSource=50, you may receive up to 150 records.
💵 Pricing (Pay per event)
This Actor uses Pay per event and charges per dataset item pushed.
- NIH + Grants.gov records use event:
basic_result(cheaper) - Duke records use event:
duke_result(more expensive)
Notes:
- You will be charged based on the number of records saved to the dataset, not just the number of pages visited.
- If your max charge is reached, the Actor exits early.
- Increasing
maxCountPerSourceincreases the potential number of charged results.
📤 Output Schema (Unified)
Each dataset item is a unified record (fields may be null if not available from that source).
Example Output Record
{"source": "grants.gov","sourceId": "PAR-26-107","url": "https://simpler.grants.gov/opportunity/dd8d7a29-5191-4919-95ce-f7ac57922cff","scrapedAt": "2026-03-03T22:42:37.165Z","title": "Title Discovery of the Genetic Basis of Childhood Cancers...","description": "As part of the Gabriella Miller Kids First...","sponsorName": "National Institutes of Health","amount": null,"amountMin": null,"amountMax": null,"amountCurrency": "USD","status": "Forecasted","postedDate": "May 19, 2026","deadlineSponsor": "July 19, 2026","startDate": "August 15, 2026","topics": null,"eligibility": ["Nonprofit", "Government", "Business"],"fundingType": ["Other"],"nih": null,"grants_gov": {"opportunityNumber": "PAR-26-107","closeDate": "TBD","detail": { "fiscalYear": 2026, "contactEmails": ["kidsfirst@od.nih.gov"] }}}
Key fields
| Field | Description |
|---|---|
source | duke | nih | grants.gov |
sourceId | Best-effort stable id per source |
url | Canonical detail URL |
title | Opportunity title |
description | Plain-text description/abstract (when available) |
sponsorName | Sponsor / agency |
amount, amountMin, amountMax | Funding amounts (when available) |
status | e.g. Open / Forecasted (when available) |
postedDate, deadlineSponsor, startDate, endDate | Dates (best-effort; may be null) |
eligibility, topics, fundingType, disciplines | Tags/classification (when available) |
nih | NIH-only structured fields (when source = nih) |
grants_gov | Grants.gov-only structured fields (when source = grants.gov) |
🚀 How It Works
- You provide a
keyword - The Actor runs the selected sources
- Each source returns up to
maxCountPerSourcenormalized records - Results are saved to the default dataset
👥 Who This Actor Is For
- Research ops / grant offices
- Founders and teams building grant discovery tools
- Analysts tracking funding programs
- Automation pipelines that need structured grant data
📞 Support & Feedback
For issues or feature requests, contact the Actor author via Apify.