alpaca-py
The Official Python SDK for Alpaca APIs
Decision gist · record as of 2026-08-14
Yes. Alpaca-py is actively maintained, has no known vulnerabilities, low install friction, and a permissive license. It is the official SDK for Alpaca's APIs and is well-suited for anyone building trading or investment applications that need to interact with Alpaca's services. The OOP design and pydantic validation reduce errors compared to raw HTTP calls.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires an Alpaca account and API keys (trading, market data, or broker keys depending on which APIs you use); Python 3.10 or later.
- Low install friction with a pure-Python wheel distribution.
- Actively maintained with a recent release (3 days old) and steady repository activity.
License · maintenance · safety
Apache-2.0 (permissive) — Apache-2.0 is permissive; you can use, modify, and distribute alpaca-py freely in commercial or private projects with minimal restrictions.
last release 2026-08-11 (3 days) · last repo commit 2026-08-14 · 1,460 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,969,763 downloads/mo, #3,399 on PyPI
Alternatives
Verify before relying
pip install alpaca-py
from alpaca.trading.client import TradingClient
from alpaca.trading.requests import MarketOrderRequest
from alpaca.trading.enums import OrderSide, TimeInForce
trading_client = TradingClient('api-key', 'secret-key')
order = trading_client.submit_order(
MarketOrderRequest(
symbol="BTC/USD",
qty=0.0001,
side=OrderSide.BUY,
time_in_force=TimeInForce.DAY
)
)- Specific latency or throughput characteristics of WebSocket and SSE streaming connections.
- Whether all asset classes (stocks, crypto, options) are equally mature or if some are newer.
- Real-world performance under high-frequency trading or large data volume scenarios.
What it is and what it does
Alpaca-py is the official Python SDK that wraps Alpaca's REST, WebSocket, and SSE APIs into a unified, object-oriented interface. It lets you build trading applications, stream live market data, and manage brokerage accounts programmatically. The library uses pydantic for runtime data validation and provides separate client classes for different asset classes and API products—TradingClient for orders, StockHistoricalDataClient for historical data, BrokerClient for account management, and specialized data stream clients for real-time feeds.
The package depends on msgpack, pandas, pydantic, pytz, requests, sseclient-py, and websockets to handle serialization, data frames, validation, time zones, HTTP requests, server-sent events, and WebSocket connections. It's designed for developers building algorithmic trading strategies, robo-advisors, or full brokerage experiences. Request models (e.g., MarketOrderRequest, CryptoBarsRequest) enforce schema validation before sending to Alpaca's servers, reducing runtime errors.
Use it for
- Build algorithmic trading strategies that automatically submit orders and stream live market data for stocks, crypto, or options.
- Create a robo-advisor or investment app that manages multiple brokerage accounts under your control via the Broker API.
- Backtest trading strategies using historical bar data from Alpaca's market data API for multiple asset classes.
- Stream real-time market data (quotes, bars, trades) via WebSocket or SSE for live dashboards or monitoring systems.
- Validate and parse trading order data from JSON payloads using pydantic-backed request models before execution.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Alpaca-py is actively maintained, has no known vulnerabilities, low install friction, and a permissive license. It is the official SDK for Alpaca's APIs and is well-suited for anyone building trading or investment applications that need to interact with Alpaca's services. The OOP design and pydantic validation reduce errors compared to raw HTTP calls.
Install
alpaca-py on PyPI
Before you install
Low install friction with a pure-Python wheel distribution. Actively maintained with a recent release (3 days old) and steady repository activity. Supports Python 3.10 through 3.14.
Requires an Alpaca account and API keys (trading, market data, or broker keys depending on which APIs you use); Python 3.10 or later.
License in practice
Apache-2.0 is permissive; you can use, modify, and distribute alpaca-py freely in commercial or private projects with minimal restrictions.
Quickstart
pip install alpaca-py
from alpaca.trading.client import TradingClient
from alpaca.trading.requests import MarketOrderRequest
from alpaca.trading.enums import OrderSide, TimeInForce
trading_client = TradingClient('api-key', 'secret-key')
order = trading_client.submit_order(
MarketOrderRequest(
symbol="BTC/USD",
qty=0.0001,
side=OrderSide.BUY,
time_in_force=TimeInForce.DAY
)
)
Verify before relying
- Specific latency or throughput characteristics of WebSocket and SSE streaming connections.
- Whether all asset classes (stocks, crypto, options) are equally mature or if some are newer.
- Real-world performance under high-frequency trading or large data volume scenarios.
Package facts
| License | Apache-2.0 permissive |
| Python support | Supports the current Python release <4.0.0,>=3.10.0 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 7 packagesmsgpackpandaspydanticpytzrequestssseclient-pywebsockets |
| Maintenance | Actively maintained 3 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,969,763 / month, #3,399 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: Apache Software LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14 |
Evidence: alpaca_py-0.44.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “order management system”
- alpaca-pyAlpaca-py is the official Python SDK for interacting with Alpaca's…
- WooCommerceA Python wrapper for the WooCommerce REST API that lets you…
- py-clob-clientPython client library for trading on Polymarket's Central Limit Order…
Give your agent the search over MCP, or paste the wish link into any chat.
More WWW/HTTP packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
h11 is a pure-Python HTTP/1.1 protocol implementation that handles parsing and serializing HTTP messages without any built-in I/O, letting you integrate it with any network layer you choose.
HTTPX is a fully featured HTTP client library for Python that provides both sync and async APIs, with support for HTTP/1.1 and HTTP/2, plus an integrated command-line client.
Install it if you are building new projects or modernizing existing ones that rely on HTTP.
A minimal low-level HTTP client library that sends HTTP requests with thread-safe and task-safe connection pooling, supporting HTTP/1.1, HTTP/2, proxies, and both sync and async interfaces.
aiohttp is an async HTTP client and server framework built on asyncio, supporting both WebSockets and middleware-based routing for building concurrent web applications.
Install it if you need async HTTP client or server capabilities in asyncio-based applications.
See also alpaca-trade-api · growwapi · python-binance · fyers-apiv3 · robin-stocks · python-kraken-sdk · shioaji · smartapi-python · lumibot · pycoingecko