octopust is an idiomatic, high-performance Rust client for the Octopus Energy API.
Built for speed, safety, and ergonomics, it helps you interact with Octopus Energy's Kraken platform with ease. 🐙⚡
- Async/await support for high performance
- Strongly-typed request and response models using Serde
- Simple and extensible API client
- Covers core Octopus Energy endpoints (products, accounts, consumption and industry)
- Comprehensive error handling
- Well-documented and tested
octopust currently supports the following public Octopus Energy API endpoints:
- Products: List available electricity and gas products/tariffs.
- Tariffs & Rates: Retrieve tariff unit rates and standing charges.
- Consumption: Fetch electricity and gas consumption data by MPAN/MPRN.
- Industry Reference Data: Get grid supply points (GSPs).
use octopust::Client;
#[tokio::main]
async fn main() {
let client = Client::new("YOUR_API_KEY");
match client.list_products(ProductQuery {
..Default::default()
}).await {
Ok(products) => {
for product in products {
println!("{:?}", product);
}
}
Err(e) => eprintln!("Error: {:?}", e),
}
}
-
Add to your
Cargo.toml
:octopust = "0.4.0"
-
See the examples/ directory for more usage patterns.
Contributions are welcome! Please open issues or PRs for bug reports, feature requests, or documentation improvements.
MIT
octopust is not affiliated with Octopus Energy.
Logo and trademark rights belong to their respective owners.