/api/katalog/
Bütün ülkeler: veri noktaları, belgeler, yenileme sıklığı, notlar. ?dil=en ile İngilizce.
Ürün · API ve entegrasyon
REST API, imzalı webhook, gerçek veriye dokunmayan deneme ortamı ve yapay zekâ asistanları için MCP sunucusu. Ekranda gördüğünüz her bilgi, kaynağıyla birlikte JSON’da.
İlk istek
Değişiklikleri, yetkilileri ya da profilin tamamını isteyin; her satır ilanın tarihi, türü, birebir alıntısı, gazete PDF’i ve sayfadaki vurgu kutularıyla gelir.
curl https://ulawk.com/api/v1/sirketler/24/degisiklikler/?kategoriler=yetkililer \ -H "X-API-Key: ulk_…" \ -H "X-API-Secret: ulsk_…"
import requests
r = requests.get(
"https://ulawk.com/api/v1/sirketler/24/degisiklikler/",
params={"kategoriler": "yetkililer,sermaye"},
headers={"X-API-Key": "ulk_…", "X-API-Secret": "ulsk_…"},
)
for d in r.json()["degisiklikler"]:
print(d["tarih"], d["kategori"], d["ozet"], d["kaynak"]["gazete_pdf"])
200 OKGET /api/v1/sirketler/24/degisiklikler/Örnek · kurgusal şirket ve veriler
{ "sirket": { "id": 24, "unvan": "DEMİRTAŞ HOLDİNG A.Ş.", "sicil_no": "412907-5" },
"adet": 2, "kategoriler": ["sermaye", "yetkililer"],
"degisiklikler": [
{ "tur": "yetkili-atama", "kategori": "yetkililer", "tarih": "2026-10-02",
"ozet": "Selin Demirtaş göreve başladı (YK Başkanı · münferiden)",
"kaynak": { "ilan_tarihi": "2026-10-02", "ilan_turu": "Yönetim kurulu seçimi",
"alinti": "Selin Demirtaş'ın şirketi münferit imzası ile temsil ve ilzama yetkili kılınmasına",
"alinti_dogrulandi": true,
"gazete_pdf": "https://ulawk.com/api/v1/ilanlar/9182/pdf/",
"vurgu": { "sayfa": 1, "kutular": [[0.07, 0.41, 0.48, 0.50]] } } },
{ "tur": "sermaye", "kategori": "sermaye", "tarih": "2026-07-22",
"ozet": "Sermaye artırımı: 80.000.000 TL → 120.000.000 TL", "kaynak": { … } } ] }alinti_dogrulandi alanı, alıntının gazete metninde birebir bulunup bulunmadığını söyler.
Sayfa üzerindeki yer oransal koordinatlarla gelir; kendi görüntüleyicinizde işaretleyin.
X-API-Key ve X-API-Secret. Gizli parça bizde yalnız özetiyle saklanır.
Anahtar başına saatte 600 istek; aşılırsa 429 ve Retry-After.
Uç noktalar
Her müşteri yalnız kendi takip ettiği şirketleri görür. Şirketler, listede ve ekleme yanıtında dönen Ulawk kimliğiyle çağrılır.
| Uç nokta | Ne döner |
|---|---|
| GET /api/v1/sirketler/ | Takip ettiğiniz şirketler |
| POST /api/v1/sirket-ekle/ | Takibe şirket ekler |
| GET /api/v1/sirketler/{id}/ | Kaynaklı profilin tamamı |
| GET /api/v1/sirketler/{id}/durum/ | Profilin hazırlık aşaması, ilan ve arşiv sayısı |
| GET /api/v1/sirketler/{id}/yetkililer/?tarih= | Yetkililer; geçmiş bir tarih için de |
| GET /api/v1/sirketler/{id}/degisiklikler/ | Bütün değişiklikler, kategori süzgeciyle |
| GET /api/v1/sirketler/{id}/ilanlar/ | İlan listesi |
| GET /api/v1/sirketler/{id}/pdfler/ | Bütün gazete PDF’leri, tek ZIP |
| GET /api/v1/sirketler/{id}/kap/ | KAP bilgisi |
| GET /api/v1/degisiklikler/ | Bütün listenizdeki son değişiklikler |
| GET /api/v1/gorev-bitisleri/ | Süresi yaklaşan ve dolan görevler |
| GET /api/v1/ilanlar/{id}/pdf/ | Tek ilanın gazete PDF’i |
| GET /api/v1/raporlar/ | Hazırlanan raporlar ve dosyaları |
| POST /api/v1/yaptirim/tara/ | Bir adı yaptırım listelerinde tarar (birebir) |
| /api/v1/webhooklar/ | Webhook tanımlama, test teslimi |
| GET /api/katalog/ | Ülke ülke kapsam (anahtarsız) |
Ayrıntılı başvuru belgesi, istek ve yanıt örnekleri geliştirici merkezinde.
Webhook
Değişiklik okunduğunda imzalı bir JSON teslimi sisteminize gider. Ulaşamazsak artan aralıklarla tekrar deneriz.
POST https://sizin-sisteminiz.example/ulawk
X-Ulawk-Olay: sirket.degisiklik
X-Ulawk-Teslim: msg_3f9c…
X-Ulawk-Imza: t=…,v1=… (HMAC-SHA256)
{ "olay": "sirket.degisiklik", "surum": 1, "teslim_id": "msg_3f9c…",
"sirket": { "id": 24, "unvan": "DEMİRTAŞ HOLDİNG A.Ş.", "sicil_no": "412907-5",
"profil": "https://ulawk.com/api/v1/sirketler/24/" },
"kategoriler": ["yetkililer"],
"degisiklikler": [ { "kategori": "yetkililer", "kategori_ad": "Yetkililer ve temsil",
"tarih": "2026-10-02", "ozet": "Selin Demirtaş göreve başladı …",
"ilan": { "ilan_turu": "Yönetim kurulu seçimi", "alinti": "…münferit imzası ile temsil…" },
"gazete_pdf": "https://ulawk.com/api/v1/ilanlar/9182/pdf/" } ] }
import hashlib, hmac, time
def imza_dogru(govde: bytes, baslik: str, gizli: str) -> bool:
# X-Ulawk-Imza: t=<unix saniye>,v1=<hex> (anahtar yenilenirken birden çok v1)
parca = [p.split("=", 1) for p in baslik.split(",")]
t = next(v for k, v in parca if k == "t")
if abs(time.time() - int(t)) > 300: # eski teslim: reddet
return False
beklenen = hmac.new(gizli.encode(), f"{t}.".encode() + govde,
hashlib.sha256).hexdigest()
return any(hmac.compare_digest(beklenen, v) for k, v in parca if k == "v1")
sirket.degisiklik ve test. Panelden ya da API’den test teslimi gönderin.
X-Ulawk-Teslim tekrar denemelerde aynı kalır; bir değişikliği iki kez işlemezsiniz.
Üst üste yirmi başarısız teslimde webhook duraklatılır; panelde görürsünüz.
Deneme ortamı
Deneme anahtarı yalnız kurgusal DENEME- şirketlerini görür. Yanıtlar gerçek API ile aynı biçimdedir; gerçek veriye, kotaya ve sicile hiç dokunmaz.
# Deneme anahtarıyla: gerçek veri, kota ve sicil sorgusu yok curl https://ulawk.com/api/v1/sirketler/DENEME-KAYNAK-KAPALI/ \ -H "X-API-Key: ulk_test_…" -H "X-API-Secret: ulsk_…" # 503 · kaynak kapalıyken kodunuz ne yapıyor? # DENEME-YAVAS · DENEME-TASFIYE · DENEME-TERKIN # DENEME-COK-ILAN · DENEME-UNICODE · DENEME-UZUN-UNVAN
Deneme yanıtı ile gerçek yanıt aynı alanları taşır; kodunuzu değiştirmeden geçersiniz.
Yavaş profil, kaynak kapalı (503), tasfiye, terkin, 250 ilanlık şirket, Unicode ve 300 karakterlik unvan.
Deneme anahtarını panelinizin API bölümünden oluşturun.
Yapay zekâ asistanları
Ulawk MCP sunucusu, takip ettiğiniz şirketlerin profilini, ilanlarını ve değişikliklerini asistanınıza araç olarak açar. Asistan yalnız sizin şirketlerinizi görür.
# Claude Code
claude mcp add --transport http ulawk https://ulawk.com/mcp/ \
--header "Authorization: Bearer ulk_…:ulsk_…"
# Cursor · .cursor/mcp.json
{ "mcpServers": { "ulawk": {
"url": "https://ulawk.com/mcp/",
"headers": { "Authorization": "Bearer ulk_…:ulsk_…" } } } }
sirket_ara, izlenen_sirketler, sirket_profili, degisiklikler, ilanlar, istek_durumu, kapsam, sirket_takibe_al.
Takibe alma kotanızı kullanır; asistan bunu iki adımlı onay koduyla ister. Diğer araçlar salt okunur.
Claude Code, Claude Desktop ve Cursor için adım adım kurulum MCP rehberinde (giriş yaptıktan sonra).
Kapsam kataloğu
Hangi ülkede hangi bilginin ve belgenin geldiği herkese açık bir JSON’da; anahtar istemez.
Bütün ülkeler: veri noktaları, belgeler, yenileme sıklığı, notlar. ?dil=en ile İngilizce.
Tek ülke; ülke kodunu ekleyin.
Aynı tablo, Excel’de açılan CSV olarak Kapsam ve fiyat sayfasında.
Hata ve durum kodları
Yanıt kodları sorunun sizde mi, kaynakta mı, bizde mi olduğunu söyler.
| Kod | Anlamı | Ne yapmalı |
|---|---|---|
| 401 | Anahtar eksik ya da geçersiz | Anahtar ve gizli parçayı kontrol edin |
| 404 | Şirket takip listenizde değil | Önce takibe ekleyin |
| 429 | Saatlik sınır aşıldı | Retry-After kadar bekleyin |
| 400 | Parametre hatalı (ör. tarih biçimi) | Hata iletisindeki alanı düzeltin |
| 402 | Planınızın şirket hakkı doldu | Planınızı büyütün ya da şirket çıkarın |
| 200 · profil_hazir: false | Profil hazırlanıyor | /durum/ ucundan aşamayı izleyin |
Entegrasyon güvenliği
Entegrasyon bir kapı açar; kapının nasıl korunduğunu baştan yazıyoruz.
API gizli parçası yalnız bir kez gösterilir; bizde açık hâli tutulmaz.
Her anahtar yalnız sahibinin takip ettiği şirketleri görür; asistan bağlantısı da öyle.
API ve webhook adresleri şifreli bağlantıyla; özel ağ adreslerine teslim yapılmaz.
Webhook gövdesi HMAC-SHA256 ile imzalı; gizli anahtar bizde şifreli saklanır.
Başlangıç
Kod tarafı kısadır; asıl iş, uyarının sizde hangi iş akışını başlatacağına karar vermektir.
Önce deneme anahtarı, sonra gerçek anahtar.
İkisi aynı biçimde yanıt verir; kodu değiştirmeden geçersiniz.
Panelin API bölümünden alın; DENEME- şirketleriyle akışınızı kurun.
Anahtar ve gizli parçayı oluşturun; gizli parça yalnız bir kez gösterilir.
API’den, Excel’den ya da panelden; profil hazırlanınca durum ucu söyler.
Adresinizi ve kategorilerinizi tanımlayın, test teslimi gönderin.
Devamı
Ürünün diğer parçaları ve kapsam, fiyat, hizmet durumu sayfaları.
Panelin API bölümünden bir anahtar çifti oluşturun. İsteklerde X-API-Key ve X-API-Secret başlıklarını gönderin. Önce deneme anahtarıyla başlamanızı öneririz.
Evet. Her satır ilan tarihi, ilan türü, birebir alıntı, alıntının doğrulanıp doğrulanmadığı, gazete PDF bağlantısı ve varsa sayfadaki vurgu kutularıyla gelir.
Anahtar başına saatte 600 istek. Sınır aşılırsa 429 ve Retry-After başlığı döner.
Hayır. Deneme anahtarı yalnız kurgusal DENEME- şirketlerini görür; kotanızı, sicili ve gerçek veriyi kullanmaz.
Evet, ama yalnız onayınızla: takibe alma kotanızı kullandığı için MCP aracı iki adımlı onay kodu ister. Diğer araçlar salt okunurdur.
Kısa bir teknik görüşmede iş akışınızı dinleyip hangi uçların ve olayların işinize yarayacağını gösterelim.
Kurumsal teklif
Planlar yalnız takip edilen şirket sayısına göre ayrılır; tüm özellikler ve tüm ülkeler her planda dahildir. Formu doldurun, size uygun teklifi birlikte hazırlayalım.
[email protected]