Skip to main content

Catalog API Reference

API Reference (1.0.0)

Download OpenAPI specification:Download

This page contains the documentation on how to use sentinel hub services through API calls.

Note: This documentation is not complete

Core

This is an OpenAPI definition of the SpatioTemporal Asset Catalog API - Core specification. Any service that implements this endpoint to allow discovery of spatiotemporal assets can be considered a STAC API.

Make sure to use the appropriate end-point for each of the datasets, e.g. for Landsat, Sentinel-3, etc.

landing page

Returns the root STAC Catalog or STAC Collection that is the entry point for users to browse with STAC Browser or for search engines to crawl. This can either return a single STAC Collection or more commonly a STAC catalog.

The landing page provides links to the API definition (link relations service-desc and service-doc) and the STAC records such as collections/catalogs (link relation child) or items (link relation item).

Extensions may add additional links with new relation types.

Responses

Response samples

Content type
application/json
{}

information about specifications that this API conforms to

A list of all conformance classes specified in a standard that the server conforms to.

Responses

Collections

This is an OpenAPI definition of the SpatioTemporal Asset Catalog API - Collections specification. This is a subset of the STAC API - Features specification.

the feature collections in the dataset

A body of Feature Collections that belong or are used together with additional links. Request may not return the full set of metadata per Feature Collection.

Authorizations:
OAuth2

Responses

Response samples

Content type
application/json
{}

describe the feature collection with id `collectionId`

A single Feature Collection for the given if collectionId. Request this endpoint to get a full list of metadata for the Feature Collection.

Authorizations:
OAuth2
path Parameters
collectionId
required
string

local identifier of a collection

Responses

Response samples

Content type
application/json
{}

Get the JSON Schema defining the list of variable terms that can be used in CQL2 expressions.

This endpoint returns a list of variable terms that can be used in CQL2 expressions. The precise definition of this can be found in the OGC API - Features - Part 3: Filtering and the Common Query Language (CQL) specification.

Authorizations:
OAuth2
path Parameters
collectionId
required
string

ID of Collection

Responses

Response samples

Content type
application/schema+json
{}

Features

This is an OpenAPI definition of the SpatioTemporal Asset Catalog API - Features specification. This extends OGC API - Features - Part 1: Core.

fetch features

Fetch features of the feature collection with id collectionId.

Every feature in a dataset belongs to a collection. A dataset may consist of multiple feature collections. A feature collection is often a collection of features of a similar type, based on a common schema.

Authorizations:
OAuth2
path Parameters
collectionId
required
string

local identifier of a collection

query Parameters
limit
integer [ 1 .. 100 ]
Default: 10

The optional limit parameter recommends the number of items that should be present in the response document.

If the limit parameter value is greater than advertised limit maximum, the server must return the maximum possible number of items, rather than responding with an error.

Only items are counted that are on the first level of the collection in the response document. Nested objects contained within the explicitly requested items must not be counted.

Minimum = 1. Maximum = 100. Default = 10.

Array of numbers or Array of numbers

Only features that have a geometry that intersects the bounding box are selected. The bounding box is provided as four or six numbers, depending on whether the coordinate reference system includes a vertical axis (height or depth):

  • Lower left corner, coordinate axis 1
  • Lower left corner, coordinate axis 2
  • Minimum value, coordinate axis 3 (optional)
  • Upper right corner, coordinate axis 1
  • Upper right corner, coordinate axis 2
  • Maximum value, coordinate axis 3 (optional)

The coordinate reference system of the values is WGS 84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84).

For WGS 84 longitude/latitude the values are in most cases the sequence of minimum longitude, minimum latitude, maximum longitude and maximum latitude. However, in cases where the box spans the antimeridian the first value (west-most box edge) is larger than the third value (east-most box edge).

If the vertical axis is included, the third and the sixth number are the bottom and the top of the 3-dimensional bounding box.

If a feature has multiple spatial geometry properties, it is the decision of the server whether only a single spatial geometry property is used to determine the extent or all relevant geometries.

datetime
string

Either a date-time or an interval, open or closed. Date and time expressions adhere to RFC 3339. Open intervals are expressed using double-dots.

Examples:

  • A date-time: "2018-02-12T23:20:50Z"
  • A closed interval: "2018-02-12T00:00:00Z/2018-03-18T12:31:12Z"
  • Open intervals: "2018-02-12T00:00:00Z/.." or "../2018-03-18T12:31:12Z"

Only features that have a temporal property that intersects the value of datetime are selected.

If a feature has multiple temporal properties, it is the decision of the server whether only a single temporal property is used to determine the extent or all relevant temporal properties.

Responses

Response samples

Content type
application/geo+json
{}

fetch a single feature

Fetch the feature with id featureId in the feature collection with id collectionId.

Authorizations:
OAuth2
path Parameters
collectionId
required
string

local identifier of a collection

featureId
required
string

local identifier of a feature

Responses

Response samples

Content type
application/geo+json
{}

Search STAC items with simple filtering.

Retrieve Items matching filters. Intended as a shorthand API for simple queries.

This method is required to implement.

If this endpoint is implemented on a server, it is required to add a link referring to this endpoint with rel set to search to the links array in GET /. As GET is the default method, the method may not be set explicitly in the link.

Authorizations:
OAuth2
query Parameters
Array of numbers or Array of numbers
Example: bbox=13,45,14,46

Only features that have a geometry that intersects the bounding box are selected. The bounding box is provided as four or six numbers, depending on whether the coordinate reference system includes a vertical axis (height or depth):

  • Lower left corner, coordinate axis 1
  • Lower left corner, coordinate axis 2
  • Minimum value, coordinate axis 3 (optional)
  • Upper right corner, coordinate axis 1
  • Upper right corner, coordinate axis 2
  • Maximum value, coordinate axis 3 (optional)

The coordinate reference system of the values is WGS 84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84).

For WGS 84 longitude/latitude the values are in most cases the sequence of minimum longitude, minimum latitude, maximum longitude and maximum latitude. However, in cases where the box spans the antimeridian the first value (west-most box edge) is larger than the third value (east-most box edge).

If the vertical axis is included, the third and the sixth number are the bottom and the top of the 3-dimensional bounding box.

If a feature has multiple spatial geometry properties, it is the decision of the server whether only a single spatial geometry property is used to determine the extent or all relevant geometries.

Example: The bounding box of the New Zealand Exclusive Economic Zone in WGS 84 (from 160.6°E to 170°W and from 55.95°S to 25.89°S) would be represented in JSON as [160.6, -55.95, -170, -25.89] and in a query as bbox=160.6,-55.95,-170,-25.89.

pointGeoJSON (object) or multipointGeoJSON (object) or linestringGeoJSON (object) or multilinestringGeoJSON (object) or polygonGeoJSON (object) or multipolygonGeoJSON (object) or geometrycollectionGeoJSON (object) (geometryGeoJSON)

The optional intersects parameter filters the result Items in the same was as bbox, only with a GeoJSON Geometry rather than a bbox.

datetime
required
string
Example: datetime=2020-12-10T00:00:00Z/2020-12-30T00:00:00Z

Either a date-time or an interval, open or closed. Date and time expressions adhere to RFC 3339. Open intervals are expressed using double-dots.

Examples:

  • A date-time: "2018-02-12T23:20:50Z"
  • A closed interval: "2018-02-12T00:00:00Z/2018-03-18T12:31:12Z"
  • Open intervals: "2018-02-12T00:00:00Z/.." or "../2018-03-18T12:31:12Z"

Only features that have a temporal property that intersects the value of datetime are selected.

If a feature has multiple temporal properties, it is the decision of the server whether only a single temporal property is used to determine the extent or all relevant temporal properties.

limit
integer [ 1 .. 100 ]
Default: 10
Example: limit=1

The optional limit parameter recommends the number of items that should be present in the response document.

Only items are counted that are on the first level of the collection in the response document. Nested objects contained within the explicitly requested items must not be counted.

Minimum = 1. Maximum = 100. Default = 10.

ids
Array of strings (ids)

Array of Item ids to return.

collections
required
Array of strings (collectionsArray) = 1 items
Example: collections=sentinel-2-l2a

Array of Collection IDs to include in the search for items. Only Item objects in one of the provided collections will be searched

fields
string
Example: fields=id,type,-geometry,bbox,properties,-links,-assets

Extension: Fields

Determines the shape of the features in the response

filter
string (filter-cql2-text)
Example: filter=eo:cloud_cover>90

Extension: Filter

A CQL2 filter expression for filtering items.

distinct
string

Extension: Distinct

Return distinct values of specified property.

Responses

Response samples

Content type
application/geo+json
{}

Search STAC items with full-featured filtering.

Retrieve items matching filters. Intended as the standard, full-featured query API.

This method is optional to implement, but recommended.

