Registry / payments / alpaca-trade-api

alpaca-trade-api

JSON →
library3.2.0pypypiunverified

DEPRECATED. alpaca-trade-api (3.2.0) is the old Alpaca Python SDK — deprecated in 2022, no new features, no patches. The official replacement is 'alpaca-py' (pip install alpaca-py). LLMs heavily trained on alpaca-trade-api tutorials since it dominated for years. New projects must use alpaca-py. alpaca-trade-api still installs and partially works but uses the old v1/v2 API patterns.

paymentscommunication
pip install alpaca-py
Install & Compatibility
Where this runs
tested against v3.2.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.950 runs
installs and imports cleanly · install 0.0s · import 0.000s · 269.3MB
glibc
py 3.103.950 runs
installs and imports cleanly · install 11.9s · import 0.000s · 329MB
306MB installed
● package 306MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

alpaca-py (replacement — recommended)
# pip install alpaca-py from alpaca.trading.client import TradingClient from alpaca.trading.requests import MarketOrderRequest from alpaca.trading.enums import OrderSide, TimeInForce client = TradingClient( api_key='YOUR_API_KEY', secret_key='YOUR_SECRET_KEY', paper=True # paper trading ) # Get account account = client.get_account() print(account.portfolio_value) # Place market order order_data = MarketOrderRequest( symbol='AAPL', qty=1, side=OrderSide.BUY, time_in_force=TimeInForce.DAY ) order = client.submit_order(order_data)
# Deprecated — do not use for new projects import alpaca_trade_api as tradeapi api = tradeapi.REST( key_id='YOUR_API_KEY', secret_key='YOUR_SECRET_KEY', base_url='https://paper-api.alpaca.markets' ) account = api.get_account()
alpaca-trade-api deprecated 2022. No new features or patches. Import pattern changed — new SDK has separate clients: TradingClient, StockHistoricalDataClient, StockDataStream.

alpaca-py (replacement for alpaca-trade-api) — trading and market data.

# pip install alpaca-py from alpaca.trading.client import TradingClient from alpaca.trading.requests import MarketOrderRequest, GetAssetsRequest from alpaca.trading.enums import OrderSide, TimeInForce, AssetClass from alpaca.data.historical import StockHistoricalDataClient from alpaca.data.requests import StockBarsRequest from alpaca.data.timeframe import TimeFrame from datetime import datetime # Trading client trading = TradingClient( api_key='YOUR_KEY', secret_key='YOUR_SECRET', paper=True # paper trading account ) # Account info account = trading.get_account() print(f'Portfolio: ${account.portfolio_value}') # Place order order = trading.submit_order(MarketOrderRequest( symbol='TSLA', qty=1, side=OrderSide.BUY, time_in_force=TimeInForce.DAY )) print(f'Order {order.id}: {order.status}') # Historical data data_client = StockHistoricalDataClient('YOUR_KEY', 'YOUR_SECRET') bars = data_client.get_stock_bars(StockBarsRequest( symbol_or_symbols='AAPL', timeframe=TimeFrame.Day, start=datetime(2024, 1, 1) )) print(bars['AAPL'][-1].close)
Debug
Known issues
breakingalpaca-trade-api deprecated 2022. No new features or bug fixes. Official replacement is 'alpaca-py' (pip install alpaca-py).
fix
pip install alpaca-py; from alpaca.trading.client import TradingClient
affects: all
breakingalpaca-py has completely different import structure. No more tradeapi.REST(). Separate clients for trading, market data, and streaming.
fix
TradingClient for orders/account. StockHistoricalDataClient for historical data. StockDataStream for live data.
affects: all
gotchaPaper trading URL no longer needed explicitly. Pass paper=True to TradingClient instead of base_url='https://paper-api.alpaca.markets'.
fix
TradingClient(api_key=..., secret_key=..., paper=True)
affects: alpaca-py
gotchaalpaca-py orders require typed request objects (MarketOrderRequest, LimitOrderRequest) — not plain dicts.
fix
from alpaca.trading.requests import MarketOrderRequest; trading.submit_order(MarketOrderRequest(...))
affects: alpaca-py
gotchaAPI calls result in 'Unauthorized' (HTTP 401) if API Key ID or Secret Key are incorrect or missing when initializing `TradingClient`. This typically manifests as an `APIError: {"message": "unauthorized."}` exception.
fix
Ensure you are using valid API Key ID and Secret Key for your Alpaca account. Double-check environment variables or the `api_key` and `secret_key` parameters passed directly to `TradingClient`.
affects: alpaca-py
gotchaThe `alpaca-py` library, particularly modules like `alpaca.data`, may implicitly depend on `pytz`, which is not always automatically installed as a direct dependency during `pip install alpaca-py`.
fix
pip install pytz
affects: alpaca-py
Upgrade
Version history
3.2.0latest on PyPI
Audit
Dependencies

No dependency data recorded yet.

Agent activity
77 hits · last 30 days
node
8
petalbot
3
ahrefsbot
3
seranking-bot
3
Amazon
2
amazonbot
1
bytedance
1
Resources