We have collected historical data on the water reserves in Attica’s reservoirs and are publishing it as an open dataset.
We collected the water savings data by the OpenWaterAPI platform which provides historical open data on water savings and production by Athens Water Supply and Sewerage Company (EYDAP) for Attica, Greece.
From this information, we created and are providing a dataset that includes data on the daily water reserves, in cubic meters, in the reservoirs that supply the capital city of Athens, starting from January 1, 1985, and onwards — except for the Evinos reservoir, where data begins on December 26, 2001. The full dataset, which is freely available here, will be updated monthly by the iMEdD team. In this first version, which we are publishing today, data is available up to July 10, 2025. The raw data from EYDAP is updated daily.
According to EYDAP’s website, the company obtains raw water from surface water reservoirs: Evinos, Marathonas, Mornos, and Yliki — the latter being the only natural one, as the others were created through dam construction. The main water sources are Mornos and Evinos, while Yliki and Marathonas serve as auxiliary suppliers. Additionally, EYDAP uses groundwater pumping, but this volume of water is not included in the dataset we collected from the platform.
In the dataset, each row corresponds to a single day. The first column (“date”) contains all the dates for which data has been collected. The next four columns in the dataset with water reserves (“Evinos”, “Marathonas”, “Mornos”, “Yliki”) correspond to the reservoirs and display the amount of water in cubic meters for each date. The last column (“Total”) refers to the total volume of water for each respective date, as shown in the “date” column.
Daily water reserves in the four reservoirs of Attica
date | Eyinos | Marathonas | Mornos | Yliki | Total |
---|---|---|---|---|---|
1985-01-01 | 0 | 18744148 | 561736000 | 491425000 | 1071905148 |
1985-01-02 | 0 | 18288394 | 562060000 | 499340000 | 1079688394 |
1985-01-03 | 0 | 17959091 | 564490000 | 503880000 | 1086329091 |
1985-01-04 | 0 | 17632916 | 566950000 | 506831000 | 1091413916 |
1985-01-05 | 0 | 16956000 | 569260000 | 509555000 | 1095771000 |
1985-01-06 | 0 | 17292908 | 571735000 | 511598000 | 1100625908 |
1985-01-07 | 0 | 16588728 | 574210000 | 513641000 | 1104439728 |
1985-01-08 | 0 | 16208555 | 578335000 | 516138000 | 1110681555 |
1985-01-09 | 0 | 15799796 | 585140000 | 518420000 | 1119359796 |
1985-01-10 | 0 | 15363628 | 590150000 | 521870000 | 1127383628 |
1985-01-11 | 0 | 14900942 | 591486000 | 524860000 | 1131246942 |
1985-01-12 | 0 | 14366586 | 592989000 | 526700000 | 1134055586 |
1985-01-13 | 0 | 14009997 | 594325000 | 528080000 | 1136414997 |
1985-01-14 | 0 | 13581088 | 595828000 | 529460000 | 1138869088 |
1985-01-15 | 0 | 13142652 | 596329000 | 530840000 | 1140311652 |
1985-01-16 | 0 | 12695322 | 597331000 | 532220000 | 1142246322 |
1985-01-17 | 0 | 16888860 | 598333000 | 534060000 | 1149281860 |
1985-01-18 | 0 | 16721800 | 599350000 | 540500000 | 1156571800 |
1985-01-19 | 0 | 16422964 | 600370000 | 545626000 | 1162418964 |
1985-01-20 | 0 | 16159310 | 601220000 | 549820000 | 1167199310 |
1985-01-21 | 0 | 15816065 | 602070000 | 552849000 | 1170735065 |
1985-01-22 | 0 | 15411760 | 602580000 | 555412000 | 1173403760 |
1985-01-23 | 0 | 15012050 | 603260000 | 557276000 | 1175548050 |
1985-01-24 | 0 | 14664112 | 604110000 | 558907000 | 1177681112 |
1985-01-25 | 0 | 14522830 | 604960000 | 560538000 | 1180020830 |
1985-01-26 | 0 | 14335398 | 605980000 | 561936000 | 1182251398 |
1985-01-27 | 0 | 14009997 | 607000000 | 563101000 | 1184110997 |
1985-01-28 | 0 | 13657268 | 608190000 | 564033000 | 1185880268 |
1985-01-29 | 0 | 13429232 | 609550000 | 564499000 | 1187478232 |
1985-01-30 | 0 | 13112606 | 610740000 | 564965000 | 1188817606 |
1985-01-31 | 0 | 12769387 | 611930000 | 566130000 | 1190829387 |
1985-02-01 | 0 | 12341940 | 612950000 | 566829000 | 1192120940 |
1985-02-02 | 0 | 11992738 | 613290000 | 566829000 | 1192111738 |
1985-02-03 | 0 | 11576051 | 613630000 | 566596000 | 1191802051 |
1985-02-04 | 0 | 11165232 | 613970000 | 566130000 | 1191265232 |
1985-02-05 | 0 | 10774150 | 614480000 | 565897000 | 1191151150 |
1985-02-06 | 0 | 10375039 | 614820000 | 565431000 | 1190626039 |
1985-02-07 | 0 | 9954930 | 614990000 | 565198000 | 1190142930 |
1985-02-08 | 0 | 9554240 | 615330000 | 564732000 | 1189616240 |
1985-02-09 | 0 | 9130952 | 615673000 | 564266000 | 1189069952 |
1985-02-10 | 0 | 8737760 | 615846000 | 564033000 | 1188616760 |
1985-02-11 | 0 | 8477656 | 616019000 | 563800000 | 1188296656 |
1985-02-12 | 0 | 8042118 | 618095000 | 563334000 | 1189471118 |
1985-02-13 | 0 | 7715778 | 620171000 | 563101000 | 1190987778 |
1985-02-14 | 0 | 7554870 | 622593000 | 563334000 | 1193481870 |
1985-02-15 | 0 | 7493250 | 623804000 | 563334000 | 1194631250 |
1985-02-16 | 0 | 7370880 | 624323000 | 563101000 | 1194794880 |
1985-02-17 | 0 | 7297974 | 625015000 | 563101000 | 1195413974 |
1985-02-18 | 0 | 7249370 | 625707000 | 562868000 | 1195824370 |
1985-02-19 | 0 | 7407591 | 626053000 | 562635000 | 1196095591 |
1985-02-20 | 0 | 7493250 | 626399000 | 562402000 | 1196294250 |
1985-02-21 | 0 | 7628901 | 626399000 | 562169000 | 1196196901 |
1985-02-22 | 0 | 7803090 | 626399000 | 561936000 | 1196138090 |
1985-02-23 | 0 | 7790592 | 626226000 | 561936000 | 1195952592 |
1985-02-24 | 0 | 7878165 | 626226000 | 561936000 | 1196040165 |
1985-02-25 | 0 | 7941090 | 626226000 | 561936000 | 1196103090 |
1985-02-26 | 0 | 8067462 | 626053000 | 561936000 | 1196056462 |
1985-02-27 | 0 | 8042118 | 626053000 | 561936000 | 1196031118 |
1985-02-28 | 0 | 8156427 | 625880000 | 561936000 | 1195972427 |
1985-03-01 | 0 | 8232981 | 624496000 | 561936000 | 1194664981 |
1985-03-02 | 0 | 8271432 | 624669000 | 561936000 | 1194876432 |
1985-03-03 | 0 | 8646515 | 625015000 | 562169000 | 1195830515 |
1985-03-04 | 0 | 8156427 | 625361000 | 562635000 | 1196152427 |
1985-03-05 | 0 | 8947036 | 624496000 | 563334000 | 1196777036 |
1985-03-06 | 0 | 8816130 | 623804000 | 563800000 | 1196420130 |
1985-03-07 | 0 | 8659550 | 625361000 | 564266000 | 1198286550 |
1985-03-08 | 0 | 8477656 | 626053000 | 564499000 | 1199029656 |
1985-03-09 | 0 | 8194704 | 626053000 | 564499000 | 1198746704 |
1985-03-10 | 0 | 7941090 | 626053000 | 564499000 | 1198493090 |
1985-03-11 | 0 | 7740600 | 626053000 | 564499000 | 1198292600 |
1985-03-12 | 0 | 7591842 | 626226000 | 564499000 | 1198316842 |
1985-03-13 | 0 | 7493250 | 626226000 | 564266000 | 1197985250 |
1985-03-14 | 0 | 7419828 | 626226000 | 564266000 | 1197911828 |
1985-03-15 | 0 | 7493250 | 626572000 | 564033000 | 1198098250 |
1985-03-16 | 0 | 7468776 | 627437000 | 564499000 | 1199404776 |
1985-03-17 | 0 | 7383117 | 628302000 | 565198000 | 1200883117 |
1985-03-18 | 0 | 7370880 | 629167000 | 565431000 | 1201968880 |
1985-03-19 | 0 | 7604166 | 631416000 | 565431000 | 1204451166 |
1985-03-20 | 0 | 7628901 | 633325000 | 565431000 | 1206384901 |
1985-03-21 | 0 | 7728189 | 634025000 | 565431000 | 1207184189 |
1985-03-22 | 0 | 7828086 | 634375000 | 565431000 | 1207634086 |
1985-03-23 | 0 | 7915920 | 634725000 | 565897000 | 1208537920 |
1985-03-24 | 0 | 8004102 | 635075000 | 566363000 | 1209442102 |
1985-03-25 | 0 | 8054790 | 635425000 | 566596000 | 1210075790 |
1985-03-26 | 0 | 8067462 | 635775000 | 566829000 | 1210671462 |
1985-03-27 | 0 | 8042118 | 636475000 | 566829000 | 1211346118 |
1985-03-28 | 0 | 8016774 | 637175000 | 566596000 | 1211787774 |
1985-03-29 | 0 | 8143668 | 637700000 | 566596000 | 1212439668 |
1985-03-30 | 0 | 8425928 | 638225000 | 566596000 | 1213246928 |
1985-03-31 | 0 | 8685620 | 638575000 | 566596000 | 1213856620 |
1985-04-01 | 0 | 8920808 | 638750000 | 566596000 | 1214266808 |
1985-04-02 | 0 | 9183646 | 638925000 | 566596000 | 1214704646 |
1985-04-03 | 0 | 9474608 | 638925000 | 566596000 | 1214995608 |
1985-04-04 | 0 | 9754114 | 638750000 | 566596000 | 1215100114 |
1985-04-05 | 0 | 10062738 | 638750000 | 566363000 | 1215175738 |
1985-04-06 | 0 | 10361350 | 638750000 | 566130000 | 1215241350 |
1985-04-07 | 0 | 10635850 | 638750000 | 565897000 | 1215282850 |
1985-04-08 | 0 | 10885358 | 638575000 | 565664000 | 1215124358 |
1985-04-09 | 0 | 11151188 | 638750000 | 565431000 | 1215332188 |
Tips by and for Data Journalists
Data journalists are reshaping how stories are told and taking a more active role in newsrooms. However, working within traditional newsroom structures presents its own challenges. How do the experts navigate this environment, and what challenges do they often face?
The OpenWater API
To obtain the water reserve data, we used the API (Application Programming Interface) service provided by the platform. The API, or application programming interface, is the interface through which a platform’s or application’s data is sent to the user in response to the request made by the user. The call to the OpenWater API returns the amount of water (in cubic meters) in all Attica’s reservoirs, from the user-defined date and backward.
In this case, the platform, which provides detailed instructions for using the API, offers the following link:
https://opendata-api-eydap.growthfund.gr/api/Savings
The following parameters apply:
:duration accepts values of time periods from the date specified in the date parameter (see below). This means that the data returned to the user can be for the duration of a Day, Week, Month, or Year.
:date takes any date in the format “DD-MM-YYYY” (day-month-year) and sets it as the end date for which the data will be collected.
The final format of the link will be as follows:
https://opendata-api-eydap.growthfund.gr/api/Savings/:duration/:date
Example:
https://opendata-api-eydap.growthfund.gr/api/Savings/Day/30-12-2004
Data collection and cleaning
To “request” and collect the data via the OpenWater API, we used the Python Requests library. We then used the Pandas library to organize the data in dataset format. In most cases, our API calls used the duration parameter set to Year and the date parameter set to December 31 of each year. Exceptions were made in cases of data entry errors originating from the platform itself. Specifically, for the water reserves of the Marathonas reservoir, the dates 31-12-2011, 30-12-2013, and 31-12-2013, and for Mornos, the last two days from each data update period appeared as blank when the call was made with duration = Year, but showed valid values when the call was made with duration = Day. Therefore, this data was collected and filled in on a daily basis.
From Data to Storytelling: Concept and Design Tips from the Financial Times’ John Burn-Murdoch
John Burn-Murdoch, chief data reporter and columnist at the Financial Times, offers advice on how charts can tell better stories.
What you can produce from this dataset
Water production
The platform also provides data on daily water production, in cubic meters, as it is carried out at the Water Treatment Plants (WTPs) of Attica, from January 1, 1996, up to March 10, 2025 — except for the Aspropyrgos plant, whose data starts from December 2, 1996. You can find the corresponding dataset available here, which includes data collected up to July 10, 2025.
Water is processed at the WTPs. There, it is disinfected from bacteria and microorganisms, cleared of solid materials it may have carried, and filtered. This process makes the water suitable for consumption. In the Attica basin, the WTPs are located in Galatsi, Acharnes (Menidi), Polydendri (Kiourka), and Mandra-Aspropyrgos. The water production dataset has a similar structure to that of the water reserves. The difference lies in the columns, where instead of the reservoirs, the four WTPs of Attica are listed (“Aspropirgos”, “Galatsi”, “Kiourka”, “Menidi”).
To collect the water production data, EYDAP offers the following link:
https://opendata-api-eydap.growthfund.gr/api/Production
How to collect the data yourself
You can collect water reserve data yourself from the OpenWaterAPI platform using Python. Below, we include parts of the code we used to collect data. You can find the full code here. Even if you don’t have Python or the required libraries installed on your computer, you can simply copy and paste the code into a Google Colab notebook and follow the step-by-step process below to see the data being collected in real time.
#imports
import requests
import json
import time
import pandas as pd
import datetime
#set ups
pd.set_option('display.max_rows', None)
pd.set_option('display.max_columns', None)
# We create all the links (URLs) corresponding to the years we are researching
# and we store them in a list called "webpages"
webpages = []
for n in range(1985, 2026):
webpage = 'https://opendata-api-eydap.growthfund.gr/api/Savings/Year/31-12-' + str(n)
webpages.append(webpage)
webpages
# We make a request to the API endpoint and store the response in the "data_list" as a dict
data_list = []
for api in df1.apis:
api_response = requests.get(api)
data = api_response.text
parse_json = json.loads(data)
data_list.append(parse_json)
time.sleep(5)
# We collect all the dicts and convert them into a dataframe (df)
dictionaries = []
for dl in data_list:
dictionaries.extend(dl)
df = pd.DataFrame(dictionaries)