{
  "openapi": "3.0.1",
  "info": {
    "title": "UK & EU Grant Awards & Open Calls Intelligence",
    "description": "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.",
    "version": "0.1",
    "x-build-id": "wXBDRHaUS58k3Onxe"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/sweet-orb~uk-eu-grant-intelligence/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-sweet-orb-uk-eu-grant-intelligence",
        "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/sweet-orb~uk-eu-grant-intelligence/runs": {
      "post": {
        "operationId": "runs-sync-sweet-orb-uk-eu-grant-intelligence",
        "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/sweet-orb~uk-eu-grant-intelligence/run-sync": {
      "post": {
        "operationId": "run-sync-sweet-orb-uk-eu-grant-intelligence",
        "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": {
          "sources": {
            "title": "Data sources",
            "type": "array",
            "description": "Which public sources to search. ukri = UKRI Gateway to Research projects and awards (UK, GBP). eu = EU Funding & Tenders Portal calls, topics, tenders and awarded projects (EUR). Leave empty for both. Sources are queried separately and merged into one dataset.",
            "items": {
              "type": "string",
              "enum": [
                "ukri",
                "eu"
              ],
              "enumTitles": [
                "UKRI Gateway to Research",
                "EU Funding & Tenders Portal"
              ]
            },
            "default": [
              "ukri",
              "eu"
            ]
          },
          "recordTypes": {
            "title": "Record types",
            "type": "array",
            "description": "call = open and closed calls for proposals and grant topics. award = funded projects and grants already awarded. tender = EU procurement notices (calls for tenders). Default: call + award. Add tender if you also bid on public contracts.",
            "items": {
              "type": "string",
              "enum": [
                "call",
                "award",
                "tender"
              ],
              "enumTitles": [
                "Calls for proposals and grants",
                "Awards and funded projects",
                "EU tenders and procurement"
              ]
            },
            "default": [
              "call",
              "award"
            ]
          },
          "keywords": {
            "title": "Keywords (any of)",
            "type": "array",
            "description": "Return records whose title, description, programme, topics, organisation name or identifiers contain ANY of these phrases (case-insensitive substring match). Examples: \"biotech\", \"battery storage\", \"AI\", \"clinical trial\". Leave empty for all records; provide one or more keywords for useful results.",
            "items": {
              "type": "string"
            }
          },
          "excludeKeywords": {
            "title": "Exclude keywords",
            "type": "array",
            "description": "Drop records whose searchable text contains any of these phrases. Example: \"military\", \"defence\", \"nuclear\".",
            "items": {
              "type": "string"
            }
          },
          "sectors": {
            "title": "Sectors or topics",
            "type": "array",
            "description": "Match ONLY against the source's topic and tag taxonomy fields (UKRI research subjects/topics/programmes; EU tags, keywords, call title and programme), not the free-text description. Examples: \"industrial biotechnology\", \"clean energy\", \"digital health\".",
            "items": {
              "type": "string"
            }
          },
          "countries": {
            "title": "Countries or regions",
            "type": "array",
            "description": "ISO 2-letter country codes or names. UKRI awards are UK-only: include GB or UK to keep them. EU awarded projects are matched by coordinator country (e.g. DE, FR, NL) or include EU/Europe to keep all. EU calls and tenders are EU-wide and pass only when the list includes EU/Europe/EU-wide. Leave empty for all.",
            "items": {
              "type": "string"
            }
          },
          "funders": {
            "title": "Funders or programmes",
            "type": "array",
            "description": "Match funder, programme, call identifier or programme ID text. Examples: \"Innovate UK\", \"Horizon Europe\", \"ERC\", \"EIC\", \"UKRI\". Leave empty for all.",
            "items": {
              "type": "string"
            }
          },
          "amountMin": {
            "title": "Minimum amount",
            "minimum": 0,
            "type": "number",
            "description": "Only return records whose amount range reaches at least this value. Amounts are in the source's own currency: GBP for UKRI, EUR for EU. Records with no amount are dropped when either amount filter is set. Example: 100000."
          },
          "amountMax": {
            "title": "Maximum amount",
            "minimum": 0,
            "type": "number",
            "description": "Only return records whose amount range starts at or below this value. In source currency (GBP for UKRI, EUR for EU). Example: 2000000."
          },
          "status": {
            "title": "Status",
            "type": "array",
            "description": "open = calls/tenders whose closing date is today or later. closed = closing date in the past. forthcoming = opening date in the future. active = awards or projects still running. any = all. Default: open + active.",
            "items": {
              "type": "string",
              "enum": [
                "open",
                "closed",
                "forthcoming",
                "active",
                "any"
              ],
              "enumTitles": [
                "Open",
                "Closed",
                "Forthcoming",
                "Active awards",
                "Any"
              ]
            },
            "default": [
              "open",
              "active"
            ]
          },
          "deadlineFrom": {
            "title": "Deadline window from",
            "type": "string",
            "description": "Earliest closing date, inclusive. Accepts YYYY-MM-DD (e.g. \"2026-12-01\") or a relative period from today (e.g. \"30 days\", \"6 months\"). For awards, the closing date is the project end date. Records without a closing date are dropped when this or deadlineTo is set."
          },
          "deadlineTo": {
            "title": "Deadline window to",
            "type": "string",
            "description": "Latest closing date, inclusive. Accepts YYYY-MM-DD or a relative period from today. Use with deadlineFrom to get e.g. calls closing in the next 90 days."
          },
          "organisationTypes": {
            "title": "Recipient organisation type",
            "type": "array",
            "description": "Filter awards and funded projects by recipient type. company, charity, university, public-body, research-institute, other or unknown. The type is inferred from the legal name when the source does not state one. Calls and tenders always pass because they have no recipient yet. Default: any.",
            "items": {
              "type": "string",
              "enum": [
                "company",
                "charity",
                "university",
                "public-body",
                "research-institute",
                "other",
                "unknown",
                "any"
              ],
              "enumTitles": [
                "Company",
                "Charity",
                "University",
                "Public body",
                "Research institute",
                "Other",
                "Unknown",
                "Any"
              ]
            },
            "default": [
              "any"
            ]
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "newest",
              "closingSoon",
              "amountDesc"
            ],
            "type": "string",
            "description": "newest = most recent opening date first. closingSoon = earliest closing date first. amountDesc = largest amount first. Records without the sort field go last.",
            "default": "newest"
          },
          "maxResults": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Stop after this many matching records. You are charged per record returned, so keep this low for exploratory or agent queries. 1–5,000.",
            "default": 100
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}