Parameters
| Name | Type | Req | Description |
|---|---|---|---|
| ticker | path | yes | Ticker symbol. |
Example
curl -H "X-API-Key: rk_YOUR_KEY" \
https://api.rockmoon.ai/v1/ownership/7203/major-shareholders
r = requests.get(
"https://api.rockmoon.ai/v1/ownership/7203/major-shareholders",
headers={"X-API-Key": "rk_YOUR_KEY"},
)
for snap in r.json()["snapshots"]:
for h in snap["holders"][:3]:
print(h["rank"], h["holder_name"], h["ownership_ratio"])
const r = await fetch(
"https://api.rockmoon.ai/v1/ownership/7203/major-shareholders",
{ headers: { "X-API-Key": "rk_YOUR_KEY" } },
);
const { snapshots } = await r.json();
Response 200 — JP example (7203)
{
"ticker": "7203",
"market": "JP",
"snapshots": [
{
"fiscal_year_end": "2025-03-31",
"accession": "S100VWVY",
"holders": [
{
"rank": 1,
"holder_name": "Master Trust Bank of Japan",
"holder_member": "No1MajorShareholdersMember",
"holder_address": "Tokyo, Minato-ku",
"shares_held": 1805605000.0,
"ownership_ratio": 0.1384
},
{
"rank": 2,
"holder_name": "Toyota Industries Corp.",
"holder_member": "No2MajorShareholdersMember",
"holder_address": "Aichi, Kariya-shi",
"shares_held": 1192331000.0,
"ownership_ratio": 0.0914
},
{
"rank": 3,
"holder_name": "Custody Bank of Japan",
"holder_member": "No3MajorShareholdersMember",
"holder_address": "Tokyo, Chuo-ku",
"shares_held": 811647000.0,
"ownership_ratio": 0.0622
},
{
"rank": 4,
"holder_name": "Nippon Life Insurance",
"holder_member": "No4MajorShareholdersMember",
"holder_address": "Osaka, Chuo-ku",
"shares_held": 633221000.0,
"ownership_ratio": 0.0485
}
]
}
]
}
Response 200 — KR example (005930)
{
"ticker": "005930",
"market": "KR",
"snapshots": [
{
"period": "2025",
"period_end": "2025-12-31",
"holders": [
{
"rank": 1,
"holder_name": "Samsung Life Insurance",
"relationship": "controlling_shareholder_self",
"share_type": "common",
"shares_held": 503904843.0,
"ownership_ratio": 8.51,
"accession": "20260310002820"
},
{
"rank": 2,
"holder_name": "Samsung Life Insurance",
"relationship": "controlling_shareholder_self",
"share_type": "preferred",
"shares_held": 43950.0,
"ownership_ratio": 0.01,
"accession": "20260310002820"
},
{
"rank": 3,
"holder_name": "Samsung Life Insurance (Special Account)",
"relationship": "controlling_shareholder_self",
"share_type": "common",
"shares_held": 4424328.0,
"ownership_ratio": 0.07,
"accession": "20260310002820"
}
]
}
]
}
Errors
| HTTP | Code | Cause |
|---|---|---|
| 403 | upgrade_required | Basic+ required. |
| 404 | ticker_not_found | Unknown ticker or no snapshot disclosed. |
| 429 | rate_limit_exceeded | Rate limit hit. Honor Retry-After. |
Notes
- Holder names appear as filed in the source disclosure. Names shown here are illustrative English forms; actual values may be in the source language.
- JP-specific fields:
holder_address,holder_member. - KR-specific fields:
relationship(e.g. controlling shareholder vs. related party),share_type(common vs. preferred). - Trust banks often top JP lists as custodians for index funds — the beneficial owners are not disclosed at that level.
- One snapshot per year per ticker, taken at fiscal year end.