# UKRI Gateway to Research Scraper (`parseforge/ukri-gateway-to-research-scraper`) Actor

Scrape UK Research and Innovation grants and projects from Gateway to Research public API. Get title, funder, lead organisation, value, dates, abstract, publications. No API key required.

- **URL**: https://apify.com/parseforge/ukri-gateway-to-research-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Lead generation, Business, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $33.22 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.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/platform/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

![ParseForge Banner](https://raw.githubusercontent.com/ParseForge/apify-assets/main/parseforge-banner.png)

## 🔬 UKRI Gateway to Research Scraper

> 🚀 **Export UK Research and Innovation grants in seconds.** Filter projects, funders, abstracts, and budgets with a single keyword query. No API key, no registration, no manual CSV wrangling.

> 🕒 **Last updated:** 2026-05-12 · **📊 17 fields** per record · **🇬🇧 UKRI + 7 research councils** · **💷 GBP grant values** · **♻️ Live per run**

The **UKRI Gateway to Research Scraper** queries the UK Research and Innovation public Gateway to Research API and returns **17 fields per record**, covering grant reference, title, abstract, technical summary, funder, budget in pounds, start and end dates, identifier mappings, and publication counts. UKRI consolidates funding from the seven UK research councils, Innovate UK, and Research England under one taxonomy.

The catalog spans every funded project across EPSRC, BBSRC, AHRC, ESRC, MRC, NERC, STFC, plus Innovate UK and Research England. Both basic research grants and applied innovation awards appear in the same feed. This Actor returns the API payload as clean JSON, with pagination handled and millisecond timestamps converted to ISO 8601 for downstream use.

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Research office managers, UK research strategists, technology transfer offices, science journalists, policy analysts, scientometrics teams, partnership scouts | Grant landscape research, partner discovery, funder benchmarking, sector spend analysis, science of science studies, science journalism |

---

### 📋 What the UKRI Gateway to Research Scraper does

A flexible query workflow in a single run:

- 🔍 **Free-text search.** Match any term across project titles, abstracts, and organisations, like `quantum`, `climate`, or `gene therapy`.
- 🏛️ **Funder breakdown.** Each project tagged with the awarding body (`EPSRC`, `BBSRC`, `ESRC`, etc.).
- 💷 **GBP budgets.** Total project value in pounds, where disclosed.
- 📅 **Date range.** ISO 8601 start and end dates per grant.
- 🏷️ **Identifier mapping.** RCUK and external identifiers as parallel arrays.

Each record includes the project ID, grant reference, public URL, title, status, grant category, abstract text, potential impact text, technical summary, funder name and ID, value in pounds, start and end dates, identifier types and values, publication count, output flag, and scrape timestamp.

> 💡 **Why it matters:** the UK spends over £8 billion per year through UKRI. Gateway to Research is the canonical public record of who got funded, for what, and on what timeline. Building your own pipeline means handling the legacy JSON shape, pagination, and identifier normalisation. This Actor returns a flat, query-ready table on every run.

---

### 🎬 Full Demo

_🚧 Coming soon: a 3-minute walkthrough showing how to go from sign-up to a downloaded dataset._

---

### ⚙️ Input

<table>
<thead>
<tr><th>Input</th><th>Type</th><th>Default</th><th>Behavior</th></tr>
</thead>
<tbody>
<tr><td><code>query</code></td><td>string</td><td><code>"quantum"</code></td><td>Free-text search across project titles, abstracts, and organisations.</td></tr>
<tr><td><code>maxItems</code></td><td>integer</td><td><code>10</code></td><td>Records to return. Free plan caps at 10, paid plan at 1,000,000.</td></tr>
</tbody>
</table>

**Example: 100 quantum-related grants.**

```json
{
    "maxItems": 100,
    "query": "quantum"
}
````

**Example: deep dive on climate research.**

```json
{
    "maxItems": 1000,
    "query": "climate change"
}
```

> ⚠️ **Good to Know:** Gateway to Research paginates 25 records at a time. Some legacy projects have placeholder abstracts ("Abstracts are not currently available...") because the abstract was not required at submission time or contained personal information. Numeric fields are present only when the funder published them.

***

### 📊 Output

Each grant record contains **17 fields**. Download the dataset as CSV, Excel, JSON, or XML.

#### 🧾 Schema

| Field | Type | Example |
|---|---|---|
| 🆔 `id` | string | `"00082994-6774-4061-A06F-00EC3C928876"` |
| 🔗 `url` | string | `"https://gtr.ukri.org/projects?ref=EP%2FY004663%2F2"` |
| 🏷️ `grantReference` | string | null | `"EP/Y004663/2"` |
| 📰 `title` | string | `"Quantum Algorithms for Nonlinear Differential Equations"` |
| 📊 `status` | string | null | `"Closed"` |
| 🗂️ `grantCategory` | string | null | `"Research Grant"` |
| 📝 `abstractText` | string | null | `"This project investigates..."` |
| 🎯 `potentialImpactText` | string | null | `"Outputs will support..."` |
| 📋 `technicalSummary` | string | null | `"We develop new algorithms..."` |
| 🏛️ `funderName` | string | null | `"EPSRC"` |
| 🆔 `funderId` | string | null | `"798CB33D-C79E-4578-83F2-72606407192C"` |
| 💷 `valuePounds` | number | null | `19022` |
| 📅 `startDate` | ISO 8601 | null | `"2024-02-01T00:00:00.000Z"` |
| 📅 `endDate` | ISO 8601 | null | `"2025-03-30T23:00:00.000Z"` |
| 🏷️ `identifierTypes` | string\[] | `["RCUK"]` |
| 🏷️ `identifierValues` | string\[] | `["EP/Y004663/2"]` |
| 📚 `publicationsCount` | number | `0` |
| 📄 `hasOutput` | boolean | null | `false` |
| 🕒 `scrapedAt` | ISO 8601 | `"2026-05-12T16:29:55.216Z"` |

#### 📦 Sample records

<details>
<summary><strong>🔬 EPSRC research grant: Quantum Algorithms for Nonlinear Differential Equations</strong></summary>

```json
{
    "id": "00082994-6774-4061-A06F-00EC3C928876",
    "url": "https://gtr.ukri.org/projects?ref=EP%2FY004663%2F2",
    "grantReference": "EP/Y004663/2",
    "title": "Quantum Algorithms for Nonlinear Differential Equations - QuANDiE",
    "status": "Closed",
    "grantCategory": "Research Grant",
    "abstractText": "Abstracts are not currently available in GtR for all funded research. This is normally because the abstract was not required at the time of proposal submission...",
    "funderName": "EPSRC",
    "funderId": "798CB33D-C79E-4578-83F2-72606407192C",
    "valuePounds": 19022,
    "startDate": "2024-02-01T00:00:00.000Z",
    "endDate": "2025-03-30T23:00:00.000Z",
    "identifierTypes": ["RCUK"],
    "identifierValues": ["EP/Y004663/2"],
    "publicationsCount": 0,
    "hasOutput": false,
    "scrapedAt": "2026-05-12T16:29:55.216Z"
}
```

</details>

<details>
<summary><strong>🔬 Innovate UK Proof of Concept: Wittos retail Wi-Fi analytics</strong></summary>

```json
{
    "id": "03E282E3-DFF0-4794-ADE0-00B1A7BA0ED8",
    "url": "https://gtr.ukri.org/projects?ref=710397",
    "grantReference": "710397",
    "title": "Wittos - Mobile Internet Analytics & Predictive Content Over WiFi",
    "status": "Closed",
    "grantCategory": "GRD Proof of Concept",
    "abstractText": "The increasing availability and uptake of smart mobile devices offering broadband connectivity has raised demand for a smarter in-store experience, specifically a means for bricks and mortar retailers to connect to and engage with their customers...",
    "funderName": "Innovate UK",
    "valuePounds": 75000,
    "startDate": "2012-04-01T00:00:00.000Z",
    "endDate": "2013-03-31T00:00:00.000Z",
    "publicationsCount": 0,
    "hasOutput": false,
    "scrapedAt": "2026-05-12T16:29:55.216Z"
}
```

</details>

<details>
<summary><strong>🔬 BBSRC Institute Project: Avian dendritic cells (sparse abstract)</strong></summary>

```json
{
    "id": "07828D21-A20E-4368-9D88-015A30686E6F",
    "url": "https://gtr.ukri.org/projects?ref=BBS%2FE%2FI%2F00001302",
    "grantReference": "BBS/E/I/00001302",
    "title": "Role of avian dendritic cells",
    "status": "Closed",
    "grantCategory": "Institute Project",
    "abstractText": "Abstracts are not currently available in GtR for all funded research...",
    "potentialImpactText": "unavailable",
    "technicalSummary": "The UK poultry industry faces many challenges to remain sustainable, including moves to more extensive rearing systems; withdrawal of antibiotics and other drugs...",
    "funderName": "BBSRC",
    "valuePounds": null,
    "publicationsCount": 0,
    "hasOutput": null,
    "scrapedAt": "2026-05-12T16:29:55.216Z"
}
```

</details>

***

### ✨ Why choose this Actor

| | Capability |
|---|---|
| 🇬🇧 | **Official UKRI feed.** Pulls directly from the Gateway to Research public API, the canonical record of UKRI funding. |
| 🏛️ | **Multi-council coverage.** EPSRC, BBSRC, AHRC, ESRC, MRC, NERC, STFC, Innovate UK, and Research England in one query. |
| 💷 | **GBP budgets.** Grant value in pounds for sector-level spend analysis. |
| 📅 | **ISO 8601 dates.** Start and end timestamps normalised from epoch milliseconds. |
| ⚡ | **Fast.** 25 grants per page, 10,000 records in around fifteen minutes. |
| 🔁 | **Always fresh.** Every run pulls the live feed so new grants appear within days of award. |
| 🚫 | **No authentication.** Works with open UK research data. No login or API key needed. |

> 📊 UKRI distributes more than £8 billion per year across the UK research base. Gateway to Research is the public ledger.

***

### 📈 How it compares to alternatives

| Approach | Cost | Coverage | Refresh | Filters | Setup |
|---|---|---|---|---|---|
| **⭐ UKRI Gateway to Research Scraper** *(this Actor)* | $5 free credit, then pay-per-use | **All UKRI councils + Innovate UK** | **Live per run** | free-text | ⚡ 2 min |
| Official Gateway to Research UI | Free | Same data, manual | Live | UI filters | 🐢 Manual export per query |
| Bulk dumps from research councils | Free | Per-council snapshot | Quarterly | None | 🕒 Manual ETL per council |
| Paid research-intelligence platforms | $1,000+/month | Multi-funder aggregated | Daily | Many | ⏳ Vendor onboarding |

Pick this Actor when you want the live UKRI catalog in clean JSON, with server-side query support and zero ETL.

***

### 🚀 How to use

1. 📝 **Sign up.** [Create a free account with $5 credit](https://console.apify.com/sign-up?fpr=vmoqkp) (takes 2 minutes).
2. 🌐 **Open the Actor.** Go to the UKRI Gateway to Research Scraper page on the Apify Store.
3. 🎯 **Set input.** Type a keyword (or leave default) and set `maxItems`.
4. 🚀 **Run it.** Click **Start** and let the Actor collect your data.
5. 📥 **Download.** Grab your results in the **Dataset** tab as CSV, Excel, JSON, or XML.

> ⏱️ Total time from signup to downloaded dataset: **3-5 minutes.** No coding required.

***

### 💼 Business use cases

<table>
<tr>
<td width="50%" valign="top">

#### 🏛️ Research Offices & Grant Strategy

- Benchmark grants against your institution's portfolio
- Map which councils fund your themes most heavily
- Identify successful PIs and labs in your sector
- Track funder priorities across the seven councils

</td>
<td width="50%" valign="top">

#### 🔗 Technology Transfer & Partnerships

- Find Innovate UK grant recipients in your industry
- Identify SME spinouts with prior public funding
- Map academic-industry collaborations through grants
- Spot emerging research themes ahead of commercial deals

</td>
</tr>
<tr>
<td width="50%" valign="top">

#### 📊 Policy & Funding Analysts

- Sector spend by research council and grant category
- Long-run trends in UK public R\&D priorities
- Compare funding flows to universities versus institutes
- Quantify support for early-career versus established PIs

</td>
<td width="50%" valign="top">

#### 📰 Science Journalism & Comms

- Story leads from large or unusual grants
- Profile labs and their funding histories
- Investigate recurring grant recipients
- Cross-reference funded projects with their publications

</td>
</tr>
</table>

***

### 🌟 Beyond business use cases

Data like this powers more than commercial workflows. The same structured records support research, education, civic projects, and personal initiatives.

<table>
<tr>
<td width="50%">

#### 🎓 Research and academia

- Empirical datasets for papers, thesis work, and coursework
- Longitudinal studies tracking changes across snapshots
- Reproducible research with cited, versioned data pulls
- Classroom exercises on data analysis and ethical scraping

</td>
<td width="50%">

#### 🎨 Personal and creative

- Side projects, portfolio demos, and indie app launches
- Data visualizations, dashboards, and infographics
- Content research for bloggers, YouTubers, and podcasters
- Hobbyist collections and personal trackers

</td>
</tr>
<tr>
<td width="50%">

#### 🤝 Non-profit and civic

- Transparency reporting and accountability projects
- Advocacy campaigns backed by public-interest data
- Community-run databases for local issues
- Investigative journalism on public records

</td>
<td width="50%">

#### 🧪 Experimentation

- Prototype AI and machine-learning pipelines with real data
- Validate product-market hypotheses before engineering spend
- Train small domain-specific models on niche corpora
- Test dashboard concepts with live input

</td>
</tr>
</table>

***

### 🔌 Automating UKRI Gateway to Research Scraper

Control the scraper programmatically for scheduled runs and pipeline integrations:

- 🟢 **Node.js.** Install the `apify-client` NPM package.
- 🐍 **Python.** Use the `apify-client` PyPI package.
- 📚 See the [Apify API documentation](https://docs.apify.com/api/v2) for full details.

The [Apify Schedules feature](https://docs.apify.com/platform/schedules) lets you trigger this Actor on any cron interval. Hourly, daily, or weekly refreshes keep downstream databases in sync automatically.

***

### ❓ Frequently Asked Questions

#### 🧩 How does it work?

Type a free-text query, click Start, and the Actor calls the Gateway to Research public API, normalises epoch timestamps to ISO 8601, and emits 17 columns of clean JSON. No browser automation, no captchas, no setup.

#### 📏 How accurate is the data?

Records come straight from the UKRI Gateway to Research database. Free-text fields like abstract and technical summary follow the original proposal language. Some legacy grants have placeholder abstracts because the abstract was not required at submission time.

#### 🔁 How often is the dataset refreshed?

Gateway to Research updates regularly as new grants are awarded and existing grants publish outputs. Every run of this Actor fetches the live feed, so your dataset reflects the catalog at run time.

#### 🏛️ Which funders are covered?

All seven UK research councils (EPSRC, BBSRC, AHRC, ESRC, MRC, NERC, STFC), plus Innovate UK and Research England. Gateway to Research is the consolidated public record across all UKRI bodies.

#### ⏰ Can I schedule regular runs?

Yes. Use Apify Schedules to run this Actor on any cron interval (hourly, daily, weekly) and keep a downstream database in sync.

#### ⚖️ Is this data legal to use?

UKRI Gateway to Research data is published under the Open Government Licence and is intended for public reuse, including commercial use. Attribution is required for derivative works.

#### 💼 Can I use this data commercially?

Yes. Open Government Licence permits commercial use with attribution. Research-intelligence and grant-strategy products are commonly built on this feed.

#### 💳 Do I need a paid Apify plan to use this Actor?

No. The free Apify plan is enough for testing and small runs (10 records per run). A paid plan lifts the limit and gives you access to scheduling, higher concurrency, and larger datasets.

#### 🔁 What happens if a run fails or gets interrupted?

Apify automatically retries transient errors. If a run still fails, you can inspect the log in the Runs tab, fix the input, and re-run. Partial datasets from failed runs are preserved so you never lose progress.

#### 📚 Can I get publication or outcomes data?

Each record includes `publicationsCount` and `hasOutput` summary fields. For full publication lists tied to a grant, reach out via the contact form below to request a companion outputs scraper.

#### 🆘 What if I need help?

Our support team is here to help. Contact us through the Apify platform or use the Tally form linked below.

***

### 🔌 Integrate with any app

UKRI Gateway to Research Scraper connects to any cloud service via [Apify integrations](https://apify.com/integrations):

- [**Make**](https://docs.apify.com/platform/integrations/make) - Automate multi-step workflows
- [**Zapier**](https://docs.apify.com/platform/integrations/zapier) - Connect with 5,000+ apps
- [**Slack**](https://docs.apify.com/platform/integrations/slack) - Get run notifications in your channels
- [**Airbyte**](https://docs.apify.com/platform/integrations/airbyte) - Pipe research data into your warehouse
- [**GitHub**](https://docs.apify.com/platform/integrations/github) - Trigger runs from commits and releases
- [**Google Drive**](https://docs.apify.com/platform/integrations/drive) - Export datasets straight to Sheets

You can also use webhooks to trigger downstream actions when a run finishes. Push fresh grant data into your CRM, or alert your research office when new awards land in your themes.

***

### 🔗 Recommended Actors

- [**🇪🇺 CORDIS EU Research Projects Scraper**](https://apify.com/parseforge/cordis-eu-research-scraper) - Horizon Europe and Framework Programme grants
- [**📜 UK Contracts Finder Scraper**](https://apify.com/parseforge/uk-contracts-finder-scraper) - UK public sector procurement notices
- [**⚖️ eCFR US Federal Regulations Scraper**](https://apify.com/parseforge/ecfr-code-federal-regulations-scraper) - US Code of Federal Regulations full text
- [**🔬 Figshare Scraper**](https://apify.com/parseforge/figshare-scraper) - Open research datasets and publications
- [**🧪 ClinicalTrials.gov Scraper**](https://apify.com/parseforge/clinicaltrials-gov-scraper) - Global registry of clinical studies

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge) for more reference-data scrapers.

***

**🆘 Need Help?** [**Open our contact form**](https://tally.so/r/BzdKgA) to request a new scraper, propose a custom data project, or report an issue.

***

> **⚠️ Disclaimer:** this Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by UKRI, Gateway to Research, or any UK government body. All trademarks mentioned are the property of their respective owners. Only publicly available open data published under the Open Government Licence is collected.

# Actor input Schema

## `query` (type: `string`):

Free-text search across project titles, abstracts, organisations

## `maxItems` (type: `integer`):

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000

## Actor input object example

```json
{
  "query": "quantum",
  "maxItems": 10
}
```

# Actor output Schema

## `overview` (type: `string`):

Overview of scraped data

## `fullData` (type: `string`):

Complete dataset

# 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 = {
    "query": "quantum",
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/ukri-gateway-to-research-scraper").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 = {
    "query": "quantum",
    "maxItems": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/ukri-gateway-to-research-scraper").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 '{
  "query": "quantum",
  "maxItems": 10
}' |
apify call parseforge/ukri-gateway-to-research-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=parseforge/ukri-gateway-to-research-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "UKRI Gateway to Research Scraper",
        "description": "Scrape UK Research and Innovation grants and projects from Gateway to Research public API. Get title, funder, lead organisation, value, dates, abstract, publications. No API key required.",
        "version": "0.0",
        "x-build-id": "X1T7MdBKKqei4TZwv"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~ukri-gateway-to-research-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-ukri-gateway-to-research-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/parseforge~ukri-gateway-to-research-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-ukri-gateway-to-research-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/parseforge~ukri-gateway-to-research-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-ukri-gateway-to-research-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": {
                    "query": {
                        "title": "Search query",
                        "type": "string",
                        "description": "Free-text search across project titles, abstracts, organisations",
                        "default": "quantum"
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
