# HKEX Disclosure & Announcements Scraper (`crawlerbros/hkex-disclosure-announcements-scraper`) Actor

Scrape Hong Kong Exchange (HKEXnews) listed-company announcements and disclosures. Search by stock code or company name, filter by headline category, document type, date range, and title keyword. Get stock code, company name, announcement title, category, publish date, and PDF document URL.

- **URL**: https://apify.com/crawlerbros/hkex-disclosure-announcements-scraper.md
- **Developed by:** [Crawler Bros](https://apify.com/crawlerbros) (community)
- **Categories:** Automation, Developer tools, News
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
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

## HKEX Disclosure & Announcements Scraper

Scrape Hong Kong Exchange (HKEXnews) listed-company announcements and disclosures — the same data available on the official HKEXnews "Title Search" portal. Search by stock code or company name, filter by market board (Main Board / GEM), headline category, date range, and title keyword. Get stock code, company name, announcement title, category, document type, publish date, language, and a direct PDF/XLSX document link for every filing — from results announcements and circulars to disclosure-of-interest filings and ETF trading notices.

No login, no cookies, and no paid proxy required.

### What this actor does

- **Search the full HKEXnews disclosure archive** by stock code, company name, market board, headline category, or free-text title keyword
- **Narrow to one of 293 detailed document sub-types** within a headline category (e.g. "Allotment Results" within "Announcements and Notices") — selecting a sub-category automatically fills in its parent headline category, so you don't need to set both
- **Choose the market board** — Main Board (SEHK) or GEM (Growth Enterprise Market)
- **Filter by date range** — HKEX allows up to a ~366-day window once a specific stock code is set, or a ~30-day rolling window otherwise (a headline category alone does not widen it)
- **Sort** by latest/oldest release time, or stock code/name
- **Direct document links** — every record includes a stable PDF (or XLSX/HTM) URL straight to the filed document
- Empty fields are omitted from the output

### Output per announcement

- `stockCode`, `stockCodes[]` — primary and (for multi-stock filings) all affected stock codes
- `companyName`, `companyNames[]`
- `title` — the announcement headline
- `category` — HKEX headline category (e.g. "Announcements and Notices")
- `documentType` — the specific sub-type within the category, when the filing has one
- `publishDate` — release date/time in Hong Kong time (ISO 8601)
- `language` — `English` or `Chinese`, detected from the filing title
- `documentUrl` — direct link to the filed PDF/XLSX/HTM document
- `fileType`, `fileSize`
- `documentOnDisplayUrl` — link to view supporting documents on display, when provided
- `newsId`, `sourceUrl`
- `recordType: "announcement"`, `scrapedAt`

### Input

| Field | Type | Default | Description |
|---|---|---|---|
| `stockQuery` | string | – | Stock code or company name; leave blank to search all securities |
| `market` | select | `SEHK` | `SEHK` (Main Board) / `GEM` (Growth Enterprise Market) |
| `headlineCategory` | select | All categories | One of HKEX's 19 headline categories |
| `documentSubCategory` | select | All sub-categories | One of HKEX's 293 detailed document sub-types within a headline category; auto-fills the matching `headlineCategory` if left as "All categories", and overrides a conflicting `headlineCategory` (with a warning) if one was also set |
| `titleKeyword` | string | – | Only return announcements whose title contains this word |
| `dateFrom` / `dateTo` | string | last 30 days | `YYYY-MM-DD`; window is auto-shortened to HKEX's own limit if too wide |
| `sortBy` | select | `latest` | `latest` / `oldest` / `stockCodeAsc` / `stockCodeDesc` / `nameAsc` / `nameDesc` |
| `maxItems` | int | `100` | Hard cap (1–3000) |
| `proxyConfiguration` | object | AUTO | Automatic datacenter-proxy fallback only |

#### Example: Tencent's latest disclosures

```json
{
  "stockQuery": "00700",
  "maxItems": 50
}
````

#### Example: all results announcements this year

```json
{
  "headlineCategory": "10000",
  "titleKeyword": "results",
  "dateFrom": "2026-01-01",
  "dateTo": "2026-07-10",
  "maxItems": 200
}
```

#### Example: allotment results only (sub-category, no need to also set headlineCategory)

```json
{
  "documentSubCategory": "15100",
  "maxItems": 100
}
```

### Use cases

- **Investor relations monitoring** — track a specific issuer's full disclosure history by stock code
- **Compliance and regulatory tracking** — watch disclosure-of-interest filings and takeovers-code notices across the market
- **Financial data platforms** — build a searchable archive of HKEX filings, results, and circulars
- **Equity research** — screen results announcements and financial statements by headline category and date range
- **News and market monitoring** — surface newly filed announcements for HKEX-listed companies as they're published
- **ETF and structured-product tracking** — pull trading information filings for leveraged/inverse products and ETFs

### FAQ

**Does this require a HKEXnews account?** No — HKEXnews publishes all listed-company disclosures publicly, with no login required.

**Is this affiliated with HKEX?** No — this is a third-party actor that reads HKEXnews' own public Title Search API. It is not affiliated with, endorsed by, or supported by Hong Kong Exchanges and Clearing Limited.

**How far back does the data go?** HKEXnews' headline-category search covers announcements from 25 June 2007 onward. Older filings may not be categorized and could be excluded from category-filtered searches.

**Can I search by company name instead of stock code?** Yes — `stockQuery` accepts either an exact stock code or part of the company name, resolved via HKEXnews' own securities lookup.

**Why did my date range change?** HKEXnews enforces its own search-window limit: about 30 days unless a specific stock code is set (a headline category alone doesn't widen it), and about 366 days once a stock code is set. If your requested range exceeds that, it's automatically shortened and a status message explains the adjustment.

**Why do `stockCodeDesc`/`nameDesc` sometimes return records with no `stockCode`/`companyName`?** Some HKEXnews filings (e.g. daily trading summaries for derivative warrants/CBBCs published by an issuer, not tied to one listed security) genuinely carry no stock code or company name. HKEXnews' own search API sorts these blank values ahead of real ones in descending order, so a narrow `maxItems` on `stockCodeDesc`/`nameDesc` can return mostly issuer-wide filings before reaching security-specific ones further down the list. `stockCodeAsc`/`nameAsc` are unaffected (blank values sort last, past typical result sizes). Widen `maxItems` if you need to reach the security-specific tail of a descending sort.

**Why does the same filing sometimes appear twice with different stock codes?** A small number of issuers list a dual-counter pair — the same company trading under two separate stock codes, most commonly a HKD-denominated counter and its RMB-denominated sibling (e.g. `03192` and `83192`). HKEXnews' own search results list a document that covers both counters as two separate rows, one per stock code, sharing the same underlying document link. This actor mirrors that: each row is emitted as its own record (with its own `stockCode`/`companyName`), so a search for either counter's code correctly surfaces the filing.

# Actor input Schema

## `stockQuery` (type: `string`):

Restrict results to one listed security. Enter an exact stock code (e.g. `00700`) or part of the company name (e.g. `Tencent`). Leave blank to search across all listed securities.

## `headlineCategory` (type: `string`):

Restrict results to one HKEX headline category. Leave as "All categories" to search every category.

## `documentSubCategory` (type: `string`):

Narrow further to one of HKEX's 293 detailed document sub-types within a headline category (e.g. "Allotment Results" within "Announcements and Notices"). Automatically fills in the matching headline category if left as "All categories"; overrides a conflicting headlineCategory selection with a warning. Leave as "All sub-categories" for no sub-type filter.

## `market` (type: `string`):

Which HKEX board to search. Main Board (SEHK) lists the large-cap/established issuers; GEM (Growth Enterprise Market) lists smaller-cap issuers under lighter admission requirements.

## `titleKeyword` (type: `string`):

Only return announcements whose title contains this word (case-insensitive, single word works best).

## `dateFrom` (type: `string`):

Earliest release date, `YYYY-MM-DD`. HKEX only allows a ~30-day window unless a specific stock code is set (a headline category alone does not widen it), in which case the window extends to ~366 days. Defaults to 30 days before `dateTo`.

## `dateTo` (type: `string`):

Latest release date, `YYYY-MM-DD`. Defaults to today.

## `sortBy` (type: `string`):

Order of returned announcements.

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

Hard cap on emitted records.

## `proxyConfiguration` (type: `object`):

Only used as an automatic fallback if HKEXnews starts rate-limiting the datacenter IP. Leave the default AUTO group enabled — no paid proxy is required.

## Actor input object example

```json
{
  "stockQuery": "00700",
  "headlineCategory": "",
  "documentSubCategory": "",
  "market": "SEHK",
  "sortBy": "latest",
  "maxItems": 100,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `announcements` (type: `string`):

Dataset containing all scraped HKEX announcements.

# 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 = {
    "stockQuery": "00700",
    "headlineCategory": "",
    "documentSubCategory": "",
    "market": "SEHK",
    "sortBy": "latest",
    "maxItems": 100,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawlerbros/hkex-disclosure-announcements-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 = {
    "stockQuery": "00700",
    "headlineCategory": "",
    "documentSubCategory": "",
    "market": "SEHK",
    "sortBy": "latest",
    "maxItems": 100,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("crawlerbros/hkex-disclosure-announcements-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 '{
  "stockQuery": "00700",
  "headlineCategory": "",
  "documentSubCategory": "",
  "market": "SEHK",
  "sortBy": "latest",
  "maxItems": 100,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call crawlerbros/hkex-disclosure-announcements-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=crawlerbros/hkex-disclosure-announcements-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "HKEX Disclosure & Announcements Scraper",
        "description": "Scrape Hong Kong Exchange (HKEXnews) listed-company announcements and disclosures. Search by stock code or company name, filter by headline category, document type, date range, and title keyword. Get stock code, company name, announcement title, category, publish date, and PDF document URL.",
        "version": "1.0",
        "x-build-id": "BRUabb1GhY2AKKUtf"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/crawlerbros~hkex-disclosure-announcements-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-crawlerbros-hkex-disclosure-announcements-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/crawlerbros~hkex-disclosure-announcements-scraper/runs": {
            "post": {
                "operationId": "runs-sync-crawlerbros-hkex-disclosure-announcements-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/crawlerbros~hkex-disclosure-announcements-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-crawlerbros-hkex-disclosure-announcements-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": {
                    "stockQuery": {
                        "title": "Stock code or company name",
                        "type": "string",
                        "description": "Restrict results to one listed security. Enter an exact stock code (e.g. `00700`) or part of the company name (e.g. `Tencent`). Leave blank to search across all listed securities."
                    },
                    "headlineCategory": {
                        "title": "Headline category",
                        "enum": [
                            "",
                            "10000",
                            "20000",
                            "30000",
                            "40000",
                            "50000",
                            "51500",
                            "52000",
                            "53000",
                            "54000",
                            "55000",
                            "56000",
                            "57000",
                            "58000",
                            "59000",
                            "70000",
                            "80000",
                            "81000",
                            "90000",
                            "91000"
                        ],
                        "type": "string",
                        "description": "Restrict results to one HKEX headline category. Leave as \"All categories\" to search every category.",
                        "default": ""
                    },
                    "documentSubCategory": {
                        "title": "Sub-category (within headline category)",
                        "enum": [
                            "",
                            "13100",
                            "15100",
                            "12100",
                            "17100",
                            "17150",
                            "18100",
                            "11100",
                            "18110",
                            "19100",
                            "18120",
                            "18140",
                            "12150",
                            "15000",
                            "18160",
                            "12951",
                            "12200",
                            "12550",
                            "12050",
                            "12250",
                            "12300",
                            "12350",
                            "12400",
                            "17950",
                            "12450",
                            "12500",
                            "12959",
                            "17200",
                            "12600",
                            "18180",
                            "12950",
                            "12650",
                            "12700",
                            "18200",
                            "12961",
                            "12957",
                            "14100",
                            "17250",
                            "19150",
                            "19200",
                            "18220",
                            "17300",
                            "11200",
                            "18240",
                            "11300",
                            "18260",
                            "13150",
                            "17350",
                            "16100",
                            "19250",
                            "13200",
                            "16200",
                            "13250",
                            "13251",
                            "13300",
                            "13350",
                            "15200",
                            "17400",
                            "17450",
                            "11400",
                            "19750",
                            "18280",
                            "13400",
                            "18300",
                            "18320",
                            "18340",
                            "18360",
                            "18380",
                            "18400",
                            "18420",
                            "17500",
                            "12952",
                            "15300",
                            "17550",
                            "19300",
                            "16300",
                            "14200",
                            "19400",
                            "19350",
                            "19700",
                            "15700",
                            "13550",
                            "18440",
                            "13450",
                            "14300",
                            "12750",
                            "12800",
                            "12850",
                            "12962",
                            "12900",
                            "12953",
                            "14400",
                            "14500",
                            "18460",
                            "19450",
                            "19760",
                            "19770",
                            "19780",
                            "19790",
                            "19800",
                            "19500",
                            "19810",
                            "19820",
                            "19830",
                            "19840",
                            "19850",
                            "19870",
                            "19860",
                            "18480",
                            "19550",
                            "13750",
                            "17600",
                            "13500",
                            "13600",
                            "14600",
                            "14700",
                            "14800",
                            "14900",
                            "13650",
                            "17650",
                            "16400",
                            "13700",
                            "13800",
                            "18500",
                            "18560",
                            "18580",
                            "18520",
                            "16500",
                            "17700",
                            "15400",
                            "17750",
                            "17800",
                            "15500",
                            "17850",
                            "16600",
                            "12958",
                            "12954",
                            "12955",
                            "12956",
                            "18540",
                            "17960",
                            "15600",
                            "19600",
                            "19650",
                            "16700",
                            "16800",
                            "16900",
                            "11500",
                            "17900",
                            "91200",
                            "91300",
                            "91100",
                            "22100",
                            "26100",
                            "23500",
                            "26150",
                            "23100",
                            "21100",
                            "21200",
                            "24100",
                            "25100",
                            "25200",
                            "26200",
                            "26250",
                            "26300",
                            "25300",
                            "26350",
                            "26400",
                            "26450",
                            "26500",
                            "26550",
                            "26600",
                            "26650",
                            "26700",
                            "24200",
                            "23200",
                            "27100",
                            "23300",
                            "26750",
                            "27900",
                            "25400",
                            "25500",
                            "23400",
                            "24300",
                            "26800",
                            "26950",
                            "26900",
                            "26850",
                            "25600",
                            "24400",
                            "24500",
                            "72300",
                            "72500",
                            "72100",
                            "72661",
                            "72741",
                            "72660",
                            "72740",
                            "72950",
                            "72820",
                            "73500",
                            "73100",
                            "73300",
                            "76800",
                            "75400",
                            "72900",
                            "72910",
                            "71500",
                            "71100",
                            "71300",
                            "72550",
                            "72150",
                            "72350",
                            "72920",
                            "76100",
                            "72960",
                            "76200",
                            "74100",
                            "72670",
                            "72750",
                            "76300",
                            "72970",
                            "72830",
                            "72930",
                            "73030",
                            "76400",
                            "75300",
                            "72600",
                            "72200",
                            "72400",
                            "72680",
                            "72760",
                            "72840",
                            "72690",
                            "72770",
                            "72850",
                            "76500",
                            "75100",
                            "72650",
                            "72250",
                            "76600",
                            "74200",
                            "72450",
                            "72940",
                            "76700",
                            "74300",
                            "71600",
                            "71200",
                            "71400",
                            "75200",
                            "72980",
                            "73700",
                            "72700",
                            "72780",
                            "72990",
                            "72860",
                            "73600",
                            "73200",
                            "73400",
                            "72710",
                            "72790",
                            "73000",
                            "72870",
                            "72720",
                            "72800",
                            "73010",
                            "72880",
                            "76900",
                            "75500",
                            "72731",
                            "72811",
                            "72730",
                            "72810",
                            "73020",
                            "72890",
                            "40100",
                            "40400",
                            "40200",
                            "40300",
                            "30100",
                            "30200",
                            "30300",
                            "30400",
                            "30500",
                            "30600",
                            "30700",
                            "30800",
                            "30900",
                            "31000",
                            "31100",
                            "31200",
                            "50300",
                            "50200",
                            "50100"
                        ],
                        "type": "string",
                        "description": "Narrow further to one of HKEX's 293 detailed document sub-types within a headline category (e.g. \"Allotment Results\" within \"Announcements and Notices\"). Automatically fills in the matching headline category if left as \"All categories\"; overrides a conflicting headlineCategory selection with a warning. Leave as \"All sub-categories\" for no sub-type filter.",
                        "default": ""
                    },
                    "market": {
                        "title": "Market / board",
                        "enum": [
                            "SEHK",
                            "GEM"
                        ],
                        "type": "string",
                        "description": "Which HKEX board to search. Main Board (SEHK) lists the large-cap/established issuers; GEM (Growth Enterprise Market) lists smaller-cap issuers under lighter admission requirements.",
                        "default": "SEHK"
                    },
                    "titleKeyword": {
                        "title": "Title contains keyword",
                        "type": "string",
                        "description": "Only return announcements whose title contains this word (case-insensitive, single word works best)."
                    },
                    "dateFrom": {
                        "title": "Date from",
                        "type": "string",
                        "description": "Earliest release date, `YYYY-MM-DD`. HKEX only allows a ~30-day window unless a specific stock code is set (a headline category alone does not widen it), in which case the window extends to ~366 days. Defaults to 30 days before `dateTo`."
                    },
                    "dateTo": {
                        "title": "Date to",
                        "type": "string",
                        "description": "Latest release date, `YYYY-MM-DD`. Defaults to today."
                    },
                    "sortBy": {
                        "title": "Sort by",
                        "enum": [
                            "latest",
                            "oldest",
                            "stockCodeAsc",
                            "stockCodeDesc",
                            "nameAsc",
                            "nameDesc"
                        ],
                        "type": "string",
                        "description": "Order of returned announcements.",
                        "default": "latest"
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "maximum": 3000,
                        "type": "integer",
                        "description": "Hard cap on emitted records.",
                        "default": 100
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Only used as an automatic fallback if HKEXnews starts rate-limiting the datacenter IP. Leave the default AUTO group enabled — no paid proxy is required.",
                        "default": {
                            "useApifyProxy": true
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
