Suç Endeksi
English

API

API, suç ve asayiş olaylarının il, ilçe ve mahalle düzeyindeki kayıtlarını, özetlerini ve bir konum için hazırlanan suç raporunu JSON biçiminde verir.

Kapsam

Sitede yayımlanan cinayet ve silahlı saldırı göstergelerinin yanında aşağıdaki türlerdeki olaylar da konum düzeyinde endekslenir. Türlerin kanundaki tanımları diğer suçlar sayfasındadır. Silahlı saldırılar tür fark etmeksizin silahli alanıyla işaretlenir.

Cinayet (kasten öldürme ve teşebbüs)
cinayet
TCK 81–83, 35
mahalle
Kasten yaralama
kasten_yaralama
TCK 86–87
mahalle
Gasp (yağma)
gasp
TCK 148–149
mahalle
Hırsızlık
hirsizlik
TCK 141–145
mahalle
Dolandırıcılık
dolandiricilik
TCK 157–159
mahalle
Cinsel saldırı ve istismar
cinsel_saldiri
TCK 102–103
ilçe
Uyuşturucu
uyusturucu
TCK 188, 191
mahalle
Kaçakçılık
kacakcilik
TCK 79; 5607 sayılı Kanun
mahalle

API olay kayıtlarını ve sayıları verir. Olay kayıtları 2023–2025 dönemini kapsar; yıl verilmezse en son veri yılı döner. Nüfusa oran ve endeks yalnız cinayet ve silahlı saldırı için hesaplanır; diğer türlerde basına yansıyan olaylar, resmî kayıtların illere göre düzensiz dağılan küçük bir bölümüdür. Uyuşturucu ve kaçakçılık kayıtlarının çoğu kolluk operasyonudur.

Konum ve gizlilik

  • Her kaydın konum_duzeyi alanı il, ilçe ya da mahalledir. İlçesi doğrulanamayan olaylar yalnız il sorgularında döner.
  • Mahalle ve köy adları TÜİK Adrese Dayalı Nüfus Kayıt Sistemi listesiyle eşleştirilir. Nüfusu 1.000’in altındaki yerleşimlerde konum ilçe düzeyinde verilir.
  • Cinsel suçlarda konum en çok ilçe düzeyindedir.
  • Konum raporunda noktanın ilçesi geoBoundaries sınırlarıyla bulunur; mesafeler, mahalle ve köy merkezlerinin OpenStreetMap verisiyle belirlenen konumuna göre hesaplanır. Yanıtta koordinat verilmez.
  • Tarih ay çözünürlüğündedir. Kayıtlarda ad, yaş, cinsiyet, adres, sokak ve kaynak bağlantısı bulunmaz.
  • Kodlar Türkçe karakterler sadeleştirilerek küçük harfle yazılır: Kadıköy için kadikoy. Kodların listesi /api/v1/konumlar uç noktasındadır.

Kimlik doğrulama

Her istek, lisansla verilen anahtarı taşımalıdır. Anahtar bir kez gösterilir; sunucuda yalnız özeti saklanır. Günlük istek limiti pakete göre belirlenir ve her yanıtın başlığında bildirilir.

Authorization: Bearer se_••••••••••••••••
X-Istek-Limiti: 5000
X-Istek-Kalan: 4987

Uç noktalar

GET /api/v1/konum-raporu

Bir nokta ya da alan için suç raporu verir: noktanın il ve ilçesi, il ve ilçe endeksleri, yarıçap içindeki olaylar, ilçedeki ve ildeki olay sayıları. Rapor bütün türleri kapsar; endekse girmeyen türler olay sayısıyla verilir.

enlem, boylam
Noktanın koordinatı (WGS84), ondalık ayırıcısı nokta. Örnek: 40.9870, 29.0260
yaricap
Yakın çevre yarıçapı, metre; 100–10.000, varsayılan 1.000
olay_limit
Yakın çevre listesindeki en çok olay; 0–200, varsayılan 50
il, ilce
Nokta yerine alan: il kodu ve isteğe bağlı ilçe kodu; yakın çevre bölümü dönmez
yil
Olay yılı, virgülle ayrılmış yıllar ya da tum (bütün veri yılları; şu an 2023, 2024, 2025); varsayılan en son yıl. Birden çok yılda sayılar yılların toplamıdır, endeksler en son yıl içindir
GET /api/v1/konum-raporu?enlem=40.9870&boylam=29.0260&yaricap=1000

