pystac-client
Python library for searching SpatioTemporal Asset Catalog (STAC) APIs.
What it is and what it does
PySTAC Client wraps the STAC specification into a Python API, letting you connect to remote STAC catalogs and search for geospatial assets (satellite imagery, raster data, etc.) by spatial bounds, time range, or collection. It sits on top of pystac (which handles local catalog structure) and requests (for HTTP communication), providing a higher-level interface for discovering and accessing spatiotemporal data from services that publish their holdings via the STAC standard.
The library is intended for developers building geospatial applications, data pipelines, or analysis workflows that need to query multiple imagery sources or catalogs programmatically. It handles the API protocol details so you can focus on filtering and retrieving the assets you need.
Use it for:
- Search a remote STAC API for satellite imagery over a specific geographic region and time period.
- Build a data pipeline that automatically discovers and downloads raster datasets from multiple STAC-compliant catalogs.
- Query a STAC catalog to find available collections and inspect their metadata before fetching data.
- Integrate STAC discovery into a geospatial analysis application to let users search for imagery on demand.
- Programmatically retrieve asset URLs and metadata from STAC search results for batch processing.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
PySTAC Client is a Python library for querying and working with SpatioTemporal Asset Catalog (STAC) APIs, enabling programmatic search and retrieval of geospatial imagery and raster data.
Yes. PySTAC Client is actively maintained, has low install friction, carries no known vulnerabilities, and is the standard Python tool for querying STAC APIs. Install it if you need to search or access geospatial imagery from STAC-compliant services. The Apache-2.0 license is permissive for commercial use.
Install
pystac-client on PyPI
pip
pip install pystac-clientuv
uv add pystac-clientpoetry
poetry add pystac-clientInstalling pystac-client
Before you install
Low friction installation with only three direct dependencies (requests, pystac, python-dateutil). The package is actively maintained with recent commits and supports current Python versions (3.10, 3.11, 3.12).
License in practice
Licensed under Apache-2.0 (permissive), allowing use in commercial and proprietary projects with minimal restrictions beyond attribution and liability disclaimers.
Quickstart
pip install pystac-client
import pystac_client
# Search a STAC API for items
catalog = pystac_client.Client.open('https://example.com/stac')
items = catalog.search(collections=['collection-id']).get_all_items()
Requires Python 3.10 or later; a working STAC API endpoint URL is needed to perform searches.
Verify before relying
- Whether the package handles authentication for protected STAC APIs or requires external credential management.
- Performance characteristics when working with large result sets or paginated responses from STAC endpoints.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — requests, pystac, python-dateutil |
| Maintenance | actively maintained — 392 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 573,861/month — #5,943 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pystac_client-0.9.0-py3-none-any.whl
Keywords: pystac, imagery, raster, catalog, STAC
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
owslibOWSLib provides Python client access to Open…
permissive · top 15,000 on PyPI
planetary-computerSigns Azure Blob Storage URLs and STAC objects…
permissive · top 15,000 on PyPI
pystacPySTAC is a Python library for reading,…
permissive · top 5,000 on PyPI
pystac-corePySTAC Core provides the foundational API for…
permissive · top 5,000 on PyPI
odc-stacConverts STAC (SpatialTemporal Asset Catalog)…
unclear · top 15,000 on PyPI
pypgstacpypgstac provides Python bindings and utilities…
permissive · top 15,000 on PyPI
stactools-met-office-deterministicGenerates STAC (SpatioTemporal Asset Catalog)…
permissive · top 5,000 on PyPI
pystac-ext-rasterExtends PySTAC with the Raster Extension…
permissive · top 5,000 on PyPI
pystac-ext-viewExtends PySTAC with the View Geometry…
permissive · top 5,000 on PyPI
stac-fastapi-extensionsProvides FastAPI extensions for the STAC API…
permissive · top 15,000 on PyPI