If this endpoint is implemented on a server, it is required to add a link referring to this endpoint with rel set to search and method set to POST to the links array in GET /.

Authorizations:
OAuth2
Request Body schema: application/json
bbox
Array of numbers (CatalogBbox) [ 4 .. 6 ] items

Only features that have a geometry that intersects the bounding box are selected. The bounding box is provided as four or six numbers, depending on whether the coordinate reference system includes a vertical axis (elevation or depth):

  • Lower left corner, coordinate axis 1
  • Lower left corner, coordinate axis 2
  • Lower left corner, coordinate axis 3 (optional)
  • Upper right corner, coordinate axis 1
  • Upper right corner, coordinate axis 2
  • Upper right corner, coordinate axis 3 (optional)

The coordinate reference system of the values is WGS84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84).

For WGS84 longitude/latitude the values are in most cases the sequence of minimum longitude, minimum latitude, maximum longitude and maximum latitude. However, in cases where the box spans the antimeridian the first value (west-most box edge) is larger than the third value (east-most box edge).

If a feature has multiple spatial geometry properties, it is the decision of the server whether only a single spatial geometry property is used to determine the extent or all relevant geometries.

Example: The bounding box of the New Zealand Exclusive Economic Zone in WGS 84 (from 160.6°E to 170°W and from 55.95°S to 25.89°S) would be represented in JSON as [160.6, -55.95, -170, -25.89] and in a query as bbox=160.6,-55.95,-170,-25.89.

datetime
required
string (CatalogItemSearchDatetimeInterval)

Either a date-time or an interval, open or closed. Date and time expressions adhere to RFC 3339. Open intervals are expressed using double-dots.

Examples:

  • A date-time: "2018-02-12T23:20:50Z"
  • A closed interval: "2018-02-12T00:00:00Z/2018-03-18T12:31:12Z"
  • Open intervals: "2018-02-12T00:00:00Z/.." or "../2018-03-18T12:31:12Z"

Only features that have a temporal property that intersects the value of datetime are selected.

If a feature has multiple temporal properties, it is the decision of the server whether only a single temporal property is used to determine the extent or all relevant temporal properties.

geometryGeoJSON (object) or geometryGeoJSON (object) or geometryGeoJSON (object) or geometryGeoJSON (object) or geometryGeoJSON (object) or geometryGeoJSON (object) or geometryGeoJSON (object) (CatalogGeometryGeoJSON)
collections
required
Array of strings (CatalogItemSearchCollectionsArray) = 1 items

Array of Collection IDs to include in the search for items. Only Item objects in one of the provided collections will be searched.

ids
Array of strings (CatalogItemSearchIds)

Array of Item ids to return.

limit
integer (CatalogItemSearchLimit) [ 1 .. 100 ]

The optional limit parameter limits the number of items that are presented in the response document.

If the limit parameter value is greater than advertised limit maximum, the server must return the maximum possible number of items, rather than responding with an error.

Only items are counted that are on the first level of the collection in the response document. Nested objects contained within the explicitly requested items must not be counted.

Minimum = 1. Maximum = 100. Default = 10.

object (CatalogItemSearchFieldsFields)

The include and exclude members specify an array of property names that are either included or excluded from the result, respectively. If both include and exclude are specified, include takes precedence. Values should include the full JSON path of the property.

andExpression (object) or cql2NotExpression (object) or (comparisonPredicate (binaryComparisonPredicate (object) or isBetweenPredicate (object))) (CatalogItemSearchFilterFilterCql2Json)
filter-lang
string (CatalogItemSearchFilterFilterLang)
Enum: "cql2-text" "cql2-json"

The CQL2 filter encoding that the 'filter' value uses.

filter-crs
string <uri> (CatalogItemSearchFilterFilterCrs)

The coordinate reference system (CRS) used by spatial literals in the 'filter' value. The only value that STAC APIs must accept is 'http://www.opengis.net/def/crs/OGC/1.3/CRS84'.

distinct
string (CatalogItemSearchDistinctDistinct)

Return distinct values of specified property.

Responses

Request samples

Content type
application/json
{
  • "collections": {
    },
  • "bbox": {
    },
  • "datetime": "2020-12-10T00:00:00Z/2020-12-30T00:00:00Z",
  • "fields": {
    },
  • "filter": {
    },
  • "filter-lang": "cql2-json",
  • "limit": 1
}

Response samples

Content type
application/geo+json
{
  • "type": "FeatureCollection",
  • "features": {
    },
  • "links": {},
  • "context": {
    }
}