{
  "yil": 2025, "yillar": [2025],
  "sorgu": { "enlem": 40.987, "boylam": 29.026, "yaricap": 1000, "olay_limit": 50 },
  "konum": {
    "il": "istanbul", "il_ad": "İstanbul", "ilce": "kadikoy", "ilce_ad": "Kadıköy",
    "mahalle": { "kod": "caferaga", "ad": "Caferağa", "tip": "mahalle", "mesafe_m": 240 }
  },
  "endeksler": {
    "turkiye": { "cinayet": { "vaka": <sayı>, "oran_100bin": <sayı> }, "cinayette_olen": { … }, "silahli_saldiri": { … } },
    "il": {
      "nufus": <sayı>,
      "cinayet": { "endeks": <sayı>, "sira": <1–81>, "il_sayisi": 81, "sinif": <1–5>, "sinif_ad": "90–110",
                   "vaka": <sayı>, "oran_100bin": <sayı> },
      "cinayette_olen": { "kisi": <sayı>, "oran_100bin": <sayı> },
      "silahli_saldiri": { … }
    },
    "ilce": {
      "nufus": <sayı>, "guven": "orta",
      "cinayet": { "sinif": <1–5>, "sinif_ad": "…", "il_sira": <sayı>, "il_ilce_sayisi": 39,
                   "turkiye_yuzdelik": <0–100>, "il_ile_kiyas": "civarında" },
      "silahli_saldiri": { … }
    }
  },
  "yakin_cevre": {
    "yaricap_m": 1000, "mahalle_sayisi": <sayı>, "toplam": <sayı>, "silahli": <sayı>,
    "turler": { "cinayet": { "n": <sayı>, "silahli": <sayı> }, "gasp": { … }, … },
    "olaylar": [
      { "id": "ornek00000000002", "yil": 2025, "ay": 7, "tur": "gasp", "yontem": null, "sonuc": null, "silahli": 0,
        "il": "istanbul", "ilce": "kadikoy", "ilce_ad": "Kadıköy", "mahalle": "caferaga", "mahalle_ad": "Caferağa",
        "mesafe_m": 240 }
    ],
    "olay_listesi_tam": true
  },
  "ilce": { "toplam": <sayı>, "silahli": <sayı>, "konum_duzeyi": { "mahalle": <sayı>, "ilce": <sayı>, "il": 0 }, "turler": { … } },
  "il": { "toplam": <sayı>, "silahli": <sayı>, "konum_duzeyi": { … }, "turler": { … } },
  "turler": [
    { "kod": "cinayet", "ad": "Cinayet (kasten öldürme ve teşebbüs)", "maddeler": "TCK 81–83, 35", "kapsam": "yuksek", "endekste": true },
    { "kod": "kasten_yaralama", "ad": "Kasten yaralama", "maddeler": "TCK 86–87", "kapsam": "dusuk", "endekste": false },
    …
  ],
  "kaynaklar": { … }
}
yil, yillar
yillar sayıların kapsadığı yıllar, yil bunların en sonudur; endeksler yil içindir. Yakın çevre listesindeki her olay kendi yılını taşır
konum.mahalle
Noktanın ilçesinde, 3 km içindeki en yakın mahalle ya da köy merkezi; yoksa null
endeksler.il
Cinayet ve silahlı saldırı endeksi (Türkiye = 100), 81 il içindeki sıra (1 en yüksek), sınıf (1: 70 altı, 5: 140 ve üstü), vaka sayısı ve 100 bin kişideki oran. Cinayet endeksi 100 bin kişide kasten öldürülen kişi oranına dayanır; cinayet.vaka ve cinayet.oran_100bin ölümle sonuçlanan cinayet vakasını, cinayette_olen öldürülen kişiyi verir
endeksler.ilce
Sınıf, il içindeki sıra, 973 ilçe içindeki yüzdelik dilim (100 en yüksek) ve il oranıyla karşılaştırma. guven, ilçe nüfusuna göre tahminin dayanağını gösterir: dusuk, orta, yuksek
yakin_cevre
Mahalle düzeyinde konumu olan olaylar; mesafe mahalle merkezine göre hesaplanır. olay_listesi_tam false ise liste olay_limit değerinde kesilmiştir
ilce, il
Mahalle, ilçe ve il düzeyindeki bütün kayıtların türe göre sayısı
turler[].kapsam
yuksek: endeksi yayımlanan tür; dusuk: endekse girmeyen, olay sayısıyla verilen tür

GET /api/v1/olaylar

Bir konumdaki olay kayıtlarını aya göre sıralı ve sayfalı olarak verir.

