Finance — entry 003 of 47

Alpaca

Verified Jul 2026

Alpaca's Market Data API v2 delivers realtime and historical quotes, trades, and bars for US equities and ETFs over REST and WebSocket, requiring an Alpaca brokerage/API-key account. The free plan gives 200 API calls/minute with 15-minute-delayed IEX-exchange data and 30-symbol WebSocket streams; the $99/month Algo Trader Plus tier removes the call cap, adds true realtime data from all US exchanges (plus real-time OPRA options quotes), and unlimited streamed symbols. Both tiers include 7+ years of historical data.

stocksequitiesmarket-datawebsocketbrokerage
AuthenticationAPI KeySign up with the provider to obtain credentials.
HTTPSSupportedTraffic is encrypted in transit.
CORSEnabledCallable directly from browser JavaScript.
PricingFreemiumA usable free tier exists, with paid plans for more volume.
FormatsJSON, WebSocketResponses can be requested as JSON or WebSocket.

GreatAPIs Score

Score87out of 100
Authentication15/25API key required
Pricing17/20Freemium tier available
Docs20/20Machine-readable spec file bundled
Formats15/15Supports 2 response formats
Freshness20/20Verified within 6 months

Embed this badge

Scored 87 on greatapis.com
<a href="https://greatapis.com/api/alpaca/"><img src="https://greatapis.com/badge/alpaca.svg" alt="Scored 87 on greatapis.com"></a>

Auth quickstart

  1. Get a key at the provider
  2. Send it on every request as a headerAPCA-API-KEY-ID: <key>
Stored keyNo key stored

Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.

Endpoints

Servers
https://data.alpaca.marketshttps://data.sandbox.alpaca.markets
Auth
API_KeyAPI_Secret
Stock Pricing Data API16
GET/v2/stocks/barsGet Bar data for multiple stock symbols
Responses
StatusDescriptionSchema
200Successful responseMultiBarsResponse
GET/v2/stocks/bars/latestGet Latest Bar data for multiple stock symbols
Responses
StatusDescriptionSchema
200OKLatestMultiBarsResponse
GET/v2/stocks/meta/conditions/{type}Get list of Conditions
Parameters
NameInRequiredType
typepathyesstring
tapequeryyesstring
Responses
StatusDescriptionSchema
200OK Response is a JSON object mapping a condition to a plain text description
GET/v2/stocks/meta/exchangesGet List of supported exchanges
Responses
StatusDescriptionSchema
200OKExchangesResponse
GET/v2/stocks/quotesGet Quotes for multiple stock symbols
Responses
StatusDescriptionSchema
200Successful response MultiQuotesReponse
GET/v2/stocks/quotes/latestGet Latest Quotes for multiple stock symbols
Responses
StatusDescriptionSchema
200OKLatestMultiQuotesResponse
GET/v2/stocks/snapshotsGet Snapshots for multiple stock symbols
Responses
StatusDescriptionSchema
200Successful responseMultiSnapshotResponse
GET/v2/stocks/tradesGet Trade data for multiple stock symbols
Responses
StatusDescriptionSchema
200Successful responseMultiTradesResponse
GET/v2/stocks/trades/latestGet Latest Trades data for multiple stock symbols
Responses
StatusDescriptionSchema
200OKLatestMultiTradesResponse
GET/v2/stocks/{symbol}/barsBars
Responses
StatusDescriptionSchema
200Successful responseBarsResponse
GET/v2/stocks/{symbol}/bars/latestGet Latest Bars for Symbol
Responses
StatusDescriptionSchema
200OKLatestBarResponse
GET/v2/stocks/{symbol}/quotesGet Quotes for stock symbol
Parameters
NameInRequiredType
symbolpathyesstring
Responses
StatusDescriptionSchema
200Successful responseQuotesResponse
GET/v2/stocks/{symbol}/quotes/latestGet Latest Quote for stock symbol
Parameters
NameInRequiredType
symbolpathyesstring
Responses
StatusDescriptionSchema
200Successful responseLatestQuoteResponse
GET/v2/stocks/{symbol}/snapshotGet a Snapshot for a stock symbol
Parameters
NameInRequiredType
symbolpathyesstring
Responses
StatusDescriptionSchema
200Successful responseSnapshot
GET/v2/stocks/{symbol}/tradesTrades
Parameters
NameInRequiredType
symbolpathyesstring
Responses
StatusDescriptionSchema
200Successful responseTradesResponse
GET/v2/stocks/{symbol}/trades/latestLatest Trade
Parameters
NameInRequiredType
symbolpathyesstring
Responses
StatusDescriptionSchema
200Successful responseLatestTradeResponse
Crypto Pricing Data API17
GET/v1beta1/crypto/barsGet Bars for multiple Crypto symbols
Responses
StatusDescriptionSchema
200Successful responseMultiBarsResponse
GET/v1beta1/crypto/bars/latestGet Latest Bars for multiple Crypto symbols
Responses
StatusDescriptionSchema
200OKLatestMultiBarsResponse
GET/v1beta1/crypto/meta/spreadsGet list of crypto spreads per exchange
Responses
StatusDescriptionSchema
200OKCryptoSpreadsResponse
GET/v1beta1/crypto/quotesGet Quotes for multiple crypto symbols
Responses
StatusDescriptionSchema
200Successful responseMultiQuotesReponse
GET/v1beta1/crypto/quotes/latestGet Latest Quotes for multiple Crypto symbols
Responses
StatusDescriptionSchema
200OKLatestMultiQuotesResponse
GET/v1beta1/crypto/snapshotsGet Snapshots for multiple crypto symbols
Responses
StatusDescriptionSchema
200Successful responseMultiSnapshotResponse
GET/v1beta1/crypto/tradesGet Trade data for multiple crypto symbols
Responses
StatusDescriptionSchema
200Successful responseMultiTradesResponse
GET/v1beta1/crypto/trades/latestGet Latest Trade data for multiple Crypto symbols
Responses
StatusDescriptionSchema
200OKLatestMultiTradesResponse
GET/v1beta1/crypto/xbbos/latestGet Latest XBBO for multiple crypto symbols
Responses
StatusDescriptionSchema
200OKLatestMultiXBBOResponse
GET/v1beta1/crypto/{symbol}/barsGet Bar data for a crypto symbol
Responses
StatusDescriptionSchema
200Successful responseBarsResponse
GET/v1beta1/crypto/{symbol}/bars/latestGet Latest Bar data for a Crypto symbol
Responses
StatusDescriptionSchema
200OKLatestBarResponse
GET/v1beta1/crypto/{symbol}/quotesGet Quotes for crypto symbol
Responses
StatusDescriptionSchema
200Successful responseQuotesResponse
GET/v1beta1/crypto/{symbol}/quotes/latestLatest Quote
Responses
StatusDescriptionSchema
200Successful responseLatestQuoteResponse
GET/v1beta1/crypto/{symbol}/snapshotGet a Snapshot for a crypto symbol
Responses
StatusDescriptionSchema
200Successful responseSnapshot
GET/v1beta1/crypto/{symbol}/tradesGet Trade data for a crypto symbol
Responses
StatusDescriptionSchema
200Successful responseTradesResponse
GET/v1beta1/crypto/{symbol}/trades/latestLatest Trades
Responses
StatusDescriptionSchema
200Successful responseLatestTradeResponse
GET/v1beta1/crypto/{symbol}/xbbo/latestGet Latest XBBO for a single crypto symbol
Responses
StatusDescriptionSchema
200Successful responseLatestXBBOResponse
News1
GET/v1beta1/newsNews API
Parameters
NameInRequiredType
sortquerynostring
include_contentquerynoboolean
exclude_contentlessquerynoboolean
Responses
StatusDescriptionSchema
200Successful responseGetNewsResponse
Logo1
GET/v1beta1/logos/{crypto_or_stock_symbol}Get Logo for symbol
Parameters
NameInRequiredType
crypto_or_stock_symbolpathyesstring
placeholderquerynoboolean
Responses
StatusDescriptionSchema
200Returns the requested logo as an image.
404No Logo was found for this symbol. This code will only be returned if you set `placeholder` to false. Otherwise we will generate a placeholder image for this symbol
Screener1
GET/v1beta1/screener/{market_type}/moversGet Top Market Movers by Market type
Parameters
NameInRequiredType
market_typepathyesstring
topquerynointeger
Responses
StatusDescriptionSchema
200OKMarketMoversResponse

Try it

Developer reference

Base URLhttps://data.alpaca.markets
Rate limit

Alpaca's live docs (docs.alpaca.markets/docs/about-market-data-api) publish per-plan historical API call ceilings: 200 calls/minute on the free Basic plan (IEX feed, 30-symbol websocket cap), rising to 10,000 calls/minute on the $99/month Algo Trader Plus plan (all US exchanges, unlimited websocket symbols). Exceeding the limit returns HTTP 429.

Key endpoints
  • GET/v2/stocks/bars
  • GET/v2/stocks/trades/latest
  • GET/v2/stocks/quotes/latest
  • GET/v2/stocks/snapshots
  • GET/v1beta1/news