Module 3

Data Access & APIs

Programmatic access to satellite imagery through Copernicus, USGS, Google Earth Engine, and STAC APIs

Note: The code examples below are illustrative and require external internet access and valid API credentials to execute. They demonstrate the standard workflows for each data access method. Register for free accounts at the respective platforms to run them.

1. Copernicus Data Space Ecosystem (CDSE)

The Copernicus Data Space Ecosystem (dataspace.copernicus.eu) is the official distribution platform for all Sentinel data. It replaced the legacy Copernicus Open Access Hub in October 2023. Access is free after registration.

Key Features

  • β€’ Full Sentinel-1, 2, 3, 5P archive (PB onwards)
  • β€’ OData and OpenSearch catalogue APIs
  • β€’ Sentinel Hub integration for on-the-fly processing
  • β€’ JupyterHub environment with pre-installed tools
  • β€’ S3 object storage access for batch processing

Searching & Downloading with sentinelsat

The sentinelsat library provides a Python interface to the Copernicus catalogue. Note: as of 2024, sentinelsat supports the new CDSE endpoints.

Copernicus CDSE Sentinel-2 Search Demo

Python
script.py113 lines

Click Run to execute the Python code

Code will be executed with Python 3 on the server

2. USGS EarthExplorer & Landsat

The USGS EarthExplorer (earthexplorer.usgs.gov) hosts the complete Landsat archive plus many other datasets. Thelandsatxplore library provides programmatic access via the USGS M2M API.

Available Datasets

Landsat Collection 2

L1-L9, Level-1 & Level-2 (1972-present)

Sentinel-2

Mirror of Copernicus archive

ASTER

14-band VNIR/SWIR/TIR, 15-90 m

SRTM / NASADEM

Global DEM at 30 m / 1 arc-second

Searching Landsat with landsatxplore

USGS EarthExplorer Landsat Search Demo

Python
script.py76 lines

Click Run to execute the Python code

Code will be executed with Python 3 on the server

3. Google Earth Engine (GEE)

Google Earth Engine is a cloud-based geospatial analysis platform with a multi-petabyte catalog of satellite imagery and geospatial datasets. Processing runs on Google's infrastructure, eliminating the need to download data locally.

Key Advantages

  • β€’ Server-side computation: analyze terabytes without downloading
  • β€’ Massive catalog: Landsat, Sentinel, MODIS, ERA5, and 900+ datasets
  • β€’ Temporal compositing: easily create mosaics, time series, anomalies
  • β€’ Python API (ee) + JavaScript Code Editor + geemap for visualization
  • β€’ Free for research, education, and non-commercial use

NDVI Time Series with GEE Python API

Google Earth Engine NDVI Demo

Python
script.py75 lines

Click Run to execute the Python code

Code will be executed with Python 3 on the server

4. STAC API (SpatioTemporal Asset Catalog)

STAC is an open specification for describing geospatial data assets. It provides a unified, cloud-native interface for discovering and accessing satellite imagery across different providers.

STAC Concepts

Catalog

Top-level container linking to collections

Collection

Group of related items (e.g., Sentinel-2 L2A)

Item

Single spatiotemporal data entity (one scene)

Asset

Actual file (COG, NetCDF, etc.) linked to an item

Major STAC Endpoints

ProviderURLKey Data
Element 84earth-search.aws.element84.com/v1S2 L2A, Landsat C2, NAIP
Microsoft PCplanetarycomputer.microsoft.com/api/stac/v1S1, S2, Landsat, DEM, ERA5
CDSEcatalogue.dataspace.copernicus.eu/stacAll Sentinel data

Cloud-Native Workflow with pystac-client + odc-stac

STAC API Cloud-Native Data Access Demo

Python
script.py99 lines

Click Run to execute the Python code

Code will be executed with Python 3 on the server

Choosing the Right Data Access Method

MethodBest ForProsCons
CDSE / sentinelsatSentinel full scenesOfficial source, complete metadataRequires download, large files
USGS / landsatxploreLandsat, ASTER, DEM50+ year Landsat archiveDownload quotas, slower API
Google Earth EngineLarge-area analysis, time seriesNo downloads, massive computeProprietary API, export limits
STAC + COGCloud-native, custom pipelinesStandard API, partial readsRequires cloud compute for speed

Recommendation: Start with Google Earth Engine for exploration and prototyping. Move to STAC + cloud-native workflows for production pipelines. Use CDSE/USGS when you need the full original data products with complete metadata.

Common EO Data Formats

GeoTIFF / COG

Standard raster format. Cloud-Optimized GeoTIFFs (COGs) support partial reads via HTTP range requests.

NetCDF / HDF5

Multi-dimensional scientific data. Used by MODIS, ERA5, ocean products. Supports metadata and compression.

SAFE (Sentinel)

Standard Archive Format for Europe. ZIP containing GeoTIFF bands, metadata XML, and quality masks.

Zarr

Cloud-native chunked array format. Ideal for large time series on S3/GCS. Used in Analysis-Ready Data cubes.