>
, ,

HKEX Listed Company Announcements API: Hong Kong Disclosure Monitoring at Scale

Reading Time: 4 minutes

Reading Time: 4 minutes

中文版: 中文版本

TL;DR. HKEXnews is the canonical disclosure portal for all ~2,600 companies listed on the Hong Kong Stock Exchange’s Main Board and GEM. Every regulatory announcement — earnings, profit warnings, connected-party transactions, change-of-substantial-shareholder, share buybacks, suspension notices — must be filed here before market sensitive distribution. HKEX exposes a basic announcement listing on the site, but no full-coverage public API. For compliance teams running cross-border A/H surveillance, equity research desks tracking dual-listed names, and SFC-regulated managers running their own disclosure monitoring, you need announcements as structured data. This guide covers the HKEXnews structure, the disclosure types that matter, and a working Python pipeline using the HKEX News Announcements actor.

How HKEX disclosure actually works

HKEX’s continuous-disclosure obligations are set out in the Main Board Listing Rules (Chapters 13 and 17 in particular) and the parallel GEM Rules. Listed issuers must publish “inside information” — anything that a reasonable person would consider material to share price — through HKEXnews before any other distribution channel. The portal accepts filings around the clock; trading-sensitive announcements typically appear before the 9:30am HKT open or after the 4:00pm close.

Each announcement has:

  • Stock code — the four-digit HKEX ticker (00700 = Tencent, 00005 = HSBC)
  • Headline category — HKEX’s structured taxonomy (Announcements and Notices, Circulars, Listing Documents, Monthly Returns, Next Day Disclosure Returns, etc.)
  • Document type code — within category, e.g., “Profit Warning,” “Connected Transaction,” “Trading Halt”
  • Published date/time — HKT timestamp
  • PDF link — the actual filing document

The HKEXnews search at https://www1.hkexnews.hk/search/titlesearch.xhtml exposes filtering by stock code, date range, headline category, and document type — driven by an internal XHR endpoint that returns paginated JSON results. The endpoint is public and stable but undocumented for third-party use.

Disclosure types that matter for monitoring

  • Profit warning / profit alert — the canonical pre-announcement of material earnings deviation. Almost always moves the stock at next open.
  • Connected transaction announcements — Chapter 14A. Hong Kong’s RPT regime is materially stricter than US 8-K Item 1.01 — a meaningful share of HK announcement volume.
  • Change of substantial shareholder — disclosure of interest filings under Part XV of the SFO.
  • Trading halt / suspension — frequently precedes a material announcement; the suspension itself is the alert.
  • Share buyback monthly returns — under the Buybacks Code, companies must disclose monthly repurchase activity.
  • Inside information announcements — the catch-all under SFO §307 covering anything materially price-sensitive that doesn’t fit the structured categories.

Why cross-border matters

The single biggest reason to pull HKEX programmatically is cross-listing surveillance. Approximately 150 mainland Chinese issuers maintain both an A-share (mainland) and an H-share (Hong Kong) listing — Bank of China, Ping An Insurance, ICBC, BYD, and most large state-owned enterprises. Material announcements must be published on both venues but timing is not always perfectly aligned, and the A/H price premium (typically tracked via the Hang Seng AH Premium Index) is one of the most-watched cross-border indicators in Asian equities.

For desks running dual-listed strategies, pulling HKEX announcements in parallel with A-share data from Eastmoney turns HKEXnews from a static portal into a real-time information advantage.

Working Python example

The HKEX News Announcements actor wraps the HKEXnews search with stock-code resolution, headline taxonomy normalization, and PDF link extraction. Curl:

curl -X POST "https://api.apify.com/v2/acts/nexgendata~hkex-news-announcements/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"stockCodes": ["00700","00005","09988"], "since": "2026-05-01", "categories": ["PROFIT_WARNING","INSIDE_INFORMATION"]}'

Python — A/H dual-listed monitoring:

