Skip to article frontmatterSkip to article content

HDA Tutorial - Quick start

This notebook demonstrates how to use the HDA (Harmonized Data Access) API by sending a few HTTP requests to the API, using Python code.

🚀 Launch in JupyterHub
Prerequisites:References:

This notebook demonstrates how to use the HDA (Harmonized Data Access) API by sending a few HTTP requests to the API, using Python code. The tutorial shows the first steps in using Harmonised Data to discover and access the data offered by the DestinE Data Portfolio

hroughout this quickstart notebook, you will learn:

  1. Discover: How to discover DEDL collections and services through HDA.

  2. Authenticate: How to authenticate for searching and access DEDL collections.

  3. Search data: How to search DEDL data through HDA.

  4. Download data: How to download DEDL data through HDA.

The detailed API and definition of each endpoint and parameters is available in the HDA Swagger UI at: https://hda.data.destination-earth.eu/docs/

Discover

pip install --user --quiet --upgrade destinelab
Note: you may need to restart the kernel to use updated packages.

Import the relevant modules

import requests
import json
from getpass import getpass
from tqdm import tqdm
import time
import re

import destinelab as deauth

from IPython.display import JSON

Define some constants for the API URL

# Define the collection to be used
COLLECTION_ID = "EO.EUM.DAT.SENTINEL-3.OL_2_WRR___"

# Core API
HDA_API_URL = "https://hda.data.destination-earth.eu"

# STAC API
## Core
STAC_API_URL = f"{HDA_API_URL}/stac/v2"

## Collections
COLLECTIONS_URL = f"{STAC_API_URL}/collections"
COLLECTION_BY_ID_URL = f"{COLLECTIONS_URL}/{COLLECTION_ID}"

## Items
COLLECTION_ITEMS_URL = f"{COLLECTIONS_URL}/{COLLECTION_ID}/items"

## Item Search
SEARCH_URL = f"{STAC_API_URL}/search"

## HTTP Success
HTTP_SUCCESS_CODE = 200

Discover data

Below an example for discovering collections concerning Chlorophyll-a Concentration and algal pigment.

response = requests.get(COLLECTIONS_URL,params = {"q":'"Chlorophyll-a Concentration" and "algal pigment"'})

