Kamuyu Aydınlatma Platformu (KAP) Verilerini Python ile Anlık Çekmek

kusha · 03 Ağustos 2026 · 5 dk okuma

Kamuyu Aydınlatma Platformu (KAP), Borsa İstanbul'da işlem gören şirketlerin yasal olarak kamuoyuyla paylaşmak zorunda olduğu bildirimlerin (geri alım, yeni iş anlaşması, finansal tablo gibi) yayınlandığı resmi platformdur. Bu derste KAP'ın herkese açık API'siyle bu bildirimleri Python'a çekeceğiz.

API Adresi

KAP'ın bildirimler API'si kap.org.tr/api/disclosures adresinde bulunur ve herhangi bir kimlik doğrulama veya API anahtarı gerektirmez — doğrudan istek atabilirsiniz.

Veriyi Çekmek

import requests

url = "https://www.kap.org.tr/tr/api/disclosures"
yanit = requests.get(url)
veri = yanit.json()

Dönen veri, her biri bir bildirimi temsil eden bir liste içerir; her bildirim basic (temel bilgiler: şirket adı, hisse kodu, başlık, bildirim tarihi) ve detail gibi iç içe alanlar barındırır.

Tek Bir Bildirimden Bilgi Çekmek

ilk_bildirim = veri[0]["basic"]
print(ilk_bildirim["disclosureIndex"])
print(ilk_bildirim["stockCodes"])
print(ilk_bildirim["title"])
  • disclosureIndex, o bildirimin benzersiz kimliğidir — KAP sitesindeki .../tr/Bildirim/{disclosureIndex} adresine giderek bildirimin tam sayfasına ulaşabilirsiniz.
  • stockCodes, bildirimle ilgili hisse senedi kodu/kodlarıdır.
  • title, bildirimin başlığıdır (ör. "Payların Geri Alınmasına İlişkin Bildirim").

Belirli Bir Başlığa Göre Filtrelemek

Tüm bildirimler yerine yalnızca belirli türdeki (ör. geri alım) bildirimlerle ilgileniyorsanız:

aranan_baslik = "Payların Geri Alınmasına İlişkin Bildirim"

filtrelenmis = [
    bildirim for bildirim in veri
    if bildirim["basic"]["title"] == aranan_baslik
]

for bildirim in filtrelenmis:
    print(bildirim["basic"]["stockCodes"], "-", bildirim["basic"]["title"])

Bu, bir liste kavraması (list comprehension) örneğidir — for döngüsünü tek satırda, koşullu bir filtreleme ile birleştirir.

Yalnızca Yeni Bildirimleri İzlemek

Deprem ve haber botlarında gördüğümüz aynı desen burada da işe yarar — daha önce gördüğünüz disclosureIndex değerlerini bir kümede tutup, yalnızca yeni görülenler için bildirim göndererek tekrar eden uyarıları önleyebilirsiniz.

Seri Tamamlandı

Python Dersleri serisinin tamamını burada bulabilirsiniz: Python kategorisi.