import os, json, urllib.request
APIFY_TOKEN = os.environ["APIFY_TOKEN"]
ACTOR = "nexgendata~hkex-news-announcements"
ah_dual = ["00939","01398","02628","00386","00857","02318","02628","01088"]
payload = json.dumps({
    "stockCodes": ah_dual,
    "since": "2026-05-01",
    "categories": ["PROFIT_WARNING","INSIDE_INFORMATION",
                    "CONNECTED_TRANSACTION","SHARE_BUYBACK"],
}).encode("utf-8")
url = f"https://api.apify.com/v2/acts/{ACTOR}/run-sync-get-dataset-items?token={APIFY_TOKEN}"
req = urllib.request.Request(url, data=payload, method="POST",
                              headers={"Content-Type": "application/json"})
with urllib.request.urlopen(req, timeout=600) as r:
    items = json.loads(r.read())
for a in items:
    print(f"{a['publishedAt']} | {a['stockCode']} {a['issuerName']} | {a['category']}")
    print(f"   {a['headline']}")
    print(f"   {a['pdfUrl']}")

Returned shape:

{
  "stockCode": "00700",
  "issuerName": "TENCENT HOLDINGS LIMITED",
  "publishedAt": "2026-05-29T18:30:00+08:00",
  "category": "ANNOUNCEMENTS_AND_NOTICES",
  "documentType": "INSIDE_INFORMATION",
  "headline": "Inside Information - Voluntary Announcement Regarding ...",
  "pdfUrl": "https://www1.hkexnews.hk/listedco/listconews/sehk/2026/0529/...pdf",
  "language": "en"
}

How this compares to commercial feeds

SourceCoverageStructuredAnnual cost
Bloomberg Terminal (HK announcements)Full + Bloomberg news overlayYes~$24k per seat
Refinitiv Eikon (HK filings)FullYes~$22k per seat
FactSetFullYes~$15k–$25k per seat
HKEXnews own site / Bahasa searchFullNo — HTML + PDF onlyFree, manual
HKEX’s iASR APILimited — issuer self-serviceYes but restrictedSubscription, HK-issuer-only practical use
HKEX Announcements actorFull HKEXnews coverageYes — JSON normalizedPPE per announcement

HKEX’s own iASR (Issuer Annual Report) system is designed for issuers preparing filings, not for third-party monitoring — its API is not the right tool if what you want is “tell me every profit warning in real time.” For that use case, the public HKEXnews search is the right source; the question is just whether to write the scraper yourself or pay PPE.

SFC compliance use cases

SFC-licensed asset managers running long-short HK strategies have a continuous obligation to monitor disclosures on positions held. For a 200-name portfolio, manual HKEXnews polling is workable but error-prone — a profit warning published at 18:30 HKT can sit unread until the next trading day. Automated polling at 5-minute cadence with email alerts on the issuer’s holdings list closes that gap for under $50/month in PPE costs.

Adjacent surveillance feeds you’ll likely want: A-share data for cross-border, Chinese ADRs for US triangulation, and (for global mandates) the SGX announcements feed covering Singapore.

Trading-halt detection patterns

HK trading halts under the Listing Rules are typically announced via a short “Trading Halt” notice followed within hours by the underlying inside-information announcement. The 30-minute window between halt and substantive announcement is the highest-value real-time monitoring window for HK equity research. Polling cadence under one minute and a webhook downstream of the actor turns this into a usable event source rather than a post-hoc record.

Language considerations

HKEX requires bilingual filings for Main Board issuers — English and Traditional Chinese versions are typically published simultaneously. The actor returns both PDF URLs when available; downstream pipelines that key off English headlines should fall back to the Chinese version for issuers whose English filing lags.

Get started: Pull your first HKEX announcement batch free at the HKEX News Announcements actor page. Filter by stock code, headline category, or date range.

Related Reading

More from this China / APAC series:

From the SEC/SGX/ASX and PR-newswire series:

See also: New — SEC 8-K Event Monitor — Material Filing Alerts

See also: New — SEC Form 4 Insider Monitor — Transaction Alerts

See also: New — APAC Disclosure Monitor — New Market Announcement Alerts

See also: New — Chinese Social Signals MCP

See also: New — Korea KRX Market Stats

Factual public data — not financial or investment advice.

See also: New — Taiwan PCC Procurement

Run it yourself in minutes

New users get $5 free credit (no card). Browse the full 300+ actor catalog and run any tool on pay-per-use pricing.

More from the blog