# stac-api
[](https://github.com/stac-utils/stac-rs/actions/workflows/ci.yml)
[](https://docs.rs/stac-api/latest/stac_api/)
[](https://crates.io/crates/stac-api)

[](./CODE_OF_CONDUCT)
Rust implementation of the data structures that make up the [STAC API specification](https://github.com/radiantearth/stac-api-spec).
This is **not** a server implementation.
For a STAC API server written in Rust, check out [stac-server-rs](https://github.com/gadomski/stac-server-rs).
## Usage
To use the library in your project:
```toml
[dependencies]
stac-api = "0.3"
```
**stac-api** has one optional feature, `schemars`, which can be used to generate [jsonschema](https://json-schema.org/) documents for the API structures.
This is useful for auto-generating OpenAPI documentation:
```toml
[dependencies]
stac-api = { version = "0.3", features = ["schemars"] }
```
## Examples
```rust
use stac_api::{Root, Conformance, CORE_URI};
use stac::Catalog;
// Build the root (landing page) endpoint.
let root = Root {
catalog: Catalog::new("an-id", "a description"),
conformance: Conformance {
conforms_to: vec![CORE_URI.to_string()],
}
};
```
Please see the [documentation](https://docs.rs/stac-api) for more usage examples.