| Crates.io | akahu-client |
| lib.rs | akahu-client |
| version | 0.1.1 |
| created_at | 2026-01-06 01:24:21.378627+00 |
| updated_at | 2026-01-17 19:48:44.986162+00 |
| description | A non-official Rust client library for the Akahu API, providing access to financial data aggregation services in New Zealand |
| homepage | https://github.com/josiahbull/akahu-client |
| repository | https://github.com/josiahbull/akahu-client |
| max_upload_size | |
| id | 2024903 |
| size | 225,677 |
A non-offical Rust client library for the Akahu API, providing access to financial data aggregation services in New Zealand.
Add this to your Cargo.toml:
[dependencies]
akahu-client = "0.1.0"
use akahu_client::{AkahuClient, UserToken};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
// Create a client with your app token
let client = AkahuClient::new(
reqwest::Client::new(),
"app_token_...".to_string(),
None
);
// Create a user token from OAuth flow
let user_token = UserToken::new("user_token_...".to_string());
// Fetch accounts
let accounts = client.get_accounts(&user_token).await?;
for account in accounts.items {
println!("{}: {} - {:.2}",
account.name,
account.kind,
account.balance.current
);
}
Ok(())
}
Note that I only use this in a very limited context, mostly for accounts/transactions. If you need APIs that I haven't tested please validate them yourself and open issues/PRs for any problems that you encounter.
Some APIs I have not bothered to port over - but I would welcome PRs or requests.
Licensed under either of:
at your option.
Contributions are welcome! Please feel free to submit a Pull Request.