API Reference & Specification

Hydrosat's STAC API is available at https://stac.hydrosat.com/. You'll need to sign in (authenticate) to access it.

SpatioTemporal Asset Catalog (STAC) API

This page includes high-level information on the basic features of the API and provides examples for a few methods of working with it.

For more details, please review the STAC API specifications provided at https://github.com/radiantearth/stac-api-spec.

STAC API Endpoints

Request
Description

GET /collections

Return list of available collections

GET /collections/{collection_id}

Return metadata for a single collection

GET /collections/{collection_id}/items

Return list of items in the specified collection

GET /collections/{collection_id}/items/{item_id}

Retrieve a specific item in a specific collection

POST /search

Search for items using filters (e.g., date, location)

STAC Catalog Structure

Hydrosat's STAC catalog is organized into four collections.

Collection Name

Description

vz-viri-l1a

Level-1A data from the visible and near-infrared sensor (VIRI)

vz-liri-l1a

Level-1A data from the longwave infrared sensor (LIRI)

vz-l1b

Level-1B data: VIRI & LIRI aligned and resampled to same resolution

vz-l2

Level-2 data: surface reflectance and surface temperature

Each collection contains a series of items representing individual scenes. Within each item, you will find metadata and links to associated imagery.

Simplified structure of Hydrosat's STAC catalog.

STAC Query Examples

pystac-client

We recommend using the pystac-client Python library. This library is specifically designed to interact with STAC catalogs and APIs. Complete documentation for this library can be found here. More examples with pystac are included in our full how-to guides.

import pystac
from pystac_client import Client

# Connect to the STAC catalog.
# See our page on authentication for how to set up your headers.
catalog = Client.open('https://stac.hydrosat.com/', headers=headers)

# Search for Level-2 data intersecting San Francisco from April 2025
search = catalog.search(
        collections = ['vz-l2'],
        bbox = [-123.173825, 37.63983, -122.28178, 37.929824],
        datetime = ["2025-04-01T00:00:00Z", "2025-05-01T00:00:00Z"]
    )

# Print a list of STAC items returned from the search    
items = list(search.items())

curl

The STAC server can also be queried directly from your terminal using curl. For example, you can use a POST request to perform a query, specifying the search parameters as JSON-formatted raw data. For more information, please see the curl docs.

curl -X POST \
--header 'Content-Type: application/json' \
--data '{
    "collections": ["vz-l2"],
    "bbox": [-123.173825, 37.63983, -122.28178, 37.929824],
    "datetime": "2025-04-01T00:00:00Z/2024-05-01T00:00:00Z"
}' \
https://stac.hydrosat.com/

QGIS

As of version 3.42.0, QGIS offers native STAC support through the Data Source Manager. This tool has similar capabilities to the existing QGIS STAC API plugin but is slightly easier to configure and use.

To work with Hydrosat's STAC API in QGIS, you will need to authenticate by sending your credentials in an authorization header. Please see our QGIS how-to guide for more details.

Last updated

Was this helpful?