{
  "openapi": "3.0.1",
  "info": {
    "title": "EU Grants Scraper - Horizon Europe & EU Funding Calls",
    "description": "Search open and upcoming EU funding calls from the official EU Funding & Tenders Portal: Horizon Europe, Digital Europe, LIFE, Erasmus+, cascade funding. Deadlines, budgets, type of action. Only-new mode. Pay per call.",
    "version": "0.1",
    "x-build-id": "K30VREMHNlCK74MBh"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/tinyrex~eu-grants-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-tinyrex-eu-grants-scraper",
        "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/tinyrex~eu-grants-scraper/runs": {
      "post": {
        "operationId": "runs-sync-tinyrex-eu-grants-scraper",
        "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/tinyrex~eu-grants-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-tinyrex-eu-grants-scraper",
        "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",
            "type": "array",
            "description": "Words to find in the call (title, identifier, description, portal keywords). Each line is one search: all its words must appear; use \"quotes\" for an exact phrase and * as a prefix wildcard (hydro*). Several lines = any of them. Empty = all calls matching the other filters.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "programmes": {
            "title": "EU programmes",
            "type": "array",
            "description": "Empty = all programmes.",
            "items": {
              "type": "string",
              "enum": [
                "HORIZON",
                "DIGITAL",
                "LIFE",
                "ERASMUS",
                "CEF",
                "EDF",
                "SMP",
                "CREA",
                "CERV",
                "EU4H",
                "AGRIP",
                "EURATOM",
                "INNOVFUND",
                "I3",
                "EMFAF",
                "RFCS",
                "ESF",
                "ESC",
                "UCPM",
                "AMIF",
                "ISF",
                "BMVI",
                "JUST",
                "EUAF",
                "PERICLES",
                "IMCAP",
                "IMREG",
                "JTM",
                "SOCPL",
                "PPPA",
                "EUBA",
                "EP",
                "RENEWFM",
                "NDICI",
                "RELEX"
              ],
              "enumTitles": [
                "Horizon Europe",
                "Digital Europe Programme",
                "LIFE - Environment and Climate Action",
                "Erasmus+",
                "Connecting Europe Facility",
                "European Defence Fund",
                "Single Market Programme (incl. SMEs, COSME successor)",
                "Creative Europe",
                "Citizens, Equality, Rights and Values",
                "EU4Health",
                "Promotion of Agricultural Products",
                "Euratom Research and Training",
                "Innovation Fund",
                "Interregional Innovation Investments (I3)",
                "European Maritime, Fisheries and Aquaculture Fund",
                "Research Fund for Coal & Steel",
                "European Social Fund+",
                "European Solidarity Corps",
                "Union Civil Protection Mechanism",
                "Asylum, Migration and Integration Fund",
                "Internal Security Fund",
                "Border Management and Visa Instrument",
                "Justice Programme",
                "Union Anti-Fraud Programme",
                "Pericles IV",
                "Information measures for the CAP",
                "Information measures for EU Cohesion policy",
                "Just Transition Mechanism",
                "Social Prerogative and Specific Competencies Lines",
                "Pilot Projects & Preparatory Actions",
                "EU Bodies and Agencies",
                "European Parliament",
                "Renewable Energy Financing Mechanism",
                "Global Europe (NDICI)",
                "EU External Action (EuropeAid / PROSPECT)"
              ]
            },
            "default": []
          },
          "statuses": {
            "title": "Status",
            "type": "array",
            "description": "Default: open and forthcoming. Status is computed from the real opening date and deadlines, because the portal often keeps expired calls marked as open.",
            "items": {
              "type": "string",
              "enum": [
                "open",
                "forthcoming",
                "closed"
              ],
              "enumTitles": [
                "Open for submission",
                "Forthcoming (opening soon)",
                "Closed"
              ]
            },
            "default": [
              "open",
              "forthcoming"
            ]
          },
          "deadlineFrom": {
            "title": "Deadline from",
            "type": "string",
            "description": "Keep calls whose next deadline is on or after this date (YYYY-MM-DD)."
          },
          "deadlineTo": {
            "title": "Deadline to",
            "type": "string",
            "description": "Keep calls whose next deadline is on or before this date (YYYY-MM-DD)."
          },
          "callTypes": {
            "title": "Call types",
            "type": "array",
            "description": "Empty = all types.",
            "items": {
              "type": "string",
              "enum": [
                "topics",
                "cascade",
                "external"
              ],
              "enumTitles": [
                "EU programme topics (Horizon Europe, Digital Europe, LIFE, Erasmus+ ...)",
                "Cascade funding: calls for third parties by EU-funded projects (open calls for SMEs, startups)",
                "EU External Action calls (EuropeAid grants and twinning)"
              ]
            },
            "default": []
          },
          "maxResults": {
            "title": "Max calls",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of calls saved (one charge per call). 0 = all matching calls. Open/forthcoming calls are sorted by nearest deadline.",
            "default": 100
          },
          "includeDescription": {
            "title": "Include description",
            "type": "boolean",
            "description": "Add the topic description (expected outcome, scope) as plain text.",
            "default": true
          },
          "descriptionMaxLength": {
            "title": "Max description length",
            "minimum": 0,
            "type": "integer",
            "description": "Cut descriptions to this many characters. 0 = full text.",
            "default": 3000
          },
          "onlyNew": {
            "title": "Only new calls (incremental)",
            "type": "boolean",
            "description": "Return only calls you have not received in earlier runs with the same state key. Perfect for weekly schedules and funding alerts. The first run returns everything that matches and remembers it.",
            "default": false
          },
          "stateKey": {
            "title": "State key",
            "type": "string",
            "description": "Name of the memory used by 'Only new calls'. Use a different key for each schedule or search.",
            "default": "default"
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}