Hkexnews APIhkexnews.hk ↗
Query CCASS shareholding data from HKEX by stock code and date. Returns participant names, addresses, share quantities, and percentages for any HK-listed stock.
What is the Hkexnews API?
The HKEX CCASS Shareholding API exposes 1 endpoint — search_ccass_shareholding — that returns a full breakdown of CCASS participant holdings for any Hong Kong-listed stock on a given date. Each response includes the stock name, shareholding date, and an array of participant records covering name, address, shareholding quantity, and percentage of issued shares, sorted by shareholding in descending order.
curl -X POST 'https://api.parse.bot/scraper/27d3c839-5ca7-4a37-befc-a94e8c85450d/search_ccass_shareholding' \
-H 'X-API-Key: $PARSE_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"stock_code": "00700",
"shareholding_date": "2026/07/15"
}'Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace hkexnews-hk-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: HKEX CCASS Shareholding SDK — bounded, re-runnable."""
from parse_apis.hkexnews_hk_api import HKEX, InvalidInput
client = HKEX()
# Search CCASS shareholding for Tencent (00700) on a recent date.
result = client.shareholding_results.search(stock_code="00700", shareholding_date="2026/07/15")
print(result.stock_code, result.stock_name, result.shareholding_date)
# Inspect the top participants (list is pre-sorted by shareholding descending).
for participant in result.participants[:3]:
print(participant.participant_id, participant.participant_name, participant.shareholding, participant.percentage)
# Typed error handling for invalid input.
try:
client.shareholding_results.search(stock_code="", shareholding_date="2026/07/15")
except InvalidInput as e:
print("invalid input:", e.message)
print("exercised: shareholding_results.search")
Search CCASS shareholding data for a given stock on a specific date. Returns all CCASS participants (market intermediaries and consenting investor participants) holding shares, with their name, address, shareholding quantity, and percentage. Results are sorted by shareholding descending. Only data within the past 12 months is available; if the date falls on a Sunday or Hong Kong public holiday, the preceding business day's data is returned.
| Param | Type | Description |
|---|---|---|
| stock_coderequired | string | Hong Kong stock code, up to 5 digits (e.g. '00700'). Leading zeros are added automatically if fewer than 5 digits are provided. |
| shareholding_daterequired | string | Shareholding date in YYYY/MM/DD format (e.g. '2026/07/15'). Must be within the past 12 months. |
{
"type": "object",
"fields": {
"stock_code": "5-digit stock code",
"stock_name": "full name of the stock",
"participants": "array of participant shareholding records",
"shareholding_date": "actual shareholding date returned"
},
"sample": {
"stock_code": "00700",
"stock_name": "TENCENT HOLDINGS LIMITED -HKD TRADED SHARES",
"participants": [
{
"address": "HSBC WEALTH BUSINESS SERVICES 8/F TOWER 2 & 3 HSBC CENTRE 1 SHAM MONG ROAD KOWLOON",
"percentage": "32.49%",
"stock_code": "00700",
"stock_name": "TENCENT HOLDINGS LIMITED -HKD TRADED SHARES",
"shareholding": "2,954,976,505",
"participant_id": "C00019",
"participant_name": "THE HONGKONG AND SHANGHAI BANKING",
"shareholding_date": "2026/07/15"
}
],
"shareholding_date": "2026/07/15"
}
}About the Hkexnews API
What the API Returns
The search_ccass_shareholding endpoint accepts a stock_code (up to 5 digits, e.g. 00700) and a shareholding_date in YYYY/MM/DD format. It returns the stock_name, the confirmed shareholding_date as recorded by HKEX, and a participants array. Each element in that array represents one CCASS participant — a market intermediary (broker or custodian) or a consenting investor participant — along with their name, registered address, number of shares held, and percentage of total issued shares.
Data Coverage and Scope
CCASS captures shares held through the clearing system, which covers the large majority of shares in HK-listed securities but does not reflect shares held outside CCASS (e.g. shares registered directly with the company's share registrar). The date range is limited to the past 12 months; queries beyond that window will not return data. Leading zeros in stock codes are added automatically, so passing 700 is equivalent to 00700.
Practical Notes
Results are sorted by shareholding quantity descending, making it straightforward to identify the largest CCASS holders without additional client-side sorting. The participants array covers both intermediary participants (typically brokers and custodians acting on behalf of clients) and consenting investor participants (institutions that have elected to appear by name). This distinction is not flagged as a separate field in the response, but is reflected in the participant names and addresses returned.
The Hkexnews API is a managed, monitored endpoint for hkexnews.hk — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when hkexnews.hk changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official hkexnews.hk API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Track changes in top CCASS broker and custodian positions for a stock over time using repeated date queries
- Identify concentration of shareholding among the largest CCASS participants for a given HK-listed company
- Monitor institutional presence by checking consenting investor participants appearing in the
participantsarray - Build a historical shareholding dataset for a stock by querying multiple dates within the 12-month window
- Cross-reference
stock_nameandstock_codefields to validate or enrich a local securities master file - Screen for unusual shareholding shifts by comparing participant percentages across consecutive trading dates
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does HKEX provide an official developer API for CCASS shareholding data?+
What exactly does the `participants` array contain?+
participants includes the participant's name, registered address, the number of shares they hold in CCASS for that stock on that date, and their percentage of total issued shares. Records are ordered from largest to smallest shareholding. The array covers all CCASS participants with a reported position — both market intermediaries and consenting investor participants.Does the API cover shareholding data older than 12 months?+
shareholding_date parameter must fall within the past 12 months, which is the window HKEX makes available through this interface. Historical data beyond that range is not returned. You can fork this API on Parse and revise it to point at an alternative HKEX data source if you need an extended historical range.Can I retrieve total issued shares or company-level summary fields?+
stock_code, stock_name, shareholding_date, and the participants array with per-participant quantities and percentages. A company-level total issued shares figure or a summary aggregate is not a dedicated field in the response. You can fork this API on Parse and revise it to add a derived or additional summary endpoint.