About

The SpatioTemporal Asset Catalog (STAC) specification provides a common language to describe a range of geospatial information, so it can more easily be indexed and discovered. A 'spatiotemporal asset' is any file that represents information about the earth captured in a certain space and time.

The goal is for all providers of spatiotemporal assets (Imagery, SAR, Point Clouds, Data Cubes, Full Motion Video, etc) to expose their data as SpatioTemporal Asset Catalogs (STAC), so that new code doesn't need to be written whenever a new data set or API is released.

Why does STAC Matter?

  • Data Providers

    STAC is a standardized way to expose collections of spatial temporal data. If you are a provider of data about the earth in need of a cataloging your holdings, STAC is driving a uniform means for indexing assets.

  • Developers

    If you are building infrastructure to host, ingest, or manage collections of spatial data, STAC’s core JSON is the bare minimum needed to describe geospatial assets, and is extensible to customize to your domain.

  • Data Users

    Users of spatial temporal data are often burdened with building unique pipelines for each different collection of data they consume. The STAC community has defined this specification to remove this complexity and spur common tooling.

STAC Specification

The STAC Specification consists of 4 semi-independent specifications. Each can be used alone, but they work best in concert with one another.

  • STAC Item is the core atomic unit, representing a single spatiotemporal asset as a GeoJSON feature plus datetime and links.
  • STAC Catalog is a simple, flexible JSON file of links that provides a structure for to organize and browse STAC Items. A series of best practices helps make recommendations for creating real world STAC Catalogs.
  • STAC Collection is an extension of the STAC Catalog with additional information such as the extents, license, keywords, providers, etc that describe STAC Items that fall within the Collection.
  • STAC API provides a RESTful endpoint that enables search of STAC Items, specified in OpenAPI, following OGC's WFS 3.

STAC in action

Several STAC Catalogs are live, including:

STAC is supported by an active community of developers, with involvement from a large range of organizations.

STAC Tools

A range of open-source tools help facilitate the use of the STAC spec, including:

  • STAC Browser is a Vue-based browser for STAC catalogs.
  • Cognition is a pluggable, STAC-compliant, proxy for searching geospatial assets.
  • STAC Validator is a python utility to validate STAC json files against the STAC spec or against local STAC extensions.
  • Serverless STAC Crawler is a static STAC crawler that runs on Lambda and SQS integration.
  • Sat-utils is a set of utilities for searching/processing satellite data, including:
    • Sat-api is a STAC compliant web API for searching and serving metadata for geospatial data.
    • Sat-search is a Python 3 library and a command line tool for discovering and downloading publicly available satellite imagery.
    • Sat-stac is a Python 3 library for creating and working with STAC catalogs.
    • Sat-stats is a Python 3 library for calculating zonal statistics on images being stored remotely on S3.
    • Sat-fetch is a Python 2/3 library and command line tool for fetching, warping, and clipping remote imagery datasets.

Get Involved!

There are a variety of ways to get involved with STAC, from building software, creating new STAC Catalogs, working on the spec, or helping in outreach. We strive to be fully open, collaborative and welcoming community. The button below will take you to our 'How To Help' page. You can also just jump in to one of our communication forums: