Eutrophication Watch API

Time-series chlorophyll-a trends, composited tiles, and CEP classes powered by Google Earth Engine.

Base URL: {{BASE_URL}}/api/

BASE_URL: https://eutrophicationwatch.org:8080

Authentication

Client Credentials (header)

Use for /api/regional_cep/client/ if you have a client-id/secret.

  • Send headers X-Client-Id and X-Client-Secret.

Endpoints

POST /api/regional_cep/client/ Client headers

Same analytics, but for uploaded regions (KML, GeoJSON/JSON, or zipped shapefile). Can return GeoTIFF.

Form fieldTypeNotes
shape_file (required)fileKML, GeoJSON/JSON, or .zip shapefile.
latitude / longitudefloatAnchor point inside the shape.
start_year / end_yearint
satellite_sensorstringSame options as above.
geotiff_downloadboolIf true and not using custom asset, merges tiles into a downloadable TIFF.
data_assetstringCustom asset path.
timeseries_onlyboolSkip tiles and file generation.
monthly_avg (query)boolReturn monthly averages across shapes (expensive).
threshold (query)intDefaults to 5.
curl -X POST "{{BASE_URL}}/api/timeseries/file/?monthly_avg=false" \
  -H "Authorization: Bearer <token>" \
  -F "latitude=35.6" -F "longitude=140.1" \
  -F "start_year=2019" -F "end_year=2024" \
  -F "satellite_sensor=MODIS/Aqua" \
  -F "geotiff_download=true" \
  -F "shape_file=@region.zip"

Response highlights: average_values [{date, chlor_a, trend}], composit_tile/trend_tile/cep_tile (XYZ URLs), point_status (LD/LN/LI/HD/HN/HI), mcep_value, optional download_link, pixel_count.

curl "{{BASE_URL}}/api/timeseries/?latitude=35.6&longitude=140.1&start_year=2019&end_year=2024&satellite_sensor=MODIS/Aqua"
{
  "average_values": [{"date":"2019","chlor_a":2.1,"trend":-0.03}, ...],
  "composit_tile": "https://.../tiles/{z}/{x}/{y}",
  "trend_tile": "https://.../tiles/{z}/{x}/{y}",
  "cep_tile": "https://.../tiles/{z}/{x}/{y}",
  "point_status": "HN",
  "mcep_value": 5,
  "download_link": null,
  "pixel_count": [{"class_1":0},{"class_2":0},{"class_3":0},{"class_4":0},{"class_5":0},{"class_6":0}]
}

Response highlights: average_values [{date, chlor_a, trend}], composit_tile/trend_tile/cep_tile (XYZ URLs), point_status (LD/LN/LI/HD/HN/HI), mcep_value, optional download_link, pixel_count.

curl "{{BASE_URL}}/api/timeseries/?latitude=35.6&longitude=140.1&start_year=2019&end_year=2024&satellite_sensor=MODIS/Aqua"
{
        "average_values": [{"date":"2019","chlor_a":2.1,"trend":-0.03}, ...],
        "composit_tile": "https://.../tiles/{z}/{x}/{y}",
        "trend_tile": "https://.../tiles/{z}/{x}/{y}",
        "cep_tile": "https://.../tiles/{z}/{x}/{y}",
        "point_status": "HN",
        "mcep_value": 5,
        "download_link": "/media/outputs/GS2018.tif",
        "pixel_count": [{"class_1":0},{"class_2":0},{"class_3":0},{"class_4":0},{"class_5":0},{"class_6":0}]
      }

Notes