#JSON(response.json(), expanded=False)
print(json.dumps(response.json(),indent=4))
{
    "collections": [
        {
            "type": "Collection",
            "title": "OLCI Level 2 Ocean Colour Reduced Resolution - Sentinel-3",
            "id": "EO.EUM.DAT.SENTINEL-3.OL_2_WRR___",
            "description": "OLCI (Ocean and Land Colour Instrument) Ocean Colour Geophysical Products. Reduced Resolution: 1200m at nadir. Level 2 marine products include the following: * water-leaving reflectances in 16 bands, Oa**_reflectance (Baseline Atmospheric Correction (BAC) algorithm, bands: 400, 412, 442, 490, 510, 560, 620, 665, 674, 681, 709, 754, 779, 865, 885, 1024 nanometer (nm)); *algal pigment concentration in clear waters, chl_oc4me (BAC and maximum band ratio algorithm, log10 scaled); *algal pigment concentration in turbid waters, chl_nn (neural net algorithm, log10 scaled); *total suspended matter concentration, tsm_nn (neural net algorithm, log10 scaled); *diffuse attenuation coefficient Kd of downward irradiance at 490 nm, trsp (BAC and M07 algorithm, log10 scaled); *absorption coefficient at 443 nm of coloured detrital and dissolved organic matter, iop_nn (neural net algorithm, log10 scaled); *instantaneous photosynthetically active radiation, PAR (BAC and clear-sky ocean algorithm); *aerosol optical thickness T865 and aerosol Angstrom exponent A865, w_aer (BAC algorithm, A for bands 779 and 865 nm) *integrated water vapour column, iwv (1D-Var algorithm). The geophysical products are accompanied by error estimate products. Pixel classification, quality and science flags, as well as meteorological, geometry and geolocation data at tie points are provided. \n\n- All Sentinel-3 NRT products are available at pick-up point in less than 3h\n- All Sentinel-3 Non Time Critical (NTC) products are available at pick-up point in less than 30 days.\nSentinel-3 is part of a series of Sentinel satellites, under the umbrella of the EU Copernicus programme.",
            "links": [
                {
                    "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables",
                    "type": "application/schema+json",
                    "href": "https://hda.data.destination-earth.eu/stac/v2/collections/EO.EUM.DAT.SENTINEL-3.OL_2_WRR___/queryables",
                    "title": "Queryables"
                },
                {
                    "rel": "items",
                    "type": "application/geo+json",
                    "href": "https://hda.data.destination-earth.eu/stac/v2/collections/EO.EUM.DAT.SENTINEL-3.OL_2_WRR___/items",
                    "title": "Items"
                },
                {
                    "rel": "self",
                    "type": "application/json",
                    "href": "https://hda.data.destination-earth.eu/stac/v2/collections/EO.EUM.DAT.SENTINEL-3.OL_2_WRR___",
                    "title": "OLCI Level 2 Ocean Colour Reduced Resolution - Sentinel-3"
                },
                {
                    "rel": "license",
                    "type": "application/pdf",
                    "href": "https://www.eumetsat.int/data-policy/eumetsat-data-policy.pdf",
                    "title": "EUMETSAT Data Policy"
                },
                {
                    "rel": "describedby",
                    "type": "text/html",
                    "href": "https://data.eumetsat.int/product/EO:EUM:DAT:0408",
                    "title": "OLCI Level 2 Ocean Colour Reduced Resolution - Sentinel-3"
                }
            ],
            "assets": {
                "thumbnail": {
                    "href": "https://user.eumetsat.int/s3/eup-strapi-media/chl_OC_4_ME_20_June2017_e70d742681.png",
                    "roles": [
                        "thumbnail"
                    ],
                    "title": "Sentinel-3A OLCI algal pigment concentration",
                    "type": "image/png"
                }
            },
            "extent": {
                "spatial": {
                    "bbox": [
                        [
                            -180,
                            -90,
                            180,
                            90
                        ]
                    ]
                },
                "temporal": {
                    "interval": [
                        [
                            "2017-11-01T00:00:00Z",
                            null
                        ]
                    ]
                }
            },
            "license": "other",
            "keywords": [
                "Level 2 Data",
                "Ocean",
                "Ocean Colour",
                "Water Quality",
                "Chlorophyll-a Concentration"
            ],
            "summaries": {
                "constellation": [
                    "Sentinel-3"
                ],
                "federation:backends": [
                    "eumetsat",
                    "external_fdp",
                    "creodias",
                    "wekeo_main"
                ],
                "instruments": [
                    "OLCI"
                ],
                "platform": [
                    "Sentinel-3A",
                    "Sentinel-3B"
                ],
                "processing:level": [
                    "L2"
                ]
            },
            "item_assets": {
                "thumbnail": {
                    "description": "An averaged, decimated preview image in PNG format. Single polarisation products are represented with a grey scale image. Dual polarisation products are represented by a single composite colour image in RGB with the red channel (R) representing the  co-polarisation VV or HH), the green channel (G) represents the cross-polarisation (VH or HV) and the blue channel (B) represents the ratio of the cross an co-polarisations.",
                    "roles": [
                        "thumbnail"
                    ],
                    "title": "Preview Image",
                    "type": "image/png"
                }
            },
            "stac_version": "1.1.0",
            "stac_extensions": [
                "https://stac-extensions.github.io/eo/v1.1.0/schema.json",
                "https://stac-extensions.github.io/processing/v1.2.0/schema.json",
                "https://stac-extensions.github.io/timestamps/v1.1.0/schema.json"
            ],
            "providers": [
                {
                    "name": "European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT)",
                    "roles": [
                        "producer",
                        "processor",
                        "licensor",
                        "host"
                    ],
                    "url": "https://www.eumetsat.int/"
                }
            ],
            "created": "2023-08-11T18:04:28Z",
            "updated": "2026-05-06T10:04:22Z",
            "published": "2023-08-11T18:04:28Z",
            "dedl:short_description": "The OLCC L2 product suite from Sentinel-3 provides reduced-resolution ocean colour data with various geophysical parameters including algal pigments, total suspended matter, diffuse attenuation coefficients, and atmospheric properties, along with accompanying error estimates and metadata."
        },
        {
            "type": "Collection",
            "title": "OLCI Level 2 Ocean Colour Full Resolution - Sentinel-3",
            "id": "EO.EUM.DAT.SENTINEL-3.OL_2_WFR___",
            "description": "OLCI (Ocean and Land Colour Instrument) Ocean Colour Geophysical Products. Full Resolution: 300m at nadir. All Sentinel-3 NRT products are available at pick-up point in less than 3h. Level 2 marine products include the following: * water-leaving reflectances in 16 bands, Oa**_reflectance (Baseline Atmospheric Correction (BAC) algorithm, bands: 400, 412, 442, 490, 510, 560, 620, 665, 674, 681, 709, 754, 779, 865, 885, 1024 nanometer (nm)); *algal pigment concentration in clear waters, chl_oc4me (BAC and maximum band ratio algorithm, log10 scaled); *algal pigment concentration in turbid waters, chl_nn (neural net algorithm, log10 scaled); *total suspended matter concentration, tsm_nn (neural net algorithm, log10 scaled); *diffuse attenuation coefficient Kd of downward irradiance at 490 nm, trsp (BAC and M07 algorithm, log10 scaled); *absorption coefficient at 443 nm of coloured detrital and dissolved organic matter, iop_nn (neural net algorithm, log10 scaled); *instantaneous photosynthetically active radiation, PAR (BAC and clear-sky ocean algorithm); *aerosol optical thickness T865 and aerosol Angstrom exponent A865, w_aer (BAC algorithm, A for bands 779 and 865 nm) *integrated water vapour column, iwv (1D-Var algorithm). The geophysical products are accompanied by error estimate products. Pixel classification, quality and science flags, as well as meteorological, geometry and geolocation data at tie points are provided.\n\n- All Sentinel-3 NRT products are available at pick-up point in less than 3h\n- All Sentinel-3 Non Time Critical (NTC) products are available at pick-up point in less than 30 days\nSentinel-3 is part of a series of Sentinel satellites, under the umbrella of the EU Copernicus programme.",
            "links": [
                {
                    "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables",
                    "type": "application/schema+json",
                    "href": "https://hda.data.destination-earth.eu/stac/v2/collections/EO.EUM.DAT.SENTINEL-3.OL_2_WFR___/queryables",
                    "title": "Queryables"
                },
                {
                    "rel": "items",
                    "type": "application/geo+json",
                    "href": "https://hda.data.destination-earth.eu/stac/v2/collections/EO.EUM.DAT.SENTINEL-3.OL_2_WFR___/items",
                    "title": "Items"
                },
                {
                    "rel": "self",
                    "type": "application/json",
                    "href": "https://hda.data.destination-earth.eu/stac/v2/collections/EO.EUM.DAT.SENTINEL-3.OL_2_WFR___",
                    "title": "OLCI Level 2 Ocean Colour Full Resolution - Sentinel-3"
                },
                {
                    "rel": "license",
                    "type": "application/pdf",
                    "href": "https://www.eumetsat.int/data-policy/eumetsat-data-policy.pdf",
                    "title": "EUMETSAT Data Policy"
                },
                {
                    "rel": "describedby",
                    "type": "text/html",
                    "href": "https://data.eumetsat.int/product/EO:EUM:DAT:0407",
                    "title": "OLCI Level 2 Ocean Colour Full Resolution - Sentinel-3"
                }
            ],
            "assets": {
                "thumbnail": {
                    "href": "https://user.eumetsat.int/s3/eup-strapi-media/chl_OC_4_ME_20_June2017_e70d742681.png",
                    "roles": [
                        "thumbnail"
                    ],
                    "title": "Sentinel-3A OLCI algal pigment concentration",
                    "type": "image/png"
                }
            },
            "extent": {
                "spatial": {
                    "bbox": [
                        [
                            -180,
                            -90,
                            180,
                            90
                        ]
                    ]
                },
                "temporal": {
                    "interval": [
                        [
                            "2017-11-01T00:00:00Z",
                            null
                        ]
                    ]
                }
            },
            "license": "other",
            "keywords": [
                "Level 2 Data",
                "Ocean",
                "Ocean Colour",
                "Water Quality",
                "Chlorophyll-a Concentration"
            ],
            "summaries": {
                "constellation": [
                    "Sentinel-3"
                ],
                "federation:backends": [
                    "eumetsat",
                    "external_fdp",
                    "creodias",
                    "wekeo_main"
                ],
                "instruments": [
                    "OLCI"
                ],
                "platform": [
                    "Sentinel-3A",
                    "Sentinel-3B"
                ],
                "processing:level": [
                    "L2"
                ]
            },
            "item_assets": {
                "thumbnail": {
                    "description": "An averaged, decimated preview image in PNG format. Single polarisation products are represented with a grey scale image. Dual polarisation products are represented by a single composite colour image in RGB with the red channel (R) representing the  co-polarisation VV or HH), the green channel (G) represents the cross-polarisation (VH or HV) and the blue channel (B) represents the ratio of the cross an co-polarisations.",
                    "roles": [
                        "thumbnail"
                    ],
                    "title": "Preview Image",
                    "type": "image/png"
                }
            },
            "stac_version": "1.1.0",
            "stac_extensions": [
                "https://stac-extensions.github.io/eo/v1.1.0/schema.json",
                "https://stac-extensions.github.io/processing/v1.2.0/schema.json",
                "https://stac-extensions.github.io/timestamps/v1.1.0/schema.json"
            ],
            "providers": [
                {
                    "name": "European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT)",
                    "roles": [
                        "producer",
                        "processor",
                        "licensor",
                        "host"
                    ],
                    "url": "https://www.eumetsat.int/"
                }
            ],
            "created": "2023-08-11T18:04:28Z",
            "updated": "2026-05-06T10:04:22Z",
            "published": "2023-08-11T18:04:28Z",
            "dedl:short_description": "The OLCC level 2 product suite from Sentinel-3 includes various ocean colour parameters such as algal pigments, total suspended matter, diffuse attenuation coefficients, absorption coefficients, instantaneous photosynthetic activity, atmospheric properties, integrated water vapor, with accompanying error estimates and additional metadata."
        }
    ],
    "links": [
        {
            "rel": "root",
            "type": "application/json",
            "href": "https://hda.data.destination-earth.eu/stac/v2/",
            "title": "DEDL HDA STAC API"
        },
        {
            "rel": "self",
            "type": "application/json",
            "href": "https://hda.data.destination-earth.eu/stac/v2/collections?q=%22Chlorophyll-a+Concentration%22+and+%22algal+pigment%22",
            "title": "Current Page"
        }
    ]
}

