apca is a library for interacting with the Alpaca API at
alpaca.markets. The crate is entirely written in Rust and exposes a
fully async API based on the native async
/await
language feature.
The crate provides access to the majority of functionality provided by Alpaca, including, but not limited to:
For convenient command-line based access to the API, please use
apcacli
.
The following example illustrates how to create a Client
object and
then submit a limit order for AAPL
with a limit price of USD 100:
let api_info = ApiInfo::from_env().unwrap();
let client = Client::new(api_info);
let request = order::CreateReqInit {
type_: Type::Limit,
limit_price: Some(Num::from(100)),
..Default::default()
}
.init("AAPL", Side::Buy, order::Amount::quantity(1));
let order = client
.issue::<order::Create>(&request)
.await
.unwrap();
The returned order
object can subsequently be inspected to find out
details about the order (such as its ID). The full example is available
here.
Please refer to the full documentation for more details.