il
İl kodu, zorunlu. Örnek: istanbul
ilce
İlçe kodu. Örnek: kadikoy
mahalle
Mahalle kodu; ilce ile birlikte
tur
Bir ya da virgülle ayrılmış birden fazla tür kodu
yil
Olay yılı; varsayılan en son yıl
ay_bas, ay_bit
Ay aralığı, 1–12
silahli
1: yalnız silahlı saldırılar
konum_duzeyi
il, ilce ya da mahalle
limit, sayfa
Sayfa başına en çok 500 kayıt
GET /api/v1/olaylar?il=izmir&ilce=bornova&tur=hirsizlik,gasp&ay_bas=1&ay_bit=6
Authorization: Bearer se_••••••••••••••••

200 OK
X-Istek-Limiti: 5000
X-Istek-Kalan: 4987

{
  "yil": 2025,
  "sorgu": { "il": "izmir", "ilce": "bornova", "tur": ["hirsizlik", "gasp"], "ay_bas": 1, "ay_bit": 6 },
  "sayfa": 1, "limit": 100, "toplam": 1,
  "veri": [
    {
      "id": "ornek00000000001", "yil": 2025, "ay": 3,
      "il": "izmir", "il_ad": "İzmir", "ilce": "bornova", "ilce_ad": "Bornova",
      "mahalle": "kazimdirik", "mahalle_ad": "Kazımdirik", "mahalle_tip": "mahalle", "konum_duzeyi": "mahalle",
      "tur": "hirsizlik", "yontem": null, "sonuc": null, "silahli": 0
    }
  ]
}

GET /api/v1/ozet

Bir konum için türe ve aya göre olay sayılarını verir. komsu=1 parametresiyle komşu ilçeler de hesaba katılır.

il
İl kodu, zorunlu
ilce
İlçe kodu
mahalle
Mahalle kodu
komsu
1: ilçeyle ortak sınırı olan ilçeleri de kat
yil
Olay yılı; varsayılan en son yıl
GET /api/v1/ozet?il=izmir&ilce=bornova&komsu=1

{
  "yil": 2025,
  "konum": {
    "il": "izmir", "ilce": "bornova", "mahalle": null,
    "komsular": ["izmir/bayrakli", "izmir/buca", "izmir/karsiyaka", "izmir/kemalpasa",
                 "izmir/konak", "izmir/menemen", "manisa/yunusemre"]
  },
  "toplam": <sayı>,
  "silahli": <sayı>,
  "konum_duzeyi": { "ilce": <sayı>, "mahalle": <sayı> },
  "turler": {
    "hirsizlik": { "n": <sayı>, "silahli": <sayı>, "aylik": [<12 ay>] },
    "kasten_yaralama": { … }
  }
}

GET /api/v1/konumlar

İlleri, bir ilin ilçelerini ya da bir ilçede olay kaydı bulunan mahalleleri kodları ve olay sayılarıyla verir.

il
Verilirse ilin ilçeleri; verilmezse iller
ilce
Verilirse ilçenin olay kaydı bulunan mahalleleri
yil
Olay yılı; varsayılan en son yıl

GET /api/v1/turler

Tür kodlarını, adlarını, ilgili kanun maddelerini, her tür için verilen en ayrıntılı konum düzeyini ve kapsamını verir.

Alanlar

id
Kaydın kalıcı kimliği
yil, ay
Olay yılı ve ayı
il, il_ad
İl kodu ve adı
ilce, ilce_ad
İlçe kodu ve adı; ilçe doğrulanamadıysa null
mahalle, mahalle_ad
Resmî mahalle ya da köy kodu ve adı; yoksa null
mahalle_tip
mahalle ya da koy
konum_duzeyi
il, ilce ya da mahalle
tur
Tür kodu; bkz. kapsam
yontem
atesli_silah, kesici_alet, darp, diger ya da null
sonuc
olum, yaralanma, girisim ya da null
silahli
1: ateşli silah ya da kesici aletle yapılan, ölüm ya da yaralanmayla biten saldırı

Hatalar

400
Eksik ya da geçersiz parametre
401
Anahtar yok ya da geçersiz
403
Anahtarın kapsamı dışında bir il
404
Bilinmeyen uç nokta, il ya da ilçe; Türkiye sınırları dışında nokta
429
Günlük istek limiti doldu
{ "hata": "il parametresi gerekli." }

Erişim

Anahtar, kurumsal erişim talebinin değerlendirilmesinden sonra yıllık lisansla verilir. Sorgu limiti, kapsanan iller ve ürün içi gösterim hakkı sözleşmede tanımlanır. Talep değerlendirilirken deneme anahtarı verilebilir. Dosya teslimi, panel ve API için tek form kullanılır; formda Platform paketini ya da API erişimini seçin.