Alpa.Crypto.MarketData (AlpaEx v1.0.3)
View SourceCryptocurrency market data from the Alpaca Crypto Market Data API v1beta3.
Provides access to crypto bars, quotes, trades, snapshots, and orderbooks.
All endpoints use the data.alpaca.markets/v1beta3/crypto/{loc}/ base path,
where {loc} defaults to "us".
Options
All functions accept an :loc option to specify the location (default: "us").
Summary
Functions
Get historical bars for a crypto symbol.
Get historical bars for a crypto symbol (raw response).
Get orderbooks for one or more crypto symbols.
Get historical quotes for a crypto symbol (raw response).
Get snapshots for one or more crypto symbols (raw response).
Get historical trades for a crypto symbol (raw response).
Get latest bars for a crypto symbol.
Get latest quotes for a crypto symbol.
Get latest trades for a crypto symbol.
Get historical quotes for a crypto symbol.
Get snapshots for one or more crypto symbols.
Get historical trades for a crypto symbol.
Functions
@spec bars( String.t(), keyword() ) :: {:ok, [Alpa.Models.Bar.t()]} | {:error, Alpa.Error.t()}
Get historical bars for a crypto symbol.
Returns parsed Alpa.Models.Bar structs.
Required Parameters
symbol- Crypto symbol (e.g., "BTC/USD")
Options
:timeframe- Bar timeframe: "1Min", "5Min", "15Min", "30Min", "1Hour", "4Hour", "1Day", "1Week", "1Month":start- Start time (DateTime or ISO 8601 string):end- End time (DateTime or ISO 8601 string):limit- Max bars to return (default 1000, max 10000):page_token- Pagination token:loc- Location (default: "us")
Examples
iex> Alpa.Crypto.MarketData.bars("BTC/USD", timeframe: "1Day", limit: 10)
{:ok, [%Alpa.Models.Bar{symbol: "BTC/USD", ...}]}
@spec get_bars( String.t(), keyword() ) :: {:ok, map()} | {:error, Alpa.Error.t()}
Get historical bars for a crypto symbol (raw response).
Examples
iex> Alpa.Crypto.MarketData.get_bars("BTC/USD", timeframe: "1Day", limit: 10)
{:ok, %{"bars" => ...}}
@spec get_orderbook( String.t() | [String.t()], keyword() ) :: {:ok, map()} | {:error, Alpa.Error.t()}
Get orderbooks for one or more crypto symbols.
Required Parameters
symbols- A symbol string or list of symbols (e.g., "BTC/USD" or ["BTC/USD", "ETH/USD"])
Options
:loc- Location (default: "us")
Examples
iex> Alpa.Crypto.MarketData.get_orderbook("BTC/USD")
{:ok, %{"orderbooks" => ...}}
iex> Alpa.Crypto.MarketData.get_orderbook(["BTC/USD", "ETH/USD"])
{:ok, %{"orderbooks" => ...}}
@spec get_quotes( String.t(), keyword() ) :: {:ok, map()} | {:error, Alpa.Error.t()}
Get historical quotes for a crypto symbol (raw response).
Examples
iex> Alpa.Crypto.MarketData.get_quotes("BTC/USD", limit: 10)
{:ok, %{"quotes" => ...}}
@spec get_snapshots( String.t() | [String.t()], keyword() ) :: {:ok, map()} | {:error, Alpa.Error.t()}
Get snapshots for one or more crypto symbols (raw response).
Examples
iex> Alpa.Crypto.MarketData.get_snapshots("BTC/USD")
{:ok, %{"snapshots" => ...}}
@spec get_trades( String.t(), keyword() ) :: {:ok, map()} | {:error, Alpa.Error.t()}
Get historical trades for a crypto symbol (raw response).
Examples
iex> Alpa.Crypto.MarketData.get_trades("BTC/USD", limit: 10)
{:ok, %{"trades" => ...}}
@spec latest_bars( String.t(), keyword() ) :: {:ok, [Alpa.Models.Bar.t()]} | {:error, Alpa.Error.t()}
Get latest bars for a crypto symbol.
Returns parsed Alpa.Models.Bar structs.
Required Parameters
symbol- Crypto symbol (e.g., "BTC/USD")
Options
:loc- Location (default: "us")
Examples
iex> Alpa.Crypto.MarketData.latest_bars("BTC/USD")
{:ok, [%Alpa.Models.Bar{symbol: "BTC/USD", ...}]}
@spec latest_quotes( String.t(), keyword() ) :: {:ok, [Alpa.Models.Quote.t()]} | {:error, Alpa.Error.t()}
Get latest quotes for a crypto symbol.
Returns parsed Alpa.Models.Quote structs.
Required Parameters
symbol- Crypto symbol (e.g., "BTC/USD")
Options
:loc- Location (default: "us")
Examples
iex> Alpa.Crypto.MarketData.latest_quotes("BTC/USD")
{:ok, [%Alpa.Models.Quote{symbol: "BTC/USD", ...}]}
@spec latest_trades( String.t(), keyword() ) :: {:ok, [Alpa.Models.Trade.t()]} | {:error, Alpa.Error.t()}
Get latest trades for a crypto symbol.
Returns parsed Alpa.Models.Trade structs.
Required Parameters
symbol- Crypto symbol (e.g., "BTC/USD")
Options
:loc- Location (default: "us")
Examples
iex> Alpa.Crypto.MarketData.latest_trades("BTC/USD")
{:ok, [%Alpa.Models.Trade{symbol: "BTC/USD", ...}]}
@spec quotes( String.t(), keyword() ) :: {:ok, [Alpa.Models.Quote.t()]} | {:error, Alpa.Error.t()}
Get historical quotes for a crypto symbol.
Returns parsed Alpa.Models.Quote structs.
Required Parameters
symbol- Crypto symbol (e.g., "BTC/USD")
Options
:start- Start time (DateTime or ISO 8601 string):end- End time (DateTime or ISO 8601 string):limit- Max quotes to return (default 1000, max 10000):page_token- Pagination token:loc- Location (default: "us")
Examples
iex> Alpa.Crypto.MarketData.quotes("BTC/USD", limit: 10)
{:ok, [%Alpa.Models.Quote{symbol: "BTC/USD", ...}]}
@spec snapshots( String.t() | [String.t()], keyword() ) :: {:ok, %{required(String.t()) => Alpa.Models.Snapshot.t()}} | {:error, Alpa.Error.t()}
Get snapshots for one or more crypto symbols.
Returns parsed Alpa.Models.Snapshot structs.
Required Parameters
symbols- A symbol string or list of symbols (e.g., "BTC/USD" or ["BTC/USD", "ETH/USD"])
Options
:loc- Location (default: "us")
Examples
iex> Alpa.Crypto.MarketData.snapshots("BTC/USD")
{:ok, %{"BTC/USD" => %Alpa.Models.Snapshot{...}}}
iex> Alpa.Crypto.MarketData.snapshots(["BTC/USD", "ETH/USD"])
{:ok, %{"BTC/USD" => %Alpa.Models.Snapshot{...}, "ETH/USD" => %Alpa.Models.Snapshot{...}}}
@spec trades( String.t(), keyword() ) :: {:ok, [Alpa.Models.Trade.t()]} | {:error, Alpa.Error.t()}
Get historical trades for a crypto symbol.
Returns parsed Alpa.Models.Trade structs.
Required Parameters
symbol- Crypto symbol (e.g., "BTC/USD")
Options
:start- Start time (DateTime or ISO 8601 string):end- End time (DateTime or ISO 8601 string):limit- Max trades to return (default 1000, max 10000):page_token- Pagination token:loc- Location (default: "us")
Examples
iex> Alpa.Crypto.MarketData.trades("BTC/USD", limit: 10)
{:ok, [%Alpa.Models.Trade{symbol: "BTC/USD", ...}]}