Skip to main content

Data API

The Data API uses HTTP for on-demand market data queries such as historical bars, snapshots, and tick data. For the complete endpoint list, see the Market Data API Reference.

For real-time streaming data via MQTT, see Data Streaming API.

Server-to-Server Base URLs​

EnvironmentURL
Productionhttps://api.webull.com
Sandboxhttps://api.sandbox.webull.com

Client-to-server integrations use different hosts. See SDKs and Tools for the complete environment matrix.

Request Format​

Data API endpoints use standard HTTP GET or POST requests. Include the authentication headers described in Authentication Overview.

The following server-to-server example requests a stock snapshot:

GET /market-data/stocks/snapshots/list?symbols=AAPL&category=US_STOCK&extend_hour_required=false&overnight_required=false
x-app-key: <your_app_key>
x-timestamp: 2026-09-21T10:00:00Z
x-signature-algorithm: HMAC-SHA1
x-signature-version: 1.0
x-signature-nonce: <unique_nonce>
x-version: v3
x-signature: <computed_signature>

See List Stock Snapshots for the complete request and response schema.

App Secret and SDK Requests

The app_secret is used to compute the request signature. The SDK may also accept it as part of its higher-level request configuration so that it can create the required token and authentication headers automatically. Do not expose the App Secret in browser code, logs, source control, or public channels.

Response Format​

Responses are returned as JSON. A successful stock snapshot response returns HTTP 200 with an array of snapshot objects:

[
{
"symbol": "AAPL",
"instrument_id": "913256135",
"price": "185.50",
"open": "184.00",
"high": "186.20",
"low": "183.80",
"volume": "52340000",
"change": "1.50",
"change_ratio": "0.0082",
"pre_close": "184.00",
"last_trade_time": 1710849600000
}
]

Timestamps and field formats vary by endpoint. Consult the corresponding API Reference schema rather than assuming every timestamp is expressed in milliseconds. Prices and other precision-sensitive numeric values are commonly returned as strings.

Asset Categories​

Stock endpoints that accept a category parameter support:

Category ValueDescription
US_STOCKUS stocks
US_ETFUS ETFs

Options, futures, crypto, and event contracts use their dedicated endpoint paths and parameters.

Rate Limits​

Rate limits are applied per endpoint and can differ between Sandbox and Production. Exceeding a limit returns HTTP 429 Too Many Requests.

See Rate Limits for the current limits of each Market Data API endpoint.