HKEXnews APIwww3.hkexnews.hk ↗
Query CCASS participant shareholding data for any Hong Kong listed stock by stock code and date. Access participant IDs, names, share counts, and issued shares.
What is the HKEXnews API?
The HKEXnews CCASS Shareholding API provides access to Hong Kong Exchange clearing system data through a single endpoint, get_ccass_shareholding, returning up to hundreds of participant records per query. Each response includes participant IDs, participant names, individual shareholding quantities, total issued shares, and the exact record date — covering up to 12 months of historical CCASS data for any valid Hong Kong stock code.
curl -X GET 'https://api.parse.bot/scraper/8d426f3f-9484-4846-b374-01b624c660ab/get_ccass_shareholding?stock_code=01592&shareholding_date=2026%2F08%2F11' \ -H 'X-API-Key: $PARSE_API_KEY'
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 www3-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 API — look up participant holdings for a stock."""
from parse_apis.www3_hkexnews_hk_api import HkexCcass, InputFormatInvalid
client = HkexCcass()
# Fetch CCASS shareholding data for stock 01592 on a recent date.
try:
report = client.shareholdings.get(stock_code="01592", shareholding_date="2026/08/11")
except InputFormatInvalid:
print("Invalid stock code or date format.")
raise
print(f"{report.stock_name} ({report.stock_code}) — {report.shareholding_date}")
print(f"Issued shares: {report.issued_shares:,}")
print(f"Total participants: {report.total_participants}")
# Show the top 5 participants by shareholding (already sorted descending).
for participant in report.participants[:5]:
print(
f" {participant.participant_name} ({participant.participant_id}): "
f"{participant.shareholding:,} shares ({participant.percent_of_issued_shares}%)"
)
print("exercised: shareholdings.get / Shareholding fields / Participant fields")
Returns all CCASS participants and their shareholding for a given Hong Kong stock on a specified date. Results are sorted by shareholding quantity in descending order. The data covers the past 12 months of CCASS records. If the specified date falls on a weekend or public holiday, the system returns the most recent preceding business day's records.
| Param | Type | Description |
|---|---|---|
| stock_coderequired | string | Hong Kong stock code, 4-5 digits with leading zeros preserved (e.g. 01592, 00001). |
| shareholding_daterequired | string | Shareholding date in YYYY/MM/DD format (e.g. 2026/08/11). Must be within the past 12 months. |
{
"type": "object",
"fields": {
"stock_code": "Stock code queried",
"stock_name": "Chinese name of the stock",
"participants": "Array of CCASS participant shareholding records, each containing participant_id, participant_name, shareholding (number of shares), and percent_of_issued_shares",
"issued_shares": "Total issued shares/warrants/units (most recently updated figure)",
"shareholding_date": "Date of the shareholding record",
"total_participants": "Total number of participants returned"
},
"sample": {
"data": {
"stock_code": "01592",
"stock_name": "基石控股",
"participants": [
{
"shareholding": 554387582,
"participant_id": "B01922",
"participant_name": "華港證券有限公司",
"percent_of_issued_shares": 38.29
},
{
"shareholding": 114366170,
"participant_id": "B01565",
"participant_name": "國泰君安證券(香港)有限公司",
"percent_of_issued_shares": 7.89
}
],
"issued_shares": 1447776405,
"shareholding_date": "2026/08/11",
"total_participants": 115
},
"status": "success"
}
}About the HKEXnews API
What the API Returns
The get_ccass_shareholding endpoint accepts two required parameters: stock_code (a 4–5 digit Hong Kong stock code with leading zeros preserved, e.g. 00001 or 01592) and shareholding_date in YYYY/MM/DD format. It returns a structured response containing stock_code, stock_name (the Chinese-language name of the listed entity), issued_shares (the most recently updated total issued share count), shareholding_date, total_participants, and a participants array sorted by shareholding quantity in descending order.
Participant Records
Each entry in the participants array contains three fields: participant_id (the unique CCASS broker or custodian identifier), participant_name (the institution's registered name), and shareholding (the number of shares held through that participant on the queried date). This makes it straightforward to identify the largest clearing participants for a given stock on a given day, or to compare participant positions across dates.
Coverage and Date Handling
The API covers records up to 12 months in the past. Dates must fall within that window; queries outside the range will not return valid data. If the requested date falls on a weekend or Hong Kong public holiday, the API behavior reflects the underlying data availability for that date — no record may be available. Stock codes must include leading zeros (e.g. 00700, not 700) to match CCASS conventions.
The HKEXnews API is a managed, monitored endpoint for www3.hkexnews.hk — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when www3.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 www3.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 institutional custodian positions for a Hong Kong stock across multiple dates using
participant_idandshareholding - Calculate the concentration of the top 10 CCASS participants relative to
issued_sharesfor liquidity analysis - Monitor entry or exit of specific brokers or custodians in a stock by querying
participant_nameover time - Build a shareholding heatmap showing which CCASS participants hold the largest positions by
shareholdingquantity - Detect unusual accumulation events by comparing
total_participantsand individualshareholdingvalues week over week - Cross-reference
stock_codedata across multiple listings to identify common large custodians across a sector
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. 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 does the `participants` array contain, and how is it ordered?+
participants contains participant_id (the CCASS identifier for the broker or custodian), participant_name (the registered institution name), and shareholding (share count held on the queried date). The array is sorted by shareholding in descending order, so the largest holders appear first.Does the API return data for dates older than 12 months?+
Does the API cover shareholding data for warrants, REITs, or ETFs, or only ordinary shares?+
issued_shares field reflects the total issued shares, warrants, or units as reported in CCASS, so the endpoint works for any instrument type listed in CCASS — including REITs, ETFs, and warrants — as long as a valid stock code is supplied. The stock_name returned is the Chinese-language name for that instrument.Can I retrieve a full ownership history or time series for a stock in a single call?+
get_ccass_shareholding returns data for a single stock_code and shareholding_date combination. Building a time series requires issuing one request per date. You can fork this API on Parse and revise it to add a batch or date-range endpoint that aggregates multiple dates in one response.