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.json | 25 havza özeti (DSİ, baraj, uydu, planlar) |
/api/v2/havza/{slug}.json | Tek havza: özet + günlük baraj ortalaması + aylık uydu serisi |
/api/v2/iller.json | 81 il: DSİ bölgesi, su idaresi, havzalar, Resmî Gazete kayıt sayısı |
/api/v2/baraj.json | Baraj doluluğu: ülke ve havza ortalamaları (tek tanım) |
/api/v2/uydu.json | Uydu su depolama: Türkiye aylık seri + havza eğilimleri |
/api/v2/tahmin.json | İstatistiksel projeksiyon (ölçüm değildir) |
/api/v2/resmi-gazete.json | Resmî Gazete işletme sahası ve kapatma kayıtları |
/api/v2/emsal.json | Resmî sunucuda doğrulanan emsal kararlar |
/api/v2/sozluk.json | Sö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ç | Ad | Tür | Limit |
|---|---|---|---|
/api/v1/havzalar | Havza künyeleri (v1) | Ölçüm/derleme | 60/dk |
/api/v1/kuraklik | Su/kuraklık projeksiyonu (v1) | TAHMİN (ölçüm değil) | 60/dk |
/api/v1/il/{il}.json | İl künyesi (v1) | Derleme | CDN |
/api/v1/havza/{havza}.json | Tek havza künyesi (v1) | Derleme | CDN |
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 daX-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/havzalarve/api/v1/kuraklik); yanıttaanahtar(kısa kimlik) vekalan_kota. Günlük kota aşımında anahtar 24 saat kısıtlanır (429), iptal edilmez. - Durum:
GET /api/anahtar-durumaynı 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ındaRetry-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).
| Veri | Son veri tarihi | Güncelleme | Durum |
|---|---|---|---|
| Baraj doluluk (EPİAŞ) | 2026-10-16 | günlük (iş günleri) | güncel |
| Yağış verisi (CHIRPS v2.0, il/havza/Türkiye) | 2026-09-01 | aylık (ön ürün ay başı, nihai ~3. hafta) | güncel |
| Uydu su depolaması (GRACE) | 2026-03-01 | aylık (kaynak yayını 2–3 ay geriden) | kaynak-gecikmesi |
| Resmî kaynak sicili (RG fihristi, günlük) | 2026-10-16 | günlük | güncel |
| Aylık veri paketi (/veri/paket/) | 2026-10-15 | aylık | güncel |
| Aylık Su Hukuku Bülteni (/bulten/) | 2026-10-16 | aylık | güncel |
| İçtihat kütüphanesi çekimi | 2026-10-16 | aylık | güncel |
| Kuraklık ilanı/önlem kayıtları (/kuraklik/) | 2026-10-16 | aylık | güncel |
| Su idareleri dizini (/su-idareleri/) | 2026-10-16 | aylık | güncel |
| Sınır ötesi antlaşma künyeleri (/sinir-otesi/) | 2026-10-16 | aylık | güncel |
| WDI su göstergeleri (/sinir-otesi/karsilastirma/) | 2026-10-16 | aylık kontrol (kaynak yıllık) | güncel |
| Muhtar paketi PDF (81 il) | 2026-10-16 | aylık | güncel |
| Su hayratı kayıtları (/hayrat/, Wikidata) | 2026-10-16 | aylık | güncel |
| Türkiye Su Raporu PDF (yıllık) | 2026-10-16 | yıllık | güncel |
| Delil dosyası PDF (81 il + 25 havza) | 2026-10-16 | aylık | güncel |
| Su kesintisi duyuru izleme (/kesintiler/) | 2026-10-16 | günlük | güncel |
| Su tarife sayfaları (/tarifeler/) | 2026-10-16 | aylık | güncel |
| DSİ bölge siteleri erişimi (/sulama-birlikleri/) | 2026-10-16 | aylık | güncel |
| Mevzuat radarı | 2026-10-16 | haftalık | güncel |
| RG işletme-sahası nöbetçisi | 2026-10-13 | haftalık | güncel |
| NHYP yayın nöbetçisi | 2026-10-14 | haftalık | güncel |
| Yargı karar aday havuzu | 2026-09-22 | aylık | güncel |
| Emsal karar veritabanı | 2026-09-13 | düzenli değil | bilgi |
| İl potansiyel derlemeleri | 2026-07-27 | düzenli değil | bilgi |
| Göl/nehir geometrileri (OSM) | 2026-08-04 | düzenli değil | bilgi |
| İklim normaları (NASA POWER) | — | düzenli değil | bilgi |
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: