gadomski / stac-api-backends

A comparison of STAC API backends

Repository from Github https://github.comgadomski/stac-api-backendsRepository from Github https://github.comgadomski/stac-api-backends

stac-api-backends

Comparing STAC API backends.

Feature pgstac elasticsearch stac-geoparquet1
Used at scale in production βœ… βœ… ❌
Docker image available 🐳 βœ… ❌ ❌
stac-fastapi (Python) implementation βœ… βœ…2 ❌
stac-server (Node.js) implementation ❌ βœ… ❌
Aggregation ❌ βœ… ❌
Performance πŸ€·β€β™‚οΈ3 πŸ€·β€β™‚οΈ πŸ€·β€β™‚οΈ

What does it mean to be "at scale"?

Most of the large commercial STAC APIs (Microsoft's Planetary Computer, AWS's Earth Search) don't publish user numbers, so it's hard to know how these backends hold up in terms of simultaneous users. In terms of data size, the last comprehensive crawl was done in 2022 by Tim Schaub at Planet. In that report, he found that the largest APIs had over 100M items. A quick check on 2024-11-26 of AWS Earth Search shows 104M items, though some of those may be duplicates due to ongoing Sentinel 2 reprocessing efforts.

Footnotes

  1. stac-geoparquet is untried as a backend for a STAC API, and we include it in this table so we can update as we learn more ↩

  2. Includes both elasticsearch and opensearch implementations. ↩

  3. pgstac performs best when doing an ordered search on an indexed field, such as datetime ↩

About

A comparison of STAC API backends

License:MIT License


Languages

Language:Python 100.0%