Authenticate

DESP_USERNAME = input("Please input your DESP username or email: ")
DESP_PASSWORD = getpass("Please input your DESP password: ")

auth = deauth.AuthHandler(DESP_USERNAME, DESP_PASSWORD)
access_token = auth.get_token()
if access_token is not None:
    print("DEDL/DESP Access Token Obtained Successfully")
else:
    print("Failed to Obtain DEDL/DESP Access Token")

auth_headers = {"Authorization": f"Bearer {access_token}"}
Please input your DESP username or email:  eum-dedl-user
Please input your DESP password:  ········
DEDL/DESP Access Token Obtained Successfully
Response code: 200
DEDL/DESP Access Token Obtained Successfully

Once selected a collection it is possible to search for items that match the specified input filters and order the results.

The collection used for this tutorial is OLCI Level 2 Ocean Colour Reduced Resolution - Sentinel-3

BODY = {
    "collections": [
        COLLECTION_ID,
    ],
    "datetime" : "2024-09-08T00:00:00Z/2024-09-09T23:59:59Z",
    "bbox": [-11,35,
              50,72 ],
    "sortby": [{"field": "datetime","direction": "desc"}
              ],
    "limit": 1,
}

r=requests.post(SEARCH_URL, json=BODY, headers=auth_headers)
if(r.status_code!= 200):
    (print(r.text))
