Developers
Open data API
v2 recommended · one OpenAPI 3.1 file · CORS open · measurements and projections kept apart.
Summary
Free JSON API on Türkiye's water and water law, no authentication: 25 river basins, 81 provinces, daily dam fill, satellite water-storage trends, Official Gazette records, verified court decisions and a statutory glossary. Every response carries source, licence and the date of the data.
v2 endpoints
Each response is { meta, veri } (veri = data). The files are static and served from the CDN; no key is needed and CORS is open (Access-Control-Allow-Origin: *).
| Endpoint | Contents |
|---|---|
/api/v2/havzalar.json | 25 river basins: DSİ figures, dam fill, satellite trend, published plans |
/api/v2/havza/{slug}.json | One basin: summary + daily dam-fill average + monthly satellite series |
/api/v2/iller.json | 81 provinces: DSİ regional directorate, water utility, basins, Official Gazette record count |
/api/v2/baraj.json | Dam fill: national and basin averages (single definition) |
/api/v2/uydu.json | Satellite water storage: Türkiye monthly series + basin trends |
/api/v2/tahmin.json | Statistical projection (not a measurement) |
/api/v2/resmi-gazete.json | Official Gazette groundwater operating-area and closure records |
/api/v2/emsal.json | Court decisions verified on the official decision search server |
/api/v2/sozluk.json | Glossary: statutory definitions quoted verbatim (Turkish) |
Specification: /api/openapi.json (OpenAPI 3.1). Downloadable CSV and GeoJSON files: open data. Translated data pages: Türkiye's water.
Quick start
# Basins: dam fill and satellite trend
curl -s https://suharitasi.com/api/v2/havzalar.json | jq '.veri[] | {ad, baraj, uydu}'
# One basin: daily dam-fill average
curl -s https://suharitasi.com/api/v2/havza/gediz.json | jq '.veri.baraj_gunluk_ortalama[-3:]'
# OpenAPI 3.1
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"])Field names
Field names are Turkish, lower case, with a unit suffix (_yuzde percent, _km2 km², _km3 km³, _hm3 hm³, _cm_yil cm per year, _puan percentage points). They are the API contract and do not change with the language of this page.
| Field | Meaning |
|---|---|
meta.veri_tarihi | date of the data itself (latest measurement), not the build date |
meta.uretim_zamani | build time of the file |
meta.kaynaklar / meta.lisans | sources and licence of this response |
ad, havza, il, ilceler | name, basin, province, districts |
yagis_alani_km2 | catchment area, km² |
yuzey_suyu_potansiyeli_km3 | surface-water potential, km³ per year (DSİ statistics) |
yas_isletme_rezervi_hm3, yas_beslenimi_hm3 | groundwater operating reserve and recharge, hm³ per year |
ortalama_doluluk_yuzde | average reservoir fill, % (simple average of reporting EPİAŞ reservoirs) |
degisim_30_gun_puan | change over 30 days, percentage points |
olcum_tarihi, baraj_sayisi | measurement date, number of reporting reservoirs |
egilim_cm_yil, sinif, pencere | satellite water-storage trend in cm per year, its class, the time window |
projeksiyon, alt80/ust80, alt95/ust95 | projection and its 80 % / 95 % lower and upper bounds |
mk_z, mk_p, mk_anlamli | Mann-Kendall trend test: z score, p value, significant or not |
rg_kayit_sayisi, rg_sayisi | number of Official Gazette records; Official Gazette issue number |
saha, durum, mevzuat_turu | operating-area name, status of the notice, type of legislation |
dsi_bolgeleri (no, merkez), su_idaresi | DSİ regional directorates (number, seat), water and sewerage utility |
merci, esas, karar, karar_tarihi, resmi_dogrulama | chamber, docket number, decision number, decision date, official verification record |
planlar.*_plani | published basin plans: river basin management, drought management, flood management, sectoral allocation, basin protection |
Measurements and projections
/api/v2/tahmin.json is a statistical projection (seasonal decomposition, least-squares trend, Mann-Kendall test, with uncertainty bands). It is not a measurement and must be labelled "Su Haritası projection" when reused. All other endpoints carry compiled observations from official sources.
Rate limits
The static v2 files have no rate limit. The function endpoints (/api/v1/havzalar, /api/v1/kuraklik and the MCP endpoint) allow 60 requests per minute per client, counted separately for each endpoint. Above that the v1 endpoints return 429 with Retry-After: 60; the MCP endpoint returns 429 with a JSON-RPC error. The rate-limit counter keys clients by a hash of IP and user agent. Separately, these endpoints keep a 30-day access log with the IP address, endpoint, status code and time (privacy notice, in Turkish).
Status: data freshness
Latest data date and expected update interval per data source (source:/veri/veri-tazelik.json). The source has published no new dam-fill measurement on weekends so far; the date shown is the latest measurement day.
| Data | Latest data | Updates | Status |
|---|---|---|---|
| Dam fill (EPİAŞ) | 2026-11-06 | daily (working days) | current |
| Precipitation (CHIRPS v3.0) | 2026-10-01 | monthly (preliminary early in the month, final about week 3) | current |
| Satellite water storage (GRACE) | 2026-03-01 | monthly (source publishes 2–3 months behind) | source delay (no new publication yet) |
| Official source record (Official Gazette table of contents, daily) | 2026-11-07 | daily | current |
| Land consolidation decisions (Official Gazette table of contents) | 2026-11-07 | daily | current |
| Monthly data package (/veri/paket/) | 2026-10-15 | monthly | current |
| Monthly water-law bulletin (/bulten/) | 2026-11-02 | monthly | current |
| Case-law library retrieval | 2026-10-16 | monthly | current |
| Drought declarations and measures (/kuraklik/) | 2026-11-06 | monthly | current |
| Water utilities directory (/su-idareleri/) | 2026-11-07 | monthly | current |
| Transboundary treaty records (/en/transboundary/) | 2026-10-16 | monthly | current |
| WDI water figures (/en/transboundary/comparison/) | 2026-10-16 | monthly check (source yearly) | current |
| Village-head packet PDF (81 provinces) | 2026-11-06 | monthly | current |
| Historic fountain records (/en/historic-fountains/, Wikidata) | 2026-10-16 | monthly | current |
| Türkiye Water Report PDF (yearly) | 2026-10-16 | yearly | current |
| Evidence file PDF (81 provinces + 25 basins) | 2026-10-16 | monthly | current |
| Water-cut notice watch (/kesintiler/) | 2026-11-07 | daily | current |
| Water tariff pages (/tarifeler/) | 2026-10-16 | monthly | current |
| DSİ regional sites reachability (/sulama-birlikleri/) | 2026-10-16 | monthly | current |
| Legislation radar | 2026-11-04 | weekly | current |
| Official Gazette operating-area watch | 2026-11-03 | weekly | current |
| River basin plan publication watch | 2026-11-04 | weekly | current |
| Court decision candidate pool | 2026-09-22 | monthly | delayed |
| Court decision database | 2026-09-13 | irregular | static |
| Provincial groundwater compilations | 2026-07-27 | irregular | static |
| Lake and river geometries (OSM) | 2026-08-04 | irregular | static |
| Climate normals (NASA POWER) | — | irregular | static |
Changelog and licence
Data changes (additions, method changes, corrections) are logged in /veri/degisiklik-gunlugu.json (entries in Turkish, each linked to a repository commit). Su Haritası's own compilation is CC BY 4.0; third-party data keeps its source's terms (licence and source terms, Turkish). Archived version with a DOI: 10.5281/zenodo.23002677.
The data is informational and is not legal advice.