Assets #

The assets API serves as the master list of assets available for trade and data consumption from Alpaca.

Assets are sorted by asset class, exchange and symbol. Some assets are not tradable with Alpaca. These assets will be marked with the flag tradable=false.


The Asset Object #

Currently, two classes of assets exist: us_equity and crypto.

Sample Equity Asset Object #

{
  "id": "904837e3-3b76-47ec-b432-046db621571b",
  "class": "us_equity",
  "exchange": "NASDAQ",
  "symbol": "AAPL",
  "name": "Apple Inc. Common Stock",
  "status": "active",
  "tradable": true,
  "marginable": true,
  "shortable": true,
  "easy_to_borrow": true,
  "fractionable": true,
  "maintenance_margin_requirement": 30,
  "attributes": ["ptp_no_exception"]
}

Sample Crypto Asset Object #

{
        "id": "64bbff51-59d6-4b3c-9351-13ad85e3c752",
        "class": "crypto",
        "exchange": "FTXU",
        "symbol": "BTCUSD",
        "name": "Bitcoin",
        "status": "active",
        "tradable": true,
        "marginable": false,
        "shortable": false,
        "easy_to_borrow": false,
        "fractionable": true,
        "min_order_size": "0.0001",
        "min_trade_increment": "0.0001",
        "price_increment": "1",
        "maintenance_margin_requirement": 50,
}

Attributes #

Attribute Type Description
id string.UUID Asset ID
class string ENUM: us_equity or crypto
exchange string AMEX, ARCA, BATS, NYSE, NASDAQ, NYSEARCA, OTC
symbol string The symbol of the asset
name string The official name of the asset
status string ENUM: active or inactive
tradable boolean Asset is tradable on Alpaca or not
marginable boolean Asset is marginable or not
shortable boolean Asset is shortable or not
easy_to_borrow boolean Asset is easy-to-borrow or not (filtering for easy_to_borrow = True is the best way to check whether the name is currently available to short at Alpaca).
fractionable boolean Asset is fractionable or not
min_order_size string Minimum order size. Field available for crypto only.
min_trade_increment string Amount a trade quantity can be incremented by. Field available for crypto only.
price_increment string Amount the price can be incremented by. Field available for crypto only.
maintenance_margin_requirement integer Shows the % margin requirement for the asset (equities only).
attributes array[string] One of ptp_no_exception or ptp_with_exception. We will include unique characteristics of the asset here.

Asset States #

Tradable = True AND Status = ACTIVE

This is the scenario for most of the stocks on Alpaca’s platform. Users can open and close positions using any order type. For example Apple Inc. This means it’s tradable - both BUY and SELL are possible on this stock.

Tradable = False AND Status = ACTIVE

This is one of the rare conditions where we don’t allow any opening transactions for the particular symbol. This usually happens when a listed security is delisted and trades over the counter. Users can place any order type in this scenario to close existing positions.

Tradable = False AND Status = INACTIVE

This is usually when security is no longer trading. In some rare instances the asset is still trading OTC and users can only use the liquidation endpoint to submit market orders.

Retrieving All Assets #

GET /v1/assets

Request #

Parameters #

Attribute Type Required Notes
status string
Optional
eg: ACTIVE. Will default to all
asset_class string
Optional
Comma separated values to query for more than one asset class.
attributes string
Optional
Comma separated values to query for more than one attribute.

Response #

An array of asset objects.


Retrieving an Asset by ID #

GET /v1/assets/:id

Request #

N/A

Response #

The requested Asset object

Error Codes #

404 - Asset Not Found

Retrieving an Asset by Symbol #

GET /v1/assets/:symbol

Request #

N/A

Response #

The requested Asset object

Error Codes #

404 - Asset Not Found

 

Edit Edit this page