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.