Download OpenAPI specification:Download
This is an OpenAPI definition of the core SpatioTemporal Asset Catalog API specification. Any service that implements this endpoint to allow search of spatiotemporal assets can be considered a STAC API. The endpoint is also available as an OpenAPI fragment that can be integrated with other OpenAPI definitions, and is designed to slot seamlessly into a OGC API - Features definition.
The landing page provides links to the API definition, the conformance statements and to the feature collections in this dataset.
{- "title": "Buildings in Bonn",
- "description": "Access to data about buildings in the city of Bonn via a Web API that conforms to the OGC API Features specification.",
- "links": [
- {
- "rel": "self",
- "type": "application/json",
- "title": "this document"
}, - {
- "rel": "service-desc",
- "type": "application/vnd.oai.openapi+json;version=3.0",
- "title": "the API definition"
}, - {
- "rel": "service-doc",
- "type": "text/html",
- "title": "the API documentation"
}, - {
- "rel": "conformance",
- "type": "application/json",
- "title": "OGC API conformance classes implemented by this server"
}, - {
- "rel": "data",
- "type": "application/json",
- "title": "Information about the feature collections"
}, - {
- "rel": "search",
- "type": "application/json",
- "title": "Search across feature collections"
}
], - "stac_version": "0.9.0",
- "id": "naip"
}
{- "links": [
- {
- "rel": "alternate",
- "type": "application/geo+json",
- "hreflang": "en",
- "title": "Trierer Strasse 70, 53115 Bonn",
- "length": 0,
- "method": "GET",
- "headers": {
- "Accept": "application/json"
}, - "body": { },
- "merge": false
}
], - "collections": [
- {
- "stac_version": "0.9.0",
- "stac_extensions": [ ],
- "id": "Sentinel-2",
- "title": "Sentinel-2 MSI: MultiSpectral Instrument, Level-1C",
- "description": "Sentinel-2 is a wide-swath, high-resolution, multi-spectral\nimaging mission...\n",
- "license": "proprietary",
- "keywords": [
- "copernicus",
- "esa",
- "eu",
- "msi",
- "radiance",
- "sentinel"
], - "providers": [
- {
- "name": "ESA",
- "roles": [
- "producer",
- "licensor"
],
}
], - "extent": {
- "spatial": {
- "bbox": [
- [
- -180,
- -56,
- 180,
- 83
]
]
}, - "temporal": {
- "interval": [
- [
- "2015-06-23T00:00:00Z",
- "2019-07-10T13:44:56Z"
]
]
}
}, - "summaries": {
- "datetime": {
- "min": "2015-06-23T00:00:00Z",
- "max": "2019-07-10T13:44:56Z"
}, - "sci:citation": [
- "Copernicus Sentinel data [Year]"
], - "eo:gsd": [
- 10,
- 30,
- 60
], - "platform": [
- "sentinel-2a",
- "sentinel-2b"
], - "constellation": [
- "sentinel-2"
], - "instruments": [
- "msi"
], - "view:off_nadir": {
- "min": 0,
- "max": 100
}, - "view:sun_elevation": {
- "min": 6.78,
- "max": 89.9
}, - "eo:bands": [
- [
- {
- "name": "B1",
- "common_name": "coastal",
- "center_wavelength": 4.439
}, - {
- "name": "B2",
- "common_name": "blue",
- "center_wavelength": 4.966
}, - {
- "name": "B3",
- "common_name": "green",
- "center_wavelength": 5.6
}, - {
- "name": "B4",
- "common_name": "red",
- "center_wavelength": 6.645
}, - {
- "name": "B5",
- "center_wavelength": 7.039
}, - {
- "name": "B6",
- "center_wavelength": 7.402
}, - {
- "name": "B7",
- "center_wavelength": 7.825
}, - {
- "name": "B8",
- "common_name": "nir",
- "center_wavelength": 8.351
}, - {
- "name": "B8A",
- "center_wavelength": 8.648
}, - {
- "name": "B9",
- "center_wavelength": 9.45
}, - {
- "name": "B10",
- "center_wavelength": 1.3735
}, - {
- "name": "B11",
- "common_name": "swir16",
- "center_wavelength": 1.6137
}, - {
- "name": "B12",
- "common_name": "swir22",
- "center_wavelength": 2.2024
}
]
]
}, - "links": [
- {
- "rel": "license",
- "title": "Legal notice on the use of Copernicus Sentinel Data and Service Information"
}
]
}
]
}
collectionId required | string local identifier of a collection |
{- "stac_version": "0.9.0",
- "stac_extensions": [ ],
- "id": "Sentinel-2",
- "title": "Sentinel-2 MSI: MultiSpectral Instrument, Level-1C",
- "description": "Sentinel-2 is a wide-swath, high-resolution, multi-spectral\nimaging mission...\n",
- "license": "proprietary",
- "keywords": [
- "copernicus",
- "esa",
- "eu",
- "msi",
- "radiance",
- "sentinel"
], - "providers": [
- {
- "name": "ESA",
- "roles": [
- "producer",
- "licensor"
],
}
], - "extent": {
- "spatial": {
- "bbox": [
- [
- -180,
- -56,
- 180,
- 83
]
]
}, - "temporal": {
- "interval": [
- [
- "2015-06-23T00:00:00Z",
- "2019-07-10T13:44:56Z"
]
]
}
}, - "summaries": {
- "datetime": {
- "min": "2015-06-23T00:00:00Z",
- "max": "2019-07-10T13:44:56Z"
}, - "sci:citation": [
- "Copernicus Sentinel data [Year]"
], - "eo:gsd": [
- 10,
- 30,
- 60
], - "platform": [
- "sentinel-2a",
- "sentinel-2b"
], - "constellation": [
- "sentinel-2"
], - "instruments": [
- "msi"
], - "view:off_nadir": {
- "min": 0,
- "max": 100
}, - "view:sun_elevation": {
- "min": 6.78,
- "max": 89.9
}, - "eo:bands": [
- [
- {
- "name": "B1",
- "common_name": "coastal",
- "center_wavelength": 4.439
}, - {
- "name": "B2",
- "common_name": "blue",
- "center_wavelength": 4.966
}, - {
- "name": "B3",
- "common_name": "green",
- "center_wavelength": 5.6
}, - {
- "name": "B4",
- "common_name": "red",
- "center_wavelength": 6.645
}, - {
- "name": "B5",
- "center_wavelength": 7.039
}, - {
- "name": "B6",
- "center_wavelength": 7.402
}, - {
- "name": "B7",
- "center_wavelength": 7.825
}, - {
- "name": "B8",
- "common_name": "nir",
- "center_wavelength": 8.351
}, - {
- "name": "B8A",
- "center_wavelength": 8.648
}, - {
- "name": "B9",
- "center_wavelength": 9.45
}, - {
- "name": "B10",
- "center_wavelength": 1.3735
}, - {
- "name": "B11",
- "common_name": "swir16",
- "center_wavelength": 1.6137
}, - {
- "name": "B12",
- "common_name": "swir22",
- "center_wavelength": 2.2024
}
]
]
}, - "links": [
- {
- "rel": "license",
- "title": "Legal notice on the use of Copernicus Sentinel Data and Service Information"
}
]
}
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.
Use content negotiation to request HTML or GeoJSON.
collectionId required | string local identifier of a collection |
limit | integer [ 1 .. 10000 ] Default: 10 The optional limit parameter limits the number of items that are presented 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 shall not be counted. Minimum = 1. Maximum = 10000. Default = 10. |
bbox | Array of numbers [ 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 (height or depth):
The coordinate reference system of the values is WGS 84 longitude/latitude
(http://www.opengis.net/def/crs/OGC/1.3/CRS84) unless a different coordinate
reference system is specified in the parameter 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:
Only features that have a temporal property that intersects the value of
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. |
{- "type": "FeatureCollection",
- "features": [
- {
- "type": "Feature",
- "geometry": {
- "type": "Point",
- "coordinates": [
- 0,
- 0
]
}, - "properties": { },
- "id": "string",
- "links": [
- {
- "rel": "alternate",
- "type": "application/geo+json",
- "hreflang": "en",
- "title": "Trierer Strasse 70, 53115 Bonn",
- "length": 0,
- "method": "GET",
- "headers": {
- "Accept": "application/json"
}, - "body": { },
- "merge": false
}
]
}
], - "links": [
- {
- "rel": "alternate",
- "type": "application/geo+json",
- "hreflang": "en",
- "title": "Trierer Strasse 70, 53115 Bonn",
- "length": 0,
- "method": "GET",
- "headers": {
- "Accept": "application/json"
}, - "body": { },
- "merge": false
}
], - "timeStamp": "2017-08-17T08:05:32Z",
- "numberMatched": 127,
- "numberReturned": 10
}
Fetch the feature with id featureId
in the feature collection
with id collectionId
.
Use content negotiation to request HTML or GeoJSON.
collectionId required | string local identifier of a collection |
featureId required | string local identifier of a feature |
{- "type": "Feature",
- "geometry": {
- "type": "Point",
- "coordinates": [
- 0,
- 0
]
}, - "properties": { },
- "id": "string",
- "links": [
- {
- "rel": "alternate",
- "type": "application/geo+json",
- "hreflang": "en",
- "title": "Trierer Strasse 70, 53115 Bonn",
- "length": 0,
- "method": "GET",
- "headers": {
- "Accept": "application/json"
}, - "body": { },
- "merge": false
}
]
}
Retrieve Items matching filters. Intended as a shorthand API for simple queries.
This method is optional, but you MUST implement POST /search
if you
want to implement this method.
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.
bbox | Array of numbers [ 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 (height or depth):
The coordinate reference system of the values is WGS 84 longitude/latitude
(http://www.opengis.net/def/crs/OGC/1.3/CRS84) unless a different coordinate
reference system is specified in the parameter 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:
Only features that have a temporal property that intersects the value of
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 .. 10000 ] Default: 10 The optional limit parameter limits the number of items that are presented 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 shall not be counted. Minimum = 1. Maximum = 10000. Default = 10. |
ids | Array of strings (ids) Array of Item ids to return. All other filter parameters that further restrict the number of search results are ignored |
collections | Array of strings (collectionsArray) Array of Collection IDs to include in the search for items. Only Items in one of the provided Collections will be searched |
{- "type": "FeatureCollection",
- "features": [
- {
- "stac_version": "0.9.0",
- "type": "Feature",
- "id": "CS3-20160503_132131_05",
- "bbox": [
- -122.59750209,
- 37.48803556,
- -122.2880486,
- 37.613537207
], - "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [
- -122.308150179,
- 37.488035566
], - [
- -122.597502109,
- 37.538869539
], - [
- -122.576687533,
- 37.613537207
], - [
- -122.2880486,
- 37.562818007
], - [
- -122.308150179,
- 37.488035566
]
]
]
}, - "properties": {
- "datetime": "2016-05-03T13:22:30.040Z",
- "title": "A CS3 item",
- "license": "PDDL-1.0",
- "view:sun_azimuth": 168.7,
- "eo:cloud_cover": 0.12,
- "view:off_nadir": 1.4,
- "platform": "coolsat2",
- "instruments": [
- "cool_sensor_v1"
], - "eo:bands": [ ],
- "view:sun_elevation": 33.4,
- "eo:gsd": 0.512
}, - "collection": "CS3",
- "links": [
], - "assets": {
- "analytic": {
- "title": "4-Band Analytic"
}, - "thumbnail": {
- "title": "Thumbnail"
}
}
}
], - "links": [
- {
- "rel": "next",
}
]
}
retrieve items matching filters. Intended as the standard, full-featured query API.
This method is mandatory to implement if GET /search
is implemented.
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 /
.
bbox | Array of numbers (bbox) [ 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):
The coordinate reference system of the values is WGS84
longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84) unless
a different coordinate reference system is specified in the parameter
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 |
datetime | string (datetime) 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:
Only features that have a temporal property that intersects the value of
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. |
GeoJSON Point (object) or GeoJSON LineString (object) or GeoJSON Polygon (object) or GeoJSON MultiPoint (object) or GeoJSON MultiLineString (object) or GeoJSON MultiPolygon (object) (GeoJSON Geometry) | |
collections | Array of strings (collectionsArray) Array of Collection IDs to include in the search for items. Only Items in one of the provided Collections will be searched. |
ids | Array of strings (ids) Array of Item ids to return. All other filter parameters that further restrict the number of search results are ignored |
limit | integer (limit) [ 1 .. 10000 ] Default: 10 The maximum number of results to return (page size). Defaults to 10 |
{- "bbox": [
- -110,
- 39.5,
- -105,
- 40.5
], - "datetime": "2018-02-12T00:00:00Z/2018-03-18T12:31:12Z",
- "intersects": {
- "type": "Point",
- "coordinates": [
- 0,
- 0
], - "bbox": [
- 0,
- 0,
- 0,
- 0
]
}, - "collections": [
- "string"
], - "ids": [
- "string"
], - "limit": 10
}
{- "type": "FeatureCollection",
- "features": [
- {
- "stac_version": "0.9.0",
- "type": "Feature",
- "id": "CS3-20160503_132131_05",
- "bbox": [
- -122.59750209,
- 37.48803556,
- -122.2880486,
- 37.613537207
], - "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [
- -122.308150179,
- 37.488035566
], - [
- -122.597502109,
- 37.538869539
], - [
- -122.576687533,
- 37.613537207
], - [
- -122.2880486,
- 37.562818007
], - [
- -122.308150179,
- 37.488035566
]
]
]
}, - "properties": {
- "datetime": "2016-05-03T13:22:30.040Z",
- "title": "A CS3 item",
- "license": "PDDL-1.0",
- "view:sun_azimuth": 168.7,
- "eo:cloud_cover": 0.12,
- "view:off_nadir": 1.4,
- "platform": "coolsat2",
- "instruments": [
- "cool_sensor_v1"
], - "eo:bands": [ ],
- "view:sun_elevation": 33.4,
- "eo:gsd": 0.512
}, - "collection": "CS3",
- "links": [
], - "assets": {
- "analytic": {
- "title": "4-Band Analytic"
}, - "thumbnail": {
- "title": "Thumbnail"
}
}
}
], - "links": [
- {
- "rel": "next",
}
]
}