Skip to content

Türkiye KAP (Public Disclosure Platform) — listed company ownership and boards #856

Description

@pudo

Data URL

https://www.kap.org.tr/tr/sirketler/ALL

Publisher

Merkezi Kayıt Kuruluşu A.Ş. (MKK) — Central Securities Depository of Türkiye

Publisher country/territory code

TR

Type of data

Companies (National registers of companies, organizations, etc)

Coverage region

region:Asia/Pacific

Can you tell us more?

KAP (Kamuyu Aydınlatma Platformu / Public Disclosure Platform) is Türkiye's statutory
disclosure channel for capital markets. It is defined in the Capital Markets Law No. 6362,
art. 3(1)(k), and the CMB's Public Disclosure Platform Communiqué requires that all
information subject to public disclosure be filed there with electronic signature. Operated
by MKK since March 2014 (previously run within Borsa İstanbul from June 2009), under CMB
regulation. Publisher should be marked official — same shape as FINRA, which we already
treat as official: statutory mandate, non-governmental legal form.

Why it's worth doing: it carries real, structured ownership for Turkish listed
companies, which is otherwise very hard to get. The national trade registry gazette
(ticaretsicil.gov.tr) publishes far richer ownership data for all ~1.9M Turkish companies,
but as non-searchable 300 DPI scans with no enumeration surface, so it is not crawlable —
TOBB sells the parsed equivalent as a paid subscription. KAP is the one Turkish corporate
ownership source that is free, public and structurally clean. Small universe, but it is the
public face of MKK's ownership data, so there is no separate MKK source to chase.

Universe: ~1,110 KAP member entities, of which ~746 are BIST-traded.

Access: unauthenticated, no CAPTCHA, no rate limiting observed, no geoblocking (checked
from ~40 vantage points incl. Frankfurt, all 200). Next.js SSR with the full JSON payload
embedded in the HTML. Company detail at /tr/sirket-bilgileri/genel/{id}-{slug}, summary
at /tr/sirket-bilgileri/ozet/{id}-{slug}. Full crawl estimated at ~466 MB and ~25 minutes.

Fields available (verified on live company pages):

  • Ownership: shareholdingStructureGridshareholder, shareInCapital, ratioInCapital,
    votingRightRatio. Covers direct and indirect holders above 5%.
  • Boards: boardMembersGrid — name, title, first-elected date, independence flag,
    executive/non-executive.
  • Identifiers: tradeRegNo, tradeRegOffice, tradeRegDate, taxNo, taxOffice.
  • Capital: paidCapital, authorizedCapital, nominalValueOfShares,
    nominalValuePerShare, registeredOrBearerShare, shareGroup, typeOfPrivilege.
  • Market: stockCode, market, marketOrStockExchange, relevantSubMarketOrExchange,
    bistIndices.
  • Contact/company: address, city, website, sector, scope of activities.

Two implementation gotchas, both verified:

  1. The field named isin is not an ISIN. It holds the BIST ticker — the column header
    binds "columnName":"Borsa Kodu" to "columnKey":"isin", and the value is e.g. ADEL
    for Adel Kalemcilik. Four characters, not twelve. Mapping it to Company:isinCode would
    silently fill the property with tickers. A search of company and listing pages found no
    12-character ISIN-shaped token anywhere. Real Turkish ISINs are issued by MKK as the
    National Numbering Agency but are not surfaced through KAP company profiles.
  2. KAP emits national ID numbers in its HTML. tcknYkn / tcknYknVkn keys are present
    in the payload, carrying base64-encoded 11-digit TCKNs that are not rendered in the page.
    Any KAP-derived dataset must strip these deliberately rather than by accident.

Caveat on data status: KAP is an official disclosure platform, so content is
issuer-declared under legal obligation, not independently verified by MKK or the CMB. Same
epistemic status as SEC EDGAR filings. Shareholding percentages are what the company says
they are.

Not checked: whether debt-instrument or fund pages carry real ISINs — guessed paths
404'd. Worth closing that gap if ISIN linkage matters. Also could not confirm LEI on company
pages (zero occurrences found), despite secondary reporting suggesting subsidiaries carry
one.

Related: #234 (Turkey Companies umbrella ticket) — KAP is listed there as one of several
candidate sources under "Istanbul stock exchange", but has never been scoped or split out.

This is a suggestion or request

  • I understand.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status
    Triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions