openEO EO Data Discovery API

These endpoints allow to list the collections that are available at the back-end and can be used as data cubes for data processing. ## STAC For data discovery of Earth Observation Collections at the back-ends, openEO strives for compatibility with the specifications [SpatioTemporal Asset Catalog (STAC)](https://stacspec.org/) and [OGC API - Features - Part 1: Core](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) as far as possible. Implementing the data discovery endpoints of openEO also produces valid STAC API 1.x and OGC API - Features 1.x responses, including ([partial](#provide-data-for-download)) compatibility with their APIs. The data discovery endpoints `GET /collections` and `GET /collections/{collection_id}` are compatible with OGC API - Features and STAC. Both specifications define additional endpoints that need to be implemented to be fully compatible. The additional endpoints can easily be integrated into an openEO API implementation. A rough list of actions for compatibility is available below, but please refer to their specifications to find out the full details. **Important:** [STAC specification](https://github.com/radiantearth/stac-spec) and [STAC API](https://github.com/radiantearth/stac-api-spec) are different specifications and have different version numbers. The openEO API allows for the - STAC versions 1.x.x (RECOMMENDED) and 0.9.x (DEPRECATED), and - STAC API versions 1.x.x (RECOMMENDED) and 0.9.x (DEPRECATED). ### Content Extensions STAC has several [extensions](https://stac-extensions.github.io) that can be used to better describe your data. Clients and server are not required to implement all of them, so be aware that some clients may not be able to read all your metadata. Some commonly used extensions that are relevant for datasets exposed through the openEO API are: - [Classification extension](https://github.com/stac-extensions/classification) - [Data Cube extension](https://github.com/stac-extensions/datacube) (part of the openEO API) - [EO (Electro-Optical) extension](https://github.com/stac-extensions/eo) - [Processing extension](https://github.com/stac-extensions/processing) - [Projection extension](https://github.com/stac-extensions/projection) - [Raster extension](https://github.com/stac-extensions/raster) - [SAR extension](https://github.com/stac-extensions/sar) - [Satellite extension](https://github.com/stac-extensions/sat) - [Scientific Citation extension](https://github.com/stac-extensions/scientific) ### Provide data for download If you'd like to provide your data for download in addition to offering the cloud processing service, you can implement the full STAC API. Therefore, you can implement the endpoints `GET /collections/{collection_id}/items` and `GET /collections/{collection_id}/items/{feature_id}` to support retrieval of individual items. To benefit from the STAC ecosystem and allow searching for items you can also implement `POST /search` and `GET /search`. Further information can be found in the [STAC API repository](https://github.com/radiantearth/stac-api-spec). ### API Extensions STAC API has several [extensions](https://stac-api-extensions.github.io) that can be implemented on top of the openEO API to enrich the API functionality, e.g. for searching.

Operations 3

GET /collections Basic metadata for all datasets #
GET /collections/{collection_id} Full metadata for a specific dataset #
GET /collections/{collection_id}/queryables Metadata filters for a specific dataset #

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/openeo/refs/heads/main/json-schema/openeo-collection-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/openeo/refs/heads/main/json-schema/openeo-batch-job-result-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/openeo/refs/heads/main/json-schema/openeo-batch-job-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/openeo/refs/heads/main/json-schema/openeo-json-schema-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/openeo/refs/heads/main/json-schema/openeo-process-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/openeo/refs/heads/main/json-schema/openeo-resource-parameter-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/openeo/refs/heads/main/json-schema/openeo-workspace-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/openeo/refs/heads/main/json-schema/openeo-create-workspace-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/openeo/refs/heads/main/json-schema/openeo-register-workspace-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/openeo/refs/heads/main/json-schema/openeo-workspace-description-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/openeo/refs/heads/main/json-schema/openeo-workspace-id-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/openeo/refs/heads/main/json-schema/openeo-workspace-title-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/openeo/refs/heads/main/json-schema/openeo-order-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/openeo/refs/heads/main/json-schema/openeo-order-parameters-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/openeo/refs/heads/main/json-schema/openeo-order-id-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/openeo/refs/heads/main/json-schema/openeo-processing-create-parameters-schema.json

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/openeo:openeo-eo-data-discovery-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

openeo-eo-data-discovery-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Openeo EO Data Discovery API
  version: 1.3.0
  contact:
    name: openEO Project Steering Committee
    url: https://openeo.org
    email: openeo.psc@uni-muenster.de
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  description: 'Operations tagged EO Data Discovery across 2 of this provider''s published API definitions: openeo-api-openapi.yaml, openeo-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://openeo.example/api/{version}
  description: The URL of the API MAY freely be chosen by the back-end providers. The path, including API versioning, is a *recommendation* only. Nevertheless, all servers MUST support HTTPS as the authentication methods are not secure with HTTP only!
  variables:
    version:
      default: v1
      description: 'API versioning is RECOMMENDED. As the openEO API is following

        [SemVer](https://semver.org/) only the **major** part of the version

        numbers SHOULD be used for API versioning in the URL. To make clear

        that it is a version number, it is RECOMMENDED to add the prefix `v`.


        Example: API version `1.2.3` is recommended to use `v1`.


        The reason to only consider the major part is that backward-incompatible

        changes are introduced by major changes only. All changes from minor

        and patch releases can usually be integrated without breakages and thus

        a change in the URL is not really needed.


        The version number in the URL MUST not be used by the clients to detect

        the version number of the API. Use the version number returned in the

        property `api_version` from `GET /` instead.'
tags:


# --- truncated at 32 KB (53 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/openeo/refs/heads/main/openapi/openeo-eo-data-discovery-api-openapi.yml