GEW

Eutrophication Watch API

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

Base URL: https://api.eutrophicationwatch.orgAll endpoints under: /api/

Authentication

JWT Bearer Token

Required for all /api/timeseries/ endpoints. Pass as:

Authorization: Bearer <access_token>

Access tokens valid for 24 hours. Refresh tokens valid for 7 days.

Client Credentials

For /api/regional_cep/client/. Pass your client ID and secret as headers:

X-Client-Id: <your-client-id> X-Client-Secret: <your-client-secret>

Endpoints

GET/api/timeseries/JWT

Point-based annual maximum chlorophyll-a time series with Mann-Kendall trend and CEP classification.

ParamTypeNotes
latitudefloatRequired
longitudefloatRequired
start_yearintRequired
end_yearintRequired
satellite_sensorstringRequired. See sensor list.
thresholdintDefault: 5
data_assetstringCustom GEE asset path
POST/api/timeseries/file/JWT

Regional analysis using uploaded boundary file or raw GeoJSON string.

Accepts shape_file (zip/KML/GeoJSON) or geojson_string. Returns time series, tile URLs, CEP pixel distribution, and GeoTIFF.

curl -X POST "https://api.eutrophicationwatch.org/api/timeseries/file/" \
  -H "Authorization: Bearer <token>" \
  -F "latitude=35.6" -F "longitude=140.1" \
  -F "start_year=2018" -F "end_year=2024" \
  -F "satellite_sensor=SGLI/GCOM-C" \
  -F "geotiff_download=true" \
  -F "shape_file=@region.zip"
POST/api/timeseries/file/export/pdf/JWTNEW

Runs the same regional analysis as /api/timeseries/file/ and generates a Chesapeake Bay Report Card–style PDF (SDG 14.1.1a Assessment Report). Returns all standard JSON fields plus pdf_download_link.

FieldTypeNotes
All fields from /api/timeseries/file/, plus:
region_namestringRegion label in report header. Default: "Selected Region".
ai_summarystringUser-edited AI insight embedded in the report. Auto-generated if omitted.
curl -X POST "https://api.eutrophicationwatch.org/api/timeseries/file/export/pdf/" \
  -H "Authorization: Bearer <token>" \
  -F "latitude=38.9" -F "longitude=-76.4" \
  -F "start_year=2018" -F "end_year=2024" \
  -F "satellite_sensor=SGLI/GCOM-C" \
  -F "region_name=Chesapeake Bay" \
  -F "shape_file=@chesapeake.geojson"
POST/api/regional_cep/client/Client headers

Same as /api/timeseries/file/ but authenticated via X-Client-Id / X-Client-Secret headers instead of JWT. Accepts both shape_file and geojson_string.

Reference

Satellite Sensors

ValueDescriptionFrom
MODIS/AquaMODIS Aqua chlorophyll-a2003
SGLI/GCOM-CJAXA GCOM-C SGLI2018
SeaWiFSSeaWiFS ocean colour1998
YOC (Blended CHL Dataset)Blended multi-sensor dataset
YOC+SGLIYOC blended + SGLI
esa_cciESA CCI Ocean Colour1998
userAssetCustom GEE asset (requires data_asset)

CEP Classes

ClassLabelMeaningColour
1LDLow Decreasing
2LNLow No-trend
3LILow Increasing
4HDHigh Decreasing
5HNHigh No-trend
6HIHigh Increasing — highest concern

Response status semantics

ValueMeaning
completedAll shape splits downloaded successfully (split_percentage = 100%).
incompleteSome splits failed; GeoTIFF may have gaps.
failedNo tiles were downloaded.

Large regions are automatically split into tiles for GEE processing. split_percentage reflects how many tiles were successfully retrieved (-1 if none were attempted).

Methodology: Maúre et al. (2021) Nature Communications doi:10.1038/s41467-021-21921-3