Registry / payments / alpaca-trade-api

alpaca-trade-api

JSON →
library3.2.0pypypi✓ verified 25d ago

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.

pip install alpaca-py
INSTALL
IMPORT
SIG · ALPACA-TRADE-API
A
alpaca-trade-api
paymentspythonv3.2.0
Install
12.7s avg
Import
Disk
307MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
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.910 runs
installs and imports cleanly · install 0.0s · import 0.000s · 269.5MB
glibc
py 3.103.910 runs
installs and imports cleanly · install 12.7s · import 0.000s · 329MB
307MB installed
● package 307MB
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 · released Jan 12, 2024
Audit
Dependencies

No dependency data recorded yet.

Agent activity
69 hits · last 30 days
node
58
Anthropic
1
Perplexity
1
OpenAI (training)
1
Resources
alpaca-trade-api — pip install alpaca-trade-api · libregistry