TerraglassSTAC API

Products

From raw counts to indices

Every level is available, because someone always needs the one below the one you thought was enough.

Processing levels

LevelDescriptionFormatTypical size
L1CTop-of-atmosphere reflectance, orthorectifiedCOG, 12-bit780 MB
L2ASurface reflectance with cloud and shadow masksCOG, 12-bit812 MB
L2A-mosaicCloud-free monthly composite per tileCOG, 12-bit640 MB
IndicesNDVI, NDWI, NBR, EVI2 and 14 moreCOG, float3268 MB each
SAR GRDTerrain-corrected backscatter, γ⁰COG, float321.6 GB
SAR coherenceInterferometric coherence, 6/12-day pairsCOG, float322.1 GB

Derived on request

Time series extraction

Point or polygon, any index, any date range, returned as Parquet or CSV without you touching a raster.

Custom composites

Median, geometric median or best-pixel composites over any window, produced once and cached.

Change detection

Pairwise or trend-based change layers with the algorithm and thresholds recorded in the item metadata.

Reading a window without downloading a scene

window.py
import rasterio
from rasterio.windows import from_bounds

url = ('https://data.mirnl.13381338.xyz/s2/32/U/NB/'
       '2026/08/02/L2A/B08.tif')

with rasterio.open(url) as src:
    win = from_bounds(410000, 5650000, 412000, 5652000,
                      src.transform)
    nir = src.read(1, window=win)   # 4 MB moved, not 812

print(nir.shape, nir.mean())