r.raise_for_status()
#JSON(r.json(), expanded=False)   
print(json.dumps(response.json(),indent=4))
{
    "collections": [
        {
            "type": "Collection",
            "title": "OLCI Level 2 Ocean Colour Reduced Resolution - Sentinel-3",
            "id": "EO.EUM.DAT.SENTINEL-3.OL_2_WRR___",
            "description": "OLCI (Ocean and Land Colour Instrument) Ocean Colour Geophysical Products. Reduced Resolution: 1200m at nadir. Level 2 marine products include the following: * water-leaving reflectances in 16 bands, Oa**_reflectance (Baseline Atmospheric Correction (BAC) algorithm, bands: 400, 412, 442, 490, 510, 560, 620, 665, 674, 681, 709, 754, 779, 865, 885, 1024 nanometer (nm)); *algal pigment concentration in clear waters, chl_oc4me (BAC and maximum band ratio algorithm, log10 scaled); *algal pigment concentration in turbid waters, chl_nn (neural net algorithm, log10 scaled); *total suspended matter concentration, tsm_nn (neural net algorithm, log10 scaled); *diffuse attenuation coefficient Kd of downward irradiance at 490 nm, trsp (BAC and M07 algorithm, log10 scaled); *absorption coefficient at 443 nm of coloured detrital and dissolved organic matter, iop_nn (neural net algorithm, log10 scaled); *instantaneous photosynthetically active radiation, PAR (BAC and clear-sky ocean algorithm); *aerosol optical thickness T865 and aerosol Angstrom exponent A865, w_aer (BAC algorithm, A for bands 779 and 865 nm) *integrated water vapour column, iwv (1D-Var algorithm). The geophysical products are accompanied by error estimate products. Pixel classification, quality and science flags, as well as meteorological, geometry and geolocation data at tie points are provided. \n\n- All Sentinel-3 NRT products are available at pick-up point in less than 3h\n- All Sentinel-3 Non Time Critical (NTC) products are available at pick-up point in less than 30 days.\nSentinel-3 is part of a series of Sentinel satellites, under the umbrella of the EU Copernicus programme.",
            "links": [
                {
                    "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables",
                    "type": "application/schema+json",
                    "href": "https://hda.data.destination-earth.eu/stac/v2/collections/EO.EUM.DAT.SENTINEL-3.OL_2_WRR___/queryables",
                    "title": "Queryables"
                },
                {
                    "rel": "items",
                    "type": "application/geo+json",
                    "href": "https://hda.data.destination-earth.eu/stac/v2/collections/EO.EUM.DAT.SENTINEL-3.OL_2_WRR___/items",
                    "title": "Items"
                },
                {
                    "rel": "self",
                    "type": "application/json",
                    "href": "https://hda.data.destination-earth.eu/stac/v2/collections/EO.EUM.DAT.SENTINEL-3.OL_2_WRR___",
                    "title": "OLCI Level 2 Ocean Colour Reduced Resolution - Sentinel-3"
                },
                {
                    "rel": "license",
                    "type": "application/pdf",
                    "href": "https://www.eumetsat.int/data-policy/eumetsat-data-policy.pdf",
                    "title": "EUMETSAT Data Policy"
                },
                {
                    "rel": "describedby",
                    "type": "text/html",
                    "href": "https://data.eumetsat.int/product/EO:EUM:DAT:0408",
                    "title": "OLCI Level 2 Ocean Colour Reduced Resolution - Sentinel-3"
                }
            ],
            "assets": {
                "thumbnail": {
                    "href": "https://user.eumetsat.int/s3/eup-strapi-media/chl_OC_4_ME_20_June2017_e70d742681.png",
                    "roles": [
                        "thumbnail"
                    ],
                    "title": "Sentinel-3A OLCI algal pigment concentration",
                    "type": "image/png"
                }
            },
            "extent": {
                "spatial": {
                    "bbox": [
                        [
                            -180,
                            -90,
                            180,
                            90
                        ]
                    ]
                },
                "temporal": {
                    "interval": [
                        [
                            "2017-11-01T00:00:00Z",
                            null
                        ]
                    ]
                }
            },
            "license": "other",
            "keywords": [
                "Level 2 Data",
                "Ocean",
                "Ocean Colour",
                "Water Quality",
                "Chlorophyll-a Concentration"
            ],
            "summaries": {
                "constellation": [
                    "Sentinel-3"
                ],
                "federation:backends": [
                    "eumetsat",
                    "external_fdp",
                    "creodias",
                    "wekeo_main"
                ],
                "instruments": [
                    "OLCI"
                ],
                "platform": [
                    "Sentinel-3A",
                    "Sentinel-3B"
                ],
                "processing:level": [
                    "L2"
                ]
            },
            "item_assets": {
                "thumbnail": {
                    "description": "An averaged, decimated preview image in PNG format. Single polarisation products are represented with a grey scale image. Dual polarisation products are represented by a single composite colour image in RGB with the red channel (R) representing the  co-polarisation VV or HH), the green channel (G) represents the cross-polarisation (VH or HV) and the blue channel (B) represents the ratio of the cross an co-polarisations.",
                    "roles": [
                        "thumbnail"
                    ],
                    "title": "Preview Image",
                    "type": "image/png"
                }
            },
            "stac_version": "1.1.0",
            "stac_extensions": [
                "https://stac-extensions.github.io/eo/v1.1.0/schema.json",
                "https://stac-extensions.github.io/processing/v1.2.0/schema.json",
                "https://stac-extensions.github.io/timestamps/v1.1.0/schema.json"
            ],
            "providers": [
                {
                    "name": "European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT)",
                    "roles": [
                        "producer",
                        "processor",
                        "licensor",
                        "host"
                    ],
                    "url": "https://www.eumetsat.int/"
                }
            ],
            "created": "2023-08-11T18:04:28Z",
            "updated": "2026-05-06T10:04:22Z",
            "published": "2023-08-11T18:04:28Z",
            "dedl:short_description": "The OLCC L2 product suite from Sentinel-3 provides reduced-resolution ocean colour data with various geophysical parameters including algal pigments, total suspended matter, diffuse attenuation coefficients, and atmospheric properties, along with accompanying error estimates and metadata."
        },
        {
            "type": "Collection",
            "title": "OLCI Level 2 Ocean Colour Full Resolution - Sentinel-3",
            "id": "EO.EUM.DAT.SENTINEL-3.OL_2_WFR___",
            "description": "OLCI (Ocean and Land Colour Instrument) Ocean Colour Geophysical Products. Full Resolution: 300m at nadir. All Sentinel-3 NRT products are available at pick-up point in less than 3h. Level 2 marine products include the following: * water-leaving reflectances in 16 bands, Oa**_reflectance (Baseline Atmospheric Correction (BAC) algorithm, bands: 400, 412, 442, 490, 510, 560, 620, 665, 674, 681, 709, 754, 779, 865, 885, 1024 nanometer (nm)); *algal pigment concentration in clear waters, chl_oc4me (BAC and maximum band ratio algorithm, log10 scaled); *algal pigment concentration in turbid waters, chl_nn (neural net algorithm, log10 scaled); *total suspended matter concentration, tsm_nn (neural net algorithm, log10 scaled); *diffuse attenuation coefficient Kd of downward irradiance at 490 nm, trsp (BAC and M07 algorithm, log10 scaled); *absorption coefficient at 443 nm of coloured detrital and dissolved organic matter, iop_nn (neural net algorithm, log10 scaled); *instantaneous photosynthetically active radiation, PAR (BAC and clear-sky ocean algorithm); *aerosol optical thickness T865 and aerosol Angstrom exponent A865, w_aer (BAC algorithm, A for bands 779 and 865 nm) *integrated water vapour column, iwv (1D-Var algorithm). The geophysical products are accompanied by error estimate products. Pixel classification, quality and science flags, as well as meteorological, geometry and geolocation data at tie points are provided.\n\n- All Sentinel-3 NRT products are available at pick-up point in less than 3h\n- All Sentinel-3 Non Time Critical (NTC) products are available at pick-up point in less than 30 days\nSentinel-3 is part of a series of Sentinel satellites, under the umbrella of the EU Copernicus programme.",
            "links": [
                {
                    "rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables",
                    "type": "application/schema+json",
                    "href": "https://hda.data.destination-earth.eu/stac/v2/collections/EO.EUM.DAT.SENTINEL-3.OL_2_WFR___/queryables",
                    "title": "Queryables"
                },
                {
                    "rel": "items",
                    "type": "application/geo+json",
                    "href": "https://hda.data.destination-earth.eu/stac/v2/collections/EO.EUM.DAT.SENTINEL-3.OL_2_WFR___/items",
                    "title": "Items"
                },
                {
                    "rel": "self",
                    "type": "application/json",
                    "href": "https://hda.data.destination-earth.eu/stac/v2/collections/EO.EUM.DAT.SENTINEL-3.OL_2_WFR___",
                    "title": "OLCI Level 2 Ocean Colour Full Resolution - Sentinel-3"
                },
                {
                    "rel": "license",
                    "type": "application/pdf",
                    "href": "https://www.eumetsat.int/data-policy/eumetsat-data-policy.pdf",
                    "title": "EUMETSAT Data Policy"
                },
                {
                    "rel": "describedby",
                    "type": "text/html",
                    "href": "https://data.eumetsat.int/product/EO:EUM:DAT:0407",
                    "title": "OLCI Level 2 Ocean Colour Full Resolution - Sentinel-3"
                }
            ],
            "assets": {
                "thumbnail": {
                    "href": "https://user.eumetsat.int/s3/eup-strapi-media/chl_OC_4_ME_20_June2017_e70d742681.png",
                    "roles": [
                        "thumbnail"
                    ],
                    "title": "Sentinel-3A OLCI algal pigment concentration",
                    "type": "image/png"
                }
            },
            "extent": {
                "spatial": {
                    "bbox": [
                        [
                            -180,
                            -90,
                            180,
                            90
                        ]
                    ]
                },
                "temporal": {
                    "interval": [
                        [
                            "2017-11-01T00:00:00Z",
                            null
                        ]
                    ]
                }
            },
            "license": "other",
            "keywords": [
                "Level 2 Data",
                "Ocean",
                "Ocean Colour",
                "Water Quality",
                "Chlorophyll-a Concentration"
            ],
            "summaries": {
                "constellation": [
                    "Sentinel-3"
                ],
                "federation:backends": [
                    "eumetsat",
                    "external_fdp",
                    "creodias",
                    "wekeo_main"
                ],
                "instruments": [
                    "OLCI"
                ],
                "platform": [
                    "Sentinel-3A",
                    "Sentinel-3B"
                ],
                "processing:level": [
                    "L2"
                ]
            },
            "item_assets": {
                "thumbnail": {
                    "description": "An averaged, decimated preview image in PNG format. Single polarisation products are represented with a grey scale image. Dual polarisation products are represented by a single composite colour image in RGB with the red channel (R) representing the  co-polarisation VV or HH), the green channel (G) represents the cross-polarisation (VH or HV) and the blue channel (B) represents the ratio of the cross an co-polarisations.",
                    "roles": [
                        "thumbnail"
                    ],
                    "title": "Preview Image",
                    "type": "image/png"
                }
            },
            "stac_version": "1.1.0",
            "stac_extensions": [
                "https://stac-extensions.github.io/eo/v1.1.0/schema.json",
                "https://stac-extensions.github.io/processing/v1.2.0/schema.json",
                "https://stac-extensions.github.io/timestamps/v1.1.0/schema.json"
            ],
            "providers": [
                {
                    "name": "European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT)",
                    "roles": [
                        "producer",
                        "processor",
                        "licensor",
                        "host"
                    ],
                    "url": "https://www.eumetsat.int/"
                }
            ],
            "created": "2023-08-11T18:04:28Z",
            "updated": "2026-05-06T10:04:22Z",
            "published": "2023-08-11T18:04:28Z",
            "dedl:short_description": "The OLCC level 2 product suite from Sentinel-3 includes various ocean colour parameters such as algal pigments, total suspended matter, diffuse attenuation coefficients, absorption coefficients, instantaneous photosynthetic activity, atmospheric properties, integrated water vapor, with accompanying error estimates and additional metadata."
        }
    ],
    "links": [
        {
            "rel": "root",
            "type": "application/json",
            "href": "https://hda.data.destination-earth.eu/stac/v2/",
            "title": "DEDL HDA STAC API"
        },
        {
            "rel": "self",
            "type": "application/json",
            "href": "https://hda.data.destination-earth.eu/stac/v2/collections?q=%22Chlorophyll-a+Concentration%22+and+%22algal+pigment%22",
            "title": "Current Page"
        }
    ]
}

Download

Once obtained the search results we can download the returned data. The code below is to download the first data returned by our search.

#select the first item in the result to download
product = r.json()["features"][0]

# DownloadLink is an asset representing the whole product
download_url = product["assets"]["downloadLink"]["href"]
ITEM_ID = product["id"]

response = requests.get(download_url,stream=True,headers=auth_headers)

# If the request was successful, download the file
if (response.status_code == HTTP_SUCCESS_CODE):
        print("Downloading ...")
        filename = ITEM_ID + ".zip"
        with open(filename, 'wb') as f:
            for chunk in response.iter_content(chunk_size=1024): 
                if chunk:
                    f.write(chunk)
                    f.flush()
        print("The dataset has been downloaded to: {}".format(filename))
else: print("Request Unsuccessful! Error-Code: {}".format(response.status_code))
Downloading ...
The dataset has been downloaded to: S3A_OL_2_WRR____20240909T130929_20240909T135342_20240910T163350_2653_116_352______MAR_O_NT_003.SEN3.zip