NAV Navigation
NodeJS Python

The SAT-API v0.2.0

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

Sat-api is a STAC compliant web API for searching and serving metadata for geospatial data (including but not limited to satellite imagery). Development Seed runs an instance of sat-api for the Landsat-8 and Sentinel-2 imagery that is hosted on AWS.

Base URLs:

Email: Development Seed Web: Development Seed License: MIT License

STAC

Extension to WFS3 Core to support STAC metadata model and search API

Return the root catalog or collection.

Code samples

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json'

};

fetch('https://sat-api.developmentseed.org/stac',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://sat-api.developmentseed.org/stac', params={

}, headers = headers)

print r.json()

GET /stac

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 that usually lists sub-catalogs of STAC Collections, i.e. a simple catalog that lists all collections available through the API.

Example responses

200 Response

{
  "stac_version": "0.6.0",
  "id": "naip",
  "title": "NAIP Imagery",
  "description": "Catalog of NAIP Imagery.",
  "links": [
    {
      "href": "http://www.geoserver.example/stac/naip/child/catalog.json",
      "rel": "child",
      "type": "application/json",
      "title": "NAIP Child Catalog"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK A catalog json definition. Used as an entry point for a crawler. catalogDefinition

Search STAC items by simple filtering.

Code samples

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/geo+json'

};

fetch('https://sat-api.developmentseed.org/stac/search',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

import requests
headers = {
  'Accept': 'application/geo+json'
}

r = requests.get('https://sat-api.developmentseed.org/stac/search', params={

}, headers = headers)

print r.json()

GET /stac/search

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

Parameters

Name In Type Required Description
bbox query array[number] false Only features that have a geometry that intersects the bounding box are
time query string false Either a date-time or a period string that adheres to RFC3339. Examples:
limit query integer false The optional limit parameter limits the number of items that are
query query string false query for properties in items. Use the JSON form of the queryFilter used in POST.
sort query sort false Allows sorting results by the specified properties
fields query fields false Determines the shape of the features in the response

Detailed descriptions

bbox: 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 bbox-crs.

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.

time: Either a date-time or a period string that adheres to RFC3339. Examples:

limit: 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.

Example responses

200 Response

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "id": "CS3-20160503_132130_04",
      "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:21:30.040Z"
      },
      "links": [
        {
          "rel": "self",
          "href": "http://https://sat-api.developmentseed.org/collections/landsat-8-l1/items/LC80100102015050LGN00.json"
        }
      ],
      "assets": {
        "analytic": {
          "title": "4-Band Analytic",
          "href": "http://cool-sat.com/LC80100102015050LGN00/band4.tiff",
          "type": "image/tiff"
        },
        "thumbnail": {
          "title": "Thumbnail",
          "href": "http://cool-sat.com/LC80100102015050LGN00/thumb.png",
          "type": "image/png"
        }
      }
    }
  ],
  "links": [
    {
      "rel": "next",
      "href": "http://sat-api.developmentseed.org/collections/landsat-8-l1/items/gasd312fsaeg"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK A feature collection. itemCollection
default Default An error occurred. exception

Code samples

const fetch = require('node-fetch');
const inputBody = '{
  "bbox": [
    -110,
    39.5,
    -105,
    40.5
  ],
  "time": "2018-02-12T00:00:00Z/2018-03-18T12:31:12Z",
  "intersects": null,
  "query": {
    "eo:cloud_cover": {
      "lt": 50
    }
  },
  "sort": [
    {
      "field": "eo:cloud_cover",
      "direction": "desc"
    }
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/geo+json'

};

fetch('https://sat-api.developmentseed.org/stac/search',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/geo+json'
}

r = requests.post('https://sat-api.developmentseed.org/stac/search', params={

}, headers = headers)

print r.json()

POST /stac/search

retrieve items matching filters. Intended as the standard, full-featured query API. This method is mandatory.

Body parameter

{
  "bbox": [
    -110,
    39.5,
    -105,
    40.5
  ],
  "time": "2018-02-12T00:00:00Z/2018-03-18T12:31:12Z",
  "intersects": null,
  "query": {
    "eo:cloud_cover": {
      "lt": 50
    }
  },
  "sort": [
    {
      "field": "eo:cloud_cover",
      "direction": "desc"
    }
  ]
}
Name In Type Required Description
body body searchBody false none

Example responses

200 Response

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "id": "CS3-20160503_132130_04",
      "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:21:30.040Z"
      },
      "links": [
        {
          "rel": "self",
          "href": "http://https://sat-api.developmentseed.org/collections/landsat-8-l1/items/LC80100102015050LGN00.json"
        }
      ],
      "assets": {
        "analytic": {
          "title": "4-Band Analytic",
          "href": "http://cool-sat.com/LC80100102015050LGN00/band4.tiff",
          "type": "image/tiff"
        },
        "thumbnail": {
          "title": "Thumbnail",
          "href": "http://cool-sat.com/LC80100102015050LGN00/thumb.png",
          "type": "image/png"
        }
      }
    }
  ],
  "links": [
    {
      "rel": "next",
      "href": "http://sat-api.developmentseed.org/collections/landsat-8-l1/items/gasd312fsaeg"
    }
  ]
}
Status Meaning Description Schema
200 OK A feature collection. string
default Default An error occurred. string

Capabilities

landing page of this API

Code samples

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json'

};

fetch('https://sat-api.developmentseed.org/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://sat-api.developmentseed.org/', params={

}, headers = headers)

print r.json()

GET /

The landing page provides links to the API definition, the Conformance statements and the metadata about the feature data in this dataset.

Example responses

200 Response

{
  "links": [
    {
      "href": "http://sat-api.developmentseed.org",
      "rel": "self",
      "type": "application/json",
      "title": "this document"
    },
    {
      "href": "http://sat-api.developmentseed.org/api",
      "rel": "service",
      "type": "application/json",
      "title": "this document"
    },
    {
      "href": "http://sat-api.developmentseed.org/collections",
      "rel": "data",
      "type": "application/json",
      "title": "Metadata about the feature collections"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK links to the API capabilities string

describe the feature collections in the dataset

Code samples

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json'

};

fetch('https://sat-api.developmentseed.org/collections',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://sat-api.developmentseed.org/collections', params={

}, headers = headers)

print r.json()

GET /collections

Example responses

200 Response

{
  "links": [
    {
      "href": "http://data.example.org/collections.json",
      "rel": "self",
      "type": "application/json",
      "title": "this document"
    },
    {
      "href": "http://data.example.org/collections.html",
      "rel": "alternate",
      "type": "text/html",
      "title": "this document as HTML"
    },
    {
      "href": "http://schemas.example.org/1.0/foobar.xsd",
      "rel": "describedBy",
      "type": "application/xml",
      "title": "XML schema for Acme Corporation data"
    }
  ],
  "collections": [
    {
      "name": "buildings",
      "title": "Buildings",
      "description": "Buildings in the city of Bonn.",
      "links": [
        {
          "href": "http://data.example.org/collections/buildings/items",
          "rel": "item",
          "type": "application/geo+json",
          "title": "Buildings"
        },
        {
          "href": "http://example.org/concepts/building.html",
          "rel": "describedBy",
          "type": "text/html",
          "title": "Feature catalogue for buildings"
        }
      ],
      "extent": {
        "crs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
        "spatial": [
          -180,
          -90,
          180,
          90
        ],
        "trs": "http://www.opengis.net/def/uom/ISO-8601/0/Gregorian",
        "temporal": [
          "2011-11-11T12:22:11Z",
          "2012-11-24T12:32:43Z"
        ]
      },
      "crs": [
        "http://www.opengis.net/def/crs/OGC/1.3/CRS84"
      ],
      "stac_version": "0.6.0",
      "id": "buildings",
      "keywords": [
        [
          "buildings",
          "properties",
          "constructions"
        ]
      ],
      "version": 1,
      "license": "Apache-2.0",
      "providers": [
        {
          "name": "Big Building Corp",
          "description": "No further processing applied.",
          "roles": [
            "producer",
            "licensor"
          ],
          "url": "http://www.big-building.com"
        }
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Metdata about the feature collections shared by this API. content

Schemas

exception

{
  "code": "string",
  "description": "string"
}

Properties

Name Type Required Restrictions Description
code string true none none
description string false none none

[
  {
    "href": "http://www.geoserver.example/stac/naip/child/catalog.json",
    "rel": "child",
    "type": "application/json",
    "title": "NAIP Child Catalog"
  }
]

Properties

Name Type Required Restrictions Description
anonymous [link] false none none

{
  "href": "http://www.geoserver.example/stac/naip/child/catalog.json",
  "rel": "child",
  "type": "application/json",
  "title": "NAIP Child Catalog"
}

Properties

Name Type Required Restrictions Description
href string(url) true none none
rel string true none none
type string false none none
title string false none none

searchBody

{
  "bbox": [
    -110,
    39.5,
    -105,
    40.5
  ],
  "time": "2018-02-12T00:00:00Z/2018-03-18T12:31:12Z",
  "intersects": null,
  "query": {
    "eo:cloud_cover": {
      "lt": 50
    }
  },
  "sort": [
    {
      "field": "eo:cloud_cover",
      "direction": "desc"
    }
  ]
}

The search criteria

Properties

allOf

Name Type Required Restrictions Description
anonymous bboxFilter false none Only return items that intersect the provided bounding box.

and

Name Type Required Restrictions Description
anonymous timeFilter false none An object representing a time based filter.

and

Name Type Required Restrictions Description
anonymous intersectsFilter false none Only returns items that intersect with the provided polygon.

and

Name Type Required Restrictions Description
anonymous queryFilter false none Allows users to query properties for specific values

and

Name Type Required Restrictions Description
anonymous sortFilter false none Sort the results

bbox

[
  -110,
  39.5,
  -105,
  40.5
]

*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 bbox-crs.

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. *

Properties

None

bboxFilter

{
  "bbox": [
    -110,
    39.5,
    -105,
    40.5
  ]
}

Only return items that intersect the provided bounding box.

Properties

Name Type Required Restrictions Description
bbox bbox false none 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) unless a different coordinate reference system is specified in the parameter bbox-crs. 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.

timeFilter

{
  "time": "2018-02-12T00:00:00Z/2018-03-18T12:31:12Z"
}

An object representing a time based filter.

Properties

Name Type Required Restrictions Description
time time false none Either a date-time or a period string that adheres to RFC 3339. Examples: * A date-time: "2018-02-12T23:20:50Z" * A period: "2018-02-12T00:00:00Z/2018-03-18T12:31:12Z" or "2018-02-12T00:00:00Z/P1M6DT12H31M12S" Only features that have a temporal property that intersects the value of time 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.

intersectsFilter

{
  "intersects": null
}

Only returns items that intersect with the provided polygon.

Properties

Name Type Required Restrictions Description
intersects http://geojson.org/schema/Geometry.json false none none

time

"2018-02-12T00:00:00Z/2018-03-18T12:31:12Z"

*Either a date-time or a period string that adheres to RFC 3339. Examples:

Properties

Name Type Required Restrictions Description
anonymous string false none Either a date-time or a period string that adheres to RFC 3339. Examples: * A date-time: "2018-02-12T23:20:50Z" * A period: "2018-02-12T00:00:00Z/2018-03-18T12:31:12Z" or "2018-02-12T00:00:00Z/P1M6DT12H31M12S" Only features that have a temporal property that intersects the value of time 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.

catalogDefinition

{
  "stac_version": "0.6.0",
  "id": "naip",
  "title": "NAIP Imagery",
  "description": "Catalog of NAIP Imagery.",
  "links": [
    {
      "href": "http://www.geoserver.example/stac/naip/child/catalog.json",
      "rel": "child",
      "type": "application/json",
      "title": "NAIP Child Catalog"
    }
  ]
}

Properties

Name Type Required Restrictions Description
stac_version string true none none
id string true none none
title string false none none
description string true none none
links links true none none

itemCollection

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "id": "CS3-20160503_132130_04",
      "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:21:30.040Z"
      },
      "links": [
        {
          "rel": "self",
          "href": "http://https://sat-api.developmentseed.org/collections/landsat-8-l1/items/LC80100102015050LGN00.json"
        }
      ],
      "assets": {
        "analytic": {
          "title": "4-Band Analytic",
          "href": "http://cool-sat.com/LC80100102015050LGN00/band4.tiff",
          "type": "image/tiff"
        },
        "thumbnail": {
          "title": "Thumbnail",
          "href": "http://cool-sat.com/LC80100102015050LGN00/thumb.png",
          "type": "image/png"
        }
      }
    }
  ],
  "links": [
    {
      "rel": "next",
      "href": "http://sat-api.developmentseed.org/collections/landsat-8-l1/items/gasd312fsaeg"
    }
  ]
}

Properties

Name Type Required Restrictions Description
type string true none none
features [item] true none none
links itemCollectionLinks false none An array of links. Can be used for pagination, e.g. by providing a link with the next relation type.

Enumerated Values

Property Value
type FeatureCollection

item

{
  "type": "Feature",
  "id": "CS3-20160503_132130_04",
  "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:21:30.040Z"
  },
  "links": [
    {
      "rel": "self",
      "href": "http://https://sat-api.developmentseed.org/collections/landsat-8-l1/items/LC80100102015050LGN00.json"
    }
  ],
  "assets": {
    "analytic": {
      "title": "4-Band Analytic",
      "href": "http://cool-sat.com/LC80100102015050LGN00/band4.tiff",
      "type": "image/tiff"
    },
    "thumbnail": {
      "title": "Thumbnail",
      "href": "http://cool-sat.com/LC80100102015050LGN00/thumb.png",
      "type": "image/png"
    }
  }
}

Properties

Name Type Required Restrictions Description
id itemId true none Provider identifier, a unique ID, potentially a link to a file.
bbox bbox true none 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) unless a different coordinate reference system is specified in the parameter bbox-crs. 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.
geometry http://geojson.org/schema/Geometry.json true none none
type itemType true none The GeoJSON type
properties itemProperties true none provides the core metatdata fields plus extensions
links links true none none
assets itemAssets true none none

itemId

"path/to/example.tif"

Provider identifier, a unique ID, potentially a link to a file.

Properties

Name Type Required Restrictions Description
anonymous string false none Provider identifier, a unique ID, potentially a link to a file.

itemType

"Feature"

The GeoJSON type

Properties

Name Type Required Restrictions Description
anonymous string false none The GeoJSON type

Enumerated Values

Property Value
anonymous Feature

itemAssets

{
  "property1": {
    "href": "http://cool-sat.com/LC80100102015050LGN00/thumb.png",
    "title": "Thumbnail",
    "type": "image/png"
  },
  "property2": {
    "href": "http://cool-sat.com/LC80100102015050LGN00/thumb.png",
    "title": "Thumbnail",
    "type": "image/png"
  }
}

Properties

Name Type Required Restrictions Description
additionalProperties object false none none
» href string(url) true none Link to the asset object
» title string false none Displayed title
» type string false none Media type of the asset

itemProperties

{
  "datetime": "2018-02-12T00:00:00Z/2018-03-18T12:31:12Z",
  "property1": null,
  "property2": null
}

provides the core metatdata fields plus extensions

Properties

Name Type Required Restrictions Description
additionalProperties any false none Any additional properties added in via extensions.
datetime time true none Either a date-time or a period string that adheres to RFC 3339. Examples: * A date-time: "2018-02-12T23:20:50Z" * A period: "2018-02-12T00:00:00Z/2018-03-18T12:31:12Z" or "2018-02-12T00:00:00Z/P1M6DT12H31M12S" Only features that have a temporal property that intersects the value of time 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.

[
  {
    "rel": "next",
    "href": "http://sat-api.developmentseed.org/collections/landsat-8-l1/items/gasd312fsaeg"
  }
]

An array of links. Can be used for pagination, e.g. by providing a link with the next relation type.

Properties

Name Type Required Restrictions Description
anonymous [link] false none An array of links. Can be used for pagination, e.g. by providing a link with the next relation type.

root

{
  "links": [
    {
      "href": "http://sat-api.developmentseed.org",
      "rel": "self",
      "type": "application/json",
      "title": "this document"
    },
    {
      "href": "http://sat-api.developmentseed.org/api",
      "rel": "service",
      "type": "application/json",
      "title": "this document"
    },
    {
      "href": "http://sat-api.developmentseed.org/collections",
      "rel": "data",
      "type": "application/json",
      "title": "Metadata about the feature collections"
    }
  ]
}

Properties

Name Type Required Restrictions Description
links [link] true none none

req-classes

{
  "conformsTo": [
    "http://www.opengis.net/spec/wfs-1/3.0/req/core",
    "http://www.opengis.net/spec/wfs-1/3.0/req/oas30",
    "http://www.opengis.net/spec/wfs-1/3.0/req/html",
    "http://www.opengis.net/spec/wfs-1/3.0/req/geojson"
  ]
}

Properties

Name Type Required Restrictions Description
conformsTo [string] true none none

content

{
  "links": [
    {
      "href": "http://data.example.org/collections.json",
      "rel": "self",
      "type": "application/json",
      "title": "this document"
    },
    {
      "href": "http://data.example.org/collections.html",
      "rel": "alternate",
      "type": "text/html",
      "title": "this document as HTML"
    },
    {
      "href": "http://schemas.example.org/1.0/foobar.xsd",
      "rel": "describedBy",
      "type": "application/xml",
      "title": "XML schema for Acme Corporation data"
    }
  ],
  "collections": [
    {
      "name": "buildings",
      "title": "Buildings",
      "description": "Buildings in the city of Bonn.",
      "links": [
        {
          "href": "http://data.example.org/collections/buildings/items",
          "rel": "item",
          "type": "application/geo+json",
          "title": "Buildings"
        },
        {
          "href": "http://example.org/concepts/building.html",
          "rel": "describedBy",
          "type": "text/html",
          "title": "Feature catalogue for buildings"
        }
      ],
      "extent": {
        "crs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
        "spatial": [
          -180,
          -90,
          180,
          90
        ],
        "trs": "http://www.opengis.net/def/uom/ISO-8601/0/Gregorian",
        "temporal": [
          "2011-11-11T12:22:11Z",
          "2012-11-24T12:32:43Z"
        ]
      },
      "crs": [
        "http://www.opengis.net/def/crs/OGC/1.3/CRS84"
      ],
      "stac_version": "0.6.0",
      "id": "buildings",
      "keywords": [
        [
          "buildings",
          "properties",
          "constructions"
        ]
      ],
      "version": 1,
      "license": "Apache-2.0",
      "providers": [
        {
          "name": "Big Building Corp",
          "description": "No further processing applied.",
          "roles": [
            "producer",
            "licensor"
          ],
          "url": "http://www.big-building.com"
        }
      ]
    }
  ]
}

Properties

Name Type Required Restrictions Description
links [link] true none none
collections [collectionInfo] true none none

collectionInfo

{
  "name": "buildings",
  "title": "Buildings",
  "description": "Buildings in the city of Bonn.",
  "links": [
    {
      "href": "http://data.example.org/collections/buildings/items",
      "rel": "item",
      "type": "application/geo+json",
      "title": "Buildings"
    },
    {
      "href": "http://example.org/concepts/building.html",
      "rel": "describedBy",
      "type": "text/html",
      "title": "Feature catalogue for buildings"
    }
  ],
  "extent": {
    "crs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
    "spatial": [
      -180,
      -90,
      180,
      90
    ],
    "trs": "http://www.opengis.net/def/uom/ISO-8601/0/Gregorian",
    "temporal": [
      "2011-11-11T12:22:11Z",
      "2012-11-24T12:32:43Z"
    ]
  },
  "crs": [
    "http://www.opengis.net/def/crs/OGC/1.3/CRS84"
  ],
  "stac_version": "0.6.0",
  "id": "buildings",
  "keywords": [
    [
      "buildings",
      "properties",
      "constructions"
    ]
  ],
  "version": 1,
  "license": "Apache-2.0",
  "providers": [
    {
      "name": "Big Building Corp",
      "description": "No further processing applied.",
      "roles": [
        "producer",
        "licensor"
      ],
      "url": "http://www.big-building.com"
    }
  ]
}

Properties

Name Type Required Restrictions Description
name string true none identifier of the collection used, for example, in URIs
title string false none human readable title of the collection
description string true none a description of the features in the collection
links [link] true none none
extent extent true none none
crs [string] false none The coordinate reference systems in which geometries may be retrieved. Coordinate reference systems are identified by a URI. The first coordinate reference system is the coordinate reference system that is used by default. This is always "http://www.opengis.net/def/crs/OGC/1.3/CRS84", i.e. WGS84 longitude/latitude.
stac_version string true none none
id string true none identifier of the collection used, for example, in URIs
keywords [string] false none none
version string false none none
license string true none none
providers [any] false none none
» name string false none none
» description string false none none
» roles [string] false none none
» url string(url) false none Homepage on which the provider describes the dataset and publishes contact information.

queryFilter

{
  "query": {
    "eo:cloud_cover": {
      "lt": 50
    }
  }
}

Allows users to query properties for specific values

Properties

Name Type Required Restrictions Description
query query false none Define which properties to query and the operatations to apply

query

{
  "eo:cloud_cover": {
    "lt": 50
  }
}

Define which properties to query and the operatations to apply

Properties

Name Type Required Restrictions Description
additionalProperties queryProp false none Apply query operations to a specific property

queryProp

null

Apply query operations to a specific property

Properties

anyOf

Name Type Required Restrictions Description
anonymous any false none if the object doesn't contain any of the operators, it is equivalent to using the equals operator

or

Name Type Required Restrictions Description
anonymous object false none Match using an operator
» eq any false none Find items with a property that is equal to the specified value. For strings, a case-insensitive comparison must be performed.
» gt number false none Find items with a property value greater than the specified value.
» lt number false none Find items with a property value less than the specified value.
» gte number false none Find items with a property value greater than or equal the specified value.
» lte number false none Find items with a property value greater than or equal the specified value.

sortFilter

{
  "sort": [
    {
      "field": "eo:cloud_cover",
      "direction": "desc"
    }
  ]
}

Sort the results

Properties

Name Type Required Restrictions Description
sort sort false none An array of objects containing a property name and sort direction.

sort

[
  {
    "field": "eo:cloud_cover",
    "direction": "desc"
  }
]

*An array of objects containing a property name and sort direction. *

Properties

Name Type Required Restrictions Description
field string true none none
direction string false none none

Enumerated Values

Property Value
direction asc
direction desc

extent

{
  "crs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
  "spatial": [
    -180,
    -90,
    180,
    90
  ],
  "trs": "http://www.opengis.net/def/uom/ISO-8601/0/Gregorian",
  "temporal": [
    "2011-11-11T12:22:11Z",
    "2012-11-24T12:32:43Z"
  ]
}

Properties

Name Type Required Restrictions Description
crs string false none Coordinate reference system of the coordinates in the spatial extent (property spatial). In the Core, only WGS84 longitude/latitude is supported. Extensions may support additional coordinate reference systems.
spatial [number] false none West, south, east, north edges of the spatial extent. The minimum and maximum values apply to the coordinate reference system WGS84 longitude/latitude that is supported in the Core. If, for example, a projected coordinate reference system is used, the minimum and maximum values need to be adjusted.
trs string false none Temporal reference system of the coordinates in the temporal extent (property temporal). In the Core, only the Gregorian calendar is supported. Extensions may support additional temporal reference systems.
temporal [string] false none Begin and end times of the temporal extent.

Enumerated Values

Property Value
crs http://www.opengis.net/def/crs/OGC/1.3/CRS84
trs http://www.opengis.net/def/uom/ISO-8601/0/Gregorian

fieldsFilter

{
  "fields": {
    "geometry": true,
    "include": [
      [
        "eo:cloud_cover"
      ]
    ],
    "exclude": [
      [
        "eo:sun_azimuth"
      ]
    ]
  }
}

Determines the shape of the features in the response

Properties

Name Type Required Restrictions Description
fields fields false none The geometry member determines whether the geometry is populated or is null. 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. id and links are required feature properties and cannot be excluded.

fields

{
  "geometry": true,
  "include": [
    [
      "eo:cloud_cover"
    ]
  ],
  "exclude": [
    [
      "eo:sun_azimuth"
    ]
  ]
}

*The geometry member determines whether the geometry is populated or is null. 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. id and links are required feature properties and cannot be excluded. *

Properties

Name Type Required Restrictions Description
geometry boolean false none none
include [string] false none none
exclude [string] false none none