# EU Funding Calls & Grants Monitor Data API (`koalastuff/eu-funding-call-monitor`) Actor

Find EU grants, prizes, and cascade-funding calls by keyword, programme, status, and deadline. Export normalized opportunities for grant research.

- **URL**: https://apify.com/koalastuff/eu-funding-call-monitor.md
- **Developed by:** [Timo Schmidt](https://apify.com/koalastuff) (community)
- **Categories:** Business, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 funding opportunities

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## EU Funding Call Monitor & Normalizer

Find EU grants, prizes, and cascade-funding calls by keyword, programme, status, and deadline. Export normalized opportunities for grant research.

This is an unofficial community Actor. It is not affiliated with or endorsed by the European Commission or European Union.

### Try this first

Start with the example input below to find open and forthcoming clean-energy opportunities. Results are written to the default dataset with deadlines and official portal links.

[![EU Funding Call Monitor & Normalizer icon](https://api.apify.com/v2/key-value-stores/JoHkELuyqjk6waZJX/records/icon-eu-funding-call-monitor.png)](https://apify.com/koalastuff/eu-funding-call-monitor)

#### Example output

[![Example output preview](https://api.apify.com/v2/key-value-stores/JoHkELuyqjk6waZJX/records/preview-eu-funding-call-monitor.svg)](https://apify.com/koalastuff/eu-funding-call-monitor)

This preview is generated from a checked-in official-source fixture. It shows the normalized output shape without inventing live demand or results.

### Use cases

- Monitor open and forthcoming EU funding opportunities.
- Filter calls by keyword, framework programme, programme period, or exact call identifier.
- Export stable topic rows into CRM, BI, grant-consulting, or alert workflows.
- Distinguish the portal's status from whether a future submission deadline actually remains.

### Input

| Field | Description | Default |
| --- | --- | --- |
| `keywords` | Full-text phrase | all topics |
| `statuses` | `OPEN`, `FORTHCOMING`, `CLOSED` | open and forthcoming |
| `opportunityTypes` | Grants, prizes, cascade funding | all three |
| `programmeCodes` | Numeric portal programme codes | none |
| `programmePeriod` | `YYYY - YYYY` | `2021 - 2027` |
| `callIdentifier` | Exact parent call identifier | none |
| `language` | Two-letter result language | `en` |
| `maxResults` | Hard unique-output and billing limit | `100` |
| `requestDelayMs` | Delay between API pages | `500` |

```json
{
  "keywords": "clean energy",
  "statuses": ["OPEN", "FORTHCOMING"],
  "opportunityTypes": ["GRANT", "CASCADE_FUNDING"],
  "programmeCodes": ["43108390"],
  "programmePeriod": "2021 - 2027",
  "maxResults": 100
}
````

### Output

Every dataset row contains a unique topic identifier, title, parent call, opportunity type, official portal status, opening date, all known deadlines, next future deadline, programme codes, action types, available budget metadata, and official source links.

`portalStatus: "OPEN"` is the status published by the Portal. `hasFutureDeadline` and `nextDeadline` are calculated separately because the API can return older duplicate document variants or opportunities whose last deadline has passed.

### Reliability and limits

- Official public REST API only; no browser, proxy, account, or paid service.
- One request at a time, bounded pagination, configurable delay, and three retries.
- Duplicate removal uses the stable topic identifier.
- The first current document variant returned for a topic is retained; later duplicate variants are counted in run statistics.
- Maximum 10,000 unique results per run.
- Programme fields are official numeric reference codes. Human labels can change and are not guessed.
- Budget fields remain `null` unless the topic-specific budget entry can be matched safely.

### Pricing

Pay per event:

- Actor start: USD 0.00005
- Normalized opportunity: USD 0.001

A two-result Apify smoke run on 256 MB used USD 0.0000814712 of platform resources and completed in 2.362 seconds. No proxy, browser, paid API, or external subscription is required. The user's configured maximum charge per run remains the hard billing limit.

### Data source and reuse

Source: <https://api.tech.ec.europa.eu/search-api/prod/rest/search?apiKey=SEDIA>. The European Commission documents this public API specifically for companies and organisations retrieving JSON data for integration into external systems.

Users remain responsible for checking the official call documents, eligibility rules, dates, and submission conditions before acting. The Actor is a discovery and normalization tool, not grant or legal advice.

### Support

Report reproducible problems with the input, run link, expected field, and affected topic identifier. Do not include credentials or private proposal material.

### Related Actors

- [EU TED Tender Monitor](https://apify.com/koalastuff/eu-ted-tender-monitor) for normalized public-procurement notices.
- [World Bank WDI Indicator Explorer](https://apify.com/koalastuff/world-bank-wdi-explorer) for country and development indicators.

# Actor input Schema

## `keywords` (type: `string`):

Full-text search across public opportunity records, for example clean energy or cybersecurity.

## `statuses` (type: `array`):

Opportunity states reported by the official portal.

## `opportunityTypes` (type: `array`):

Include direct grants, EU prizes, or cascade-funding opportunities.

## `programmeCodes` (type: `array`):

Optional numeric programme codes from the Funding & Tenders Portal, for example 43108390 for Horizon Europe.

## `programmePeriod` (type: `string`):

Optional programme period in YYYY - YYYY format.

## `callIdentifier` (type: `string`):

Optional exact parent call identifier, for example HORIZON-CL5-2026.

## `language` (type: `string`):

Two-letter language code used by the official search API.

## `maxResults` (type: `integer`):

Hard output and billing limit after duplicate removal.

## `requestDelayMs` (type: `integer`):

Conservative delay in milliseconds between official API pages.

## Actor input object example

```json
{
  "statuses": [
    "OPEN",
    "FORTHCOMING"
  ],
  "opportunityTypes": [
    "GRANT",
    "PRIZE",
    "CASCADE_FUNDING"
  ],
  "programmePeriod": "2021 - 2027",
  "language": "en",
  "maxResults": 100,
  "requestDelayMs": 500
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("koalastuff/eu-funding-call-monitor").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("koalastuff/eu-funding-call-monitor").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call koalastuff/eu-funding-call-monitor --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=koalastuff/eu-funding-call-monitor",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "EU Funding Calls & Grants Monitor Data API",
        "description": "Find EU grants, prizes, and cascade-funding calls by keyword, programme, status, and deadline. Export normalized opportunities for grant research.",
        "version": "0.1",
        "x-build-id": "PDWm1MUidYdgzdtRO"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/koalastuff~eu-funding-call-monitor/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-koalastuff-eu-funding-call-monitor",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/koalastuff~eu-funding-call-monitor/runs": {
            "post": {
                "operationId": "runs-sync-koalastuff-eu-funding-call-monitor",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/koalastuff~eu-funding-call-monitor/run-sync": {
            "post": {
                "operationId": "run-sync-koalastuff-eu-funding-call-monitor",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "keywords": {
                        "title": "Keywords",
                        "maxLength": 200,
                        "type": "string",
                        "description": "Full-text search across public opportunity records, for example clean energy or cybersecurity."
                    },
                    "statuses": {
                        "title": "Portal statuses",
                        "minItems": 1,
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Opportunity states reported by the official portal.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "OPEN",
                                "FORTHCOMING",
                                "CLOSED"
                            ],
                            "enumTitles": [
                                "Open",
                                "Forthcoming",
                                "Closed"
                            ]
                        },
                        "default": [
                            "OPEN",
                            "FORTHCOMING"
                        ]
                    },
                    "opportunityTypes": {
                        "title": "Opportunity types",
                        "minItems": 1,
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Include direct grants, EU prizes, or cascade-funding opportunities.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "GRANT",
                                "PRIZE",
                                "CASCADE_FUNDING"
                            ],
                            "enumTitles": [
                                "Grant",
                                "Prize",
                                "Cascade funding"
                            ]
                        },
                        "default": [
                            "GRANT",
                            "PRIZE",
                            "CASCADE_FUNDING"
                        ]
                    },
                    "programmeCodes": {
                        "title": "Framework programme codes",
                        "maxItems": 20,
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Optional numeric programme codes from the Funding & Tenders Portal, for example 43108390 for Horizon Europe.",
                        "items": {
                            "type": "string",
                            "pattern": "^[0-9]{5,12}$"
                        }
                    },
                    "programmePeriod": {
                        "title": "Programme period",
                        "pattern": "^[0-9]{4} - [0-9]{4}$",
                        "type": "string",
                        "description": "Optional programme period in YYYY - YYYY format.",
                        "default": "2021 - 2027"
                    },
                    "callIdentifier": {
                        "title": "Call identifier",
                        "maxLength": 100,
                        "type": "string",
                        "description": "Optional exact parent call identifier, for example HORIZON-CL5-2026."
                    },
                    "language": {
                        "title": "Language",
                        "enum": [
                            "en",
                            "de",
                            "fr",
                            "es",
                            "it",
                            "nl",
                            "pl",
                            "pt"
                        ],
                        "type": "string",
                        "description": "Two-letter language code used by the official search API.",
                        "default": "en"
                    },
                    "maxResults": {
                        "title": "Maximum results",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Hard output and billing limit after duplicate removal.",
                        "default": 100
                    },
                    "requestDelayMs": {
                        "title": "Delay between API pages",
                        "minimum": 0,
                        "maximum": 60000,
                        "type": "integer",
                        "description": "Conservative delay in milliseconds between official API pages.",
                        "default": 500
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
