UK & EU Grant Awards & Open Calls Intelligence
Pricing
$20.00 / 1,000 calls
UK & EU Grant Awards & Open Calls Intelligence
Search UKRI Gateway to Research awards and EU Funding & Tenders Portal calls and projects in one dataset. Filter by keyword, sector, country, funder, amount, deadline and recipient organisation type. Returns recipient names, identifiers and source links. No personal data.
Pricing
$20.00 / 1,000 calls
Rating
0.0
(0)
Developer
Karol Olechno
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Security
Limited permissionsShare
Search UKRI Gateway to Research awards and EU Funding & Tenders Portal calls, topics, tenders and awarded projects in one dataset. Filter by keyword, sector, country, funder, amount, deadline, status and recipient organisation type. Every record carries the recipient organisation, its native identifier and a link to the public source page. No personal data.
What it does
- Queries two official public APIs: the UKRI Gateway to Research API and the European Commission's Funding & Tenders Portal search API.
- Returns one row per call, tender, award or funded project, with title, funder, programme, description, eligibility text, amount range, currency, opening and closing dates, normalised status, recipient organisation and identifiers.
- Filters by keywords (any-of), excluded keywords, sector/topic labels, countries, funders, amount range, status, deadline window and recipient organisation type.
- Merges, de-duplicates and sorts the results from both sources into a single dataset.
- Charges one pay-per-event unit per record written. Empty or failed runs do not charge per-record events.
Who it is for
- Bid writers and grant consultants tracking open calls and recent awards in their sectors.
- SMEs, startups and charities looking for UK and EU funding they can apply for.
- Sales, partnership and market-intelligence teams mapping who won what, how much and where.
- AI agents that need a structured, filterable grant and award feed.
Data sources and coverage
| Source | What it covers | Currency | API |
|---|---|---|---|
| UKRI Gateway to Research | UK research and innovation projects and awards: grant reference, title, status, grant category, lead funder, abstract, research topics, participants, project cost and grant offer | GBP | https://gtr.ukri.org/gtr/api/ |
| EU Funding & Tenders Portal | Calls for proposals, grant topics and external actions (types 1 and 2), awarded projects (SEDIA_NONH2020_PROD index) and optional procurement tenders (type 0) | EUR | https://api.tech.ec.europa.eu/search-api/prod/rest/search |
The EU portal's public search API is used without login. UKRI's Gateway to Research API is public. The Actor sends a normal browser User-Agent and the portal's documented Referer/Origin headers, retries with exponential backoff and never bypasses authentication or robots controls.
Coverage notes
- UKRI records are awards/projects. Their opening and closing dates are the project start and end dates, not application deadlines.
- EU calls and topics may include historical records whose published status is stale. The Actor derives
open/closed/forthcomingfrom the published dates first and falls back to the source status label. - EU call amounts are the total topic or action budget parsed from the portal's
budgetOverview, not a per-grant minimum and maximum. EU project amounts are the published EU contribution. - Organisation type is inferred from the legal name when the source does not state a type. The inference is documented in the input schema and is deliberately conservative.
- The EU projects index uses EC numeric country codes internally; the Actor converts the documented codes to ISO 2-letter codes for the output.
Output fields
| Field | Description |
|---|---|
id | Stable record ID (ukri:<GTR id> or eu:<reference>) |
source | ukri or eu |
recordType | call, tender, award |
title | Award, call or project title |
funder | Funder or funding body |
programme | Programme, scheme or call family |
description | Plain-text summary or objective (HTML removed) |
whoCanApply | Eligibility text for calls/tenders, or the recipient description for awards/projects |
amountMin, amountMax | Amount range in the source currency |
currency | GBP or EUR |
openingDate, closingDate | Opening and closing dates (project start/end for awards) |
status | open, closed, forthcoming, active, unknown |
organisation | Recipient organisation for awards/projects, or the funder for calls/tenders: name, type, native identifier, country, role |
topics | Source taxonomy topics, tags or subject labels |
identifiers | Native IDs: GTR project ID and grant reference; EU reference, topic, call and programme IDs |
sourceUrl | Canonical public page |
lastUpdated | Source last-updated date when published |
fetchedAt | When the record was fetched |
Input
All filters are optional. With no input you get up to 100 open EU calls and active UKRI/EU awards. See .actor/input_schema.json for full descriptions.
| Input | Type | Default | Notes |
|---|---|---|---|
sources | array | ["ukri","eu"] | Which public sources to search |
recordTypes | array | ["call","award"] | Add tender for EU procurement notices |
keywords | array | [] | Any-of substring match across title, description, programme, topics, organisation and identifiers |
excludeKeywords | array | [] | Drop matches |
sectors | array | [] | Match only the source taxonomy fields |
countries | array | [] | ISO 2-letter codes or names; EU/Europe for EU-wide calls |
funders | array | [] | Funder, programme, call or programme ID text |
amountMin, amountMax | number | unset | In the source's own currency (GBP for UKRI, EUR for EU) |
status | array | ["open","active"] | open, closed, forthcoming, active, any |
deadlineFrom, deadlineTo | string | unset | YYYY-MM-DD or relative 30 days / 6 months from today |
organisationTypes | array | ["any"] | Filters award recipients; calls and tenders pass |
sortBy | string | newest | newest, closingSoon, amountDesc |
maxResults | integer | 100 | 1–5,000; charged per record returned |
Sample output
{"id": "eu:50143353TOPICSen","source": "eu","recordType": "call","title": "Developing novel recycling technologies for complex plastic materials applying biotech solutions","funder": "European Commission","programme": "Call 01 - single stage (2027)","description": "Expected Outcome: Project results are expected to contribute to ...","whoCanApply": "General conditions 1. Admissibility Conditions: ...","amountMin": 261800000,"amountMax": 261800000,"currency": "EUR","openingDate": "2027-04-20","closingDate": "2027-09-22","status": "forthcoming","organisation": {"name": "European Commission","type": "public-body","identifier": null,"country": "EU","role": "funder"},"topics": ["biotechnology", "HORIZON-CL6-2027-01-CIRCBIO-03", "Circular economy"],"identifiers": {"euReference": "50143353TOPICSen","topicIdentifier": "HORIZON-CL6-2027-01-CIRCBIO-03","callIdentifier": "HORIZON-CL6-2027-01","programmeId": "43108390"},"sourceUrl": "https://ec.europa.eu/info/funding-tenders/opportunities/portal/screen/opportunities/topic-details/HORIZON-CL6-2027-01-CIRCBIO-03","lastUpdated": "2027-04-20","fetchedAt": "2026-11-03T23:32:40.213Z"}
Pricing
$0.02 per record (grant-record event), i.e. $20 per 1,000 records.
- You are charged only for records written to the dataset. An empty or failed run does not charge per-record events.
- The Actor does not add an actor-start event. Standard Apify platform usage may apply separately.
- Set the run's maximum cost to cap spend. The Actor stops cleanly when the cap is reached and reports how many records it saved.
- Local test runs with the pay-per-event pricing environment variable use the same $0.02 price per event; the local charging log records each event.
Use with AI agents (MCP)
This Actor is designed to be called by AI agents:
- Every input field has a human- and agent-readable description, enums, defaults and constraints in
.actor/input_schema.json. - The output schema exposes the full dataset and a compact
overviewview. - Connect it through Apify's MCP server (see the Apify docs for the current MCP endpoint) or call the Actor's API endpoint directly from your agent tool. The input is a single JSON object; the output is a JSON array of grant records.
FAQ
How fresh is the data? Every run queries the live public APIs. There is no cached database. UKRI and EU updates appear on the next run.
Why do I sometimes get only EU records? The default newest sort uses the opening date. EU calls with future opening dates sort ahead of older UKRI awards. Use sortBy: "closingSoon", status: ["active"], or sources: ["ukri"] to surface UKRI awards.
Why do some records have no amount? The source did not publish a budget or contribution. Records without an amount are dropped when amountMin or amountMax is set.
Why does an EU call show a huge amount? EU call amounts are the total topic/action budget from the portal's budgetOverview, not the maximum grant per applicant. Use the call's source page for the per-grant contribution rules.
Can I get only companies? Set organisationTypes: ["company"]. This filters awards and funded projects. Calls and tenders still pass because they have no recipient yet; use keywords or sectors to narrow them.
Are tenders included? Only when recordTypes includes tender. Tenders are EU procurement notices (type 0) and are excluded by default.
Does it collect personal data? No. The Actor returns organisation names and organisation identifiers only. It does not return individual names, emails or phone numbers.
Is this affiliated with UKRI or the European Commission? No. It is an independent data product that queries public APIs. It is not endorsed by UKRI or the European Commission.
Data quality and attribution
- Contains public sector information from UKRI and the European Commission.
- Source data is published by UKRI and the European Commission; check each source page for the applicable licence, attribution and reuse terms.
- The publisher cannot warrant the quality or accuracy of the data. Records can be incomplete, stale or misclassified. Always verify a funding opportunity on its source page before applying.
- The Actor is not affiliated with or endorsed by UKRI, Innovate UK or the European Commission.
Development
npm installnpm testnpx -y apify-cli@1.11.0 validate-schemanpm run test:live
npm run test:live runs the Actor locally with test/live-input.json, pay-per-event pricing enabled and the charging log dataset turned on. Output lands in storage/datasets/default/, charges in storage/datasets/charging_log/ and the run summary in storage/key_value_stores/default/RUN_SUMMARY.json.