İçeriğe atla

Geliştirici

Açık veri API — dokümantasyon

v2 önerilir · tek OpenAPI 3.1 · CORS açık · ölçüm ve tahmin ayrı.

Özet

Su Haritası Açık Veri API: Türkiye su havzaları, baraj doluluğu, uydu su depolama eğilimi, Resmî Gazete kayıtları, emsal kararlar ve sözlük için CORS açık JSON uçları. Önerilen sürüm v2: her yanıt kaynak, lisans ve veri tarihini taşır. Kimlik doğrulama yok.

Bu API, sitenin makine-okunur veri havuzunu dış geliştiricilere ve akademisyenlere açar. Kimlik doğrulama gerekmez; isteğe bağlı API anahtarı Function uçlarında sınırı yükseltir. v2 dosyaları CDN'den statik sunulur, sınırsızdır. Function uçlarında (/api/v1/havzalar, /api/v1/kuraklik, MCP) adil kullanım için IP başına (IPv6'da /64 önek), her uç için ayrı sayılan dakikada 60 istek sınırı uygulanır; sınır aşımında 429döner (v1 uçlarında Retry-After: 60 başlığıyla, MCP'de JSON-RPC hatasıyla). Bu uçlarda ayrıca 30 günlük erişim günlüğü (IP, uç, durum kodu, zaman; 429 yanıtları hariç) tutulur (gizlilik). Tüm yanıtlar Access-Control-Allow-Origin: *taşır.

v2 uçları (önerilen)

Her yanıt { meta, veri } biçimindedir. meta: kaynak, kaynaklar, lisans, veri_tarihi (verinin kendi tarihi), uretim_zamani (sayfalarla aynı derlemede üretilir), sürüm ve belge adresi. Alan adları küçük harf ve alt çizgiyle, birim sonekiyle yazılır (ör. yas_isletme_rezervi_hm3, egilim_cm_yil). Statik dosyalardır; CDN üzerinden sunulur.

Uçİçerik
/api/v2/havzalar.json25 havza özeti (DSİ, baraj, uydu, planlar)
/api/v2/havza/{slug}.jsonTek havza: özet + günlük baraj ortalaması + aylık uydu serisi
/api/v2/iller.json81 il: DSİ bölgesi, su idaresi, havzalar, Resmî Gazete kayıt sayısı
/api/v2/baraj.jsonBaraj doluluğu: ülke ve havza ortalamaları (tek tanım)
/api/v2/uydu.jsonUydu su depolama: Türkiye aylık seri + havza eğilimleri
/api/v2/tahmin.jsonİstatistiksel projeksiyon (ölçüm değildir)
/api/v2/resmi-gazete.jsonResmî Gazete işletme sahası ve kapatma kayıtları
/api/v2/emsal.jsonResmî sunucuda doğrulanan emsal kararlar
/api/v2/sozluk.jsonSözlük: resmî tanımlar (birebir alıntı)

Belge: /api/openapi.json (OpenAPI 3.1). Var olmayan statik dosya için Cloudflare'in HTML 404 sayfası döner; hız sınırlı Function uçlarında hatalar { "hata": "…" } JSON gövdesiyle gelir (405, 429, 503).

v1 uçları (korunuyor)

UçAdTürLimit
/api/v1/havzalarHavza künyeleri (v1)Ölçüm/derleme60/dk
/api/v1/kuraklikSu/kuraklık projeksiyonu (v1)TAHMİN (ölçüm değil)60/dk
/api/v1/il/{il}.jsonİl künyesi (v1)DerlemeCDN
/api/v1/havza/{havza}.jsonTek havza künyesi (v1)DerlemeCDN

Hızlı başlangıç

# Havzalar (v2): baraj doluluğu ve uydu eğilimi
curl -s https://suharitasi.com/api/v2/havzalar.json | jq '.veri[] | {ad, baraj, uydu}'

# Tek havza: günlük baraj ortalaması
curl -s https://suharitasi.com/api/v2/havza/gediz.json | jq '.veri.baraj_gunluk_ortalama[-3:]'

# OpenAPI 3.1 belgesi
curl -s https://suharitasi.com/api/openapi.json | jq '.paths | keys'

Python

import json, urllib.request

with urllib.request.urlopen("https://suharitasi.com/api/v2/baraj.json") as r:
    d = json.load(r)

print(d["meta"]["veri_tarihi"], d["veri"]["ulusal"]["ortalama_doluluk_yuzde"])
for h in d["veri"]["havzalar"]:
    print(h["havza"], h["ortalama_doluluk_yuzde"], h["degisim_30_gun_puan"])

JavaScript

const r = await fetch("https://suharitasi.com/api/v2/uydu.json");
const { meta, veri } = await r.json();
console.log(meta.tanim);
for (const h of veri.havzalar) console.log(h.havza, h.egilim_cm_yil, h.sinif);

Bilimsel ayrım: ölçüm ve tahmin

/api/v1/havzalar derlenmiş gözlem/künye verisidir./api/v1/kuraklik ise istatistiksel projeksiyondur(tur: "tahmin"): mevsimlik dalgalanma ayıklanır, düz bir eğilim çizgisi çıkarılır ve eğilimin tesadüf olup olmadığı test edilir (teknik adlar: mevsimsel ayrıştırma, OLS trend, Mann-Kendall), tahmin aralıklarıyla. Tahmin uçları, Google Dataset/TechArticle şemasındameasurementTechnique ile işaretlenir ve ölçüm verisiylekarıştırılmaz.

API anahtarı (isteğe bağlı)

  • Başlık: Authorization: Bearer sh_… ya da X-Api-Anahtar: sh_…. Sorgu dizesinde anahtar kabul edilmez (günlüklere düşer).
  • Anahtarlı istek: 600 istek/dk ve günde 20.000 istek (anahtar başına, /api/v1/havzalar ve /api/v1/kuraklik); yanıtta anahtar (kısa kimlik) ve kalan_kota. Günlük kota aşımında anahtar 24 saat kısıtlanır (429), iptal edilmez.
  • Durum: GET /api/anahtar-durum aynı başlıkla bugünkü kullanım, kalan kota ve kısıtı döndürür.
  • Akademik ve gazetecilik kullanımı ücretsiz; başvuru [email protected]. Anahtar sunucuda saklanmaz (yalnız SHA-256 özeti); erişim günlüğünde yalnız kısa kimlik ak_… bulunur.
  • Koşullar, atıf ve lisans: /api/kosullar/.

Rate-limit ve dayanıklılık

  • Sabit pencere sayacı (Cloudflare KV): sayaç anahtarı IP adresinin (IPv6'da /64 önekinin) SHA-256 özetidir; sayaçta ham IP saklanmaz. Erişim günlüğü ayrıdır (30 gün, IP dahil; gizlilik).
  • Sınır aşımı: 429; v1 uçlarında Retry-After: 60, MCP'de JSON-RPC hatası. KV erişilemezse fail-open (sınır uygulanmaz).
  • Yanıtlar CDN'de kısa süre önbelleklenir (max-age=300); veri günü başına bir kez üretilir.

Durum: veri tazeliği

Her veri kümesinin son veri tarihi ve beklenen güncelleme aralığı (kaynak: /veri/veri-tazelik.json).

VeriSon veri tarihiGüncellemeDurum
Baraj doluluk (EPİAŞ)2026-10-16günlük (iş günleri)güncel
Yağış verisi (CHIRPS v2.0, il/havza/Türkiye)2026-09-01aylık (ön ürün ay başı, nihai ~3. hafta)güncel
Uydu su depolaması (GRACE)2026-03-01aylık (kaynak yayını 2–3 ay geriden)kaynak-gecikmesi
Resmî kaynak sicili (RG fihristi, günlük)2026-10-16günlükgüncel
Aylık veri paketi (/veri/paket/)2026-10-15aylıkgüncel
Aylık Su Hukuku Bülteni (/bulten/)2026-10-16aylıkgüncel
İçtihat kütüphanesi çekimi2026-10-16aylıkgüncel
Kuraklık ilanı/önlem kayıtları (/kuraklik/)2026-10-16aylıkgüncel
Su idareleri dizini (/su-idareleri/)2026-10-16aylıkgüncel
Sınır ötesi antlaşma künyeleri (/sinir-otesi/)2026-10-16aylıkgüncel
WDI su göstergeleri (/sinir-otesi/karsilastirma/)2026-10-16aylık kontrol (kaynak yıllık)güncel
Muhtar paketi PDF (81 il)2026-10-16aylıkgüncel
Su hayratı kayıtları (/hayrat/, Wikidata)2026-10-16aylıkgüncel
Türkiye Su Raporu PDF (yıllık)2026-10-16yıllıkgüncel
Delil dosyası PDF (81 il + 25 havza)2026-10-16aylıkgüncel
Su kesintisi duyuru izleme (/kesintiler/)2026-10-16günlükgüncel
Su tarife sayfaları (/tarifeler/)2026-10-16aylıkgüncel
DSİ bölge siteleri erişimi (/sulama-birlikleri/)2026-10-16aylıkgüncel
Mevzuat radarı2026-10-16haftalıkgüncel
RG işletme-sahası nöbetçisi2026-10-13haftalıkgüncel
NHYP yayın nöbetçisi2026-10-14haftalıkgüncel
Yargı karar aday havuzu2026-09-22aylıkgüncel
Emsal karar veritabanı2026-09-13düzenli değilbilgi
İl potansiyel derlemeleri2026-07-27düzenli değilbilgi
Göl/nehir geometrileri (OSM)2026-08-04düzenli değilbilgi
İklim normaları (NASA POWER)—düzenli değilbilgi

Değişiklik günlüğü

  • 16.10.2026 · anahtar — İsteğe bağlı API anahtarı: Authorization: Bearer sh_… ile v1 Function uçlarında 600 istek/dk + günlük kota (anonim 60/dk sürer); /api/anahtar-durum ile kota sorgusu; koşullar ve başvuru /api/kosullar/. Günlükte anahtar değil kısa kimlik tutulur.
  • 10.10.2026 · v2 — v2 uçları açıldı: tek yazım düzeni (küçük harf + alt çizgi, birim sonekli alan adları), her yanıtta meta bloğu (kaynak, kaynaklar, lisans, veri_tarihi, uretim_zamani, surum, belge). Havza yanıtında baraj (tek tanım), uydu eğilimi ve yayımlı SYGM planları; günlük baraj ve aylık uydu serisi.
  • 10.10.2026 · OpenAPI — Tek OpenAPI 3.1 belgesi: /api/openapi.json (eski /api/v1/openapi.json ve /veri/openapi.json aynı içeriği verir). Hata şeması (Hata) ve hız sınırı yanıtları belgelendi.
  • 10.10.2026 · v1 — /veri/mevzuat.json ve /veri/sozluk.json yanıtlarına geriye uyumlu alanlar eklendi (resmî başlık, madde özeti, metinde geçen kurum ve süreler; resmî tanım). Mevcut alanlar değişmedi.
  • 10.10.2026 · MCP — baraj_sorgu, uydu_sorgu ve tahmin_sorgu araçları eklendi; sunucu kartı parametre şemalarını taşır.

Lisans ve atıf

Su Haritası'nın kendi derlediği tablolar, hesaplamalar ve metinler Creative Commons Atıf 4.0 (CC BY 4.0) ile, kaynak gösterilerek kullanılabilir. Bu lisans üçüncü taraf verisini kapsamaz: DSİ, EPİAŞ, NASA, Resmî Gazete, Mevzuat Bilgi Sistemi, MTA, OpenStreetMap ve diğer kaynakların verisi her kaynağın kendi kullanım koşuluna tabidir. DSİ verisinin ticari amaçla kullanımı DSİ'nin yazılı iznine bağlıdır. Koşullar tablosu: kaynak ve kullanım koşulları. Tahmin çıktıları "Su Haritası tahmini" olarak etiketlenmelidir; ölçüm olarak sunulamaz.

Bu veriye nasıl atıf yapılır?

Düz metin

Atıf: Açık veri API. Su Haritası Açık Hidroloji ve Hukuk Veri Tabanı (2026). URL: https://suharitasi.com/api-dokumantasyonu/

APA

Su Haritası (suharitasi.com) (2026). Açık veri API [Veri seti]. Su Haritası. https://suharitasi.com/api-dokumantasyonu/

BibTeX

@misc{suharitasi2026,
  title  = {Açık veri API},
  author = {Su Haritası (suharitasi.com)},
  year   = {2026},
  howpublished = {\url{https://suharitasi.com/api-dokumantasyonu/}},
  note   = {Su Haritası açık veri tabanı}
}

RIS

TY  - DATA
AU  - Su Haritası (suharitasi.com)
PY  - 2026
TI  - Açık veri API
UR  - https://suharitasi.com/api-dokumantasyonu/
ER  -

Veri tabanının kalıcı arşivi (Zenodo, bütün sürümler): 10.5281/zenodo.23002677

Bu sayfa bilgilendirme amaçlıdır; somut bir uyuşmazlığa dair hukuki görüş veya tavsiye niteliği taşımaz.

Son güncelleme: · Son hukuki kontrol:

Bu sayfada hata gördünüz mü, ya da bir kaynak mı öneriyorsunuz?

Ad istenmez. Bildirim yalnız bu sayfa için saklanır ve 30 gün sonra silinir; e-posta isteğe bağlıdır, yalnız cevap gerekirse kullanılır. Hukuki danışma talebi için [email protected].