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
PythonClick 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
PythonClick 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
PythonClick 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
| Provider | URL | Key Data |
|---|---|---|
| Element 84 | earth-search.aws.element84.com/v1 | S2 L2A, Landsat C2, NAIP |
| Microsoft PC | planetarycomputer.microsoft.com/api/stac/v1 | S1, S2, Landsat, DEM, ERA5 |
| CDSE | catalogue.dataspace.copernicus.eu/stac | All Sentinel data |
Cloud-Native Workflow with pystac-client + odc-stac
STAC API Cloud-Native Data Access Demo
PythonClick Run to execute the Python code
Code will be executed with Python 3 on the server
Choosing the Right Data Access Method
| Method | Best For | Pros | Cons |
|---|---|---|---|
| CDSE / sentinelsat | Sentinel full scenes | Official source, complete metadata | Requires download, large files |
| USGS / landsatxplore | Landsat, ASTER, DEM | 50+ year Landsat archive | Download quotas, slower API |
| Google Earth Engine | Large-area analysis, time series | No downloads, massive compute | Proprietary API, export limits |
| STAC + COG | Cloud-native, custom pipelines | Standard API, partial reads | Requires 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.