Skip to main content

SDKs and Tools

Webull provides official SDKs to help you integrate with the OpenAPI platform. The SDKs wrap the REST and streaming APIs so you can focus on building your application instead of handling low-level details.

Here's what the SDKs handle for you:

  • Authentication — Automatic signature generation and token management
  • Trading — Place, modify, and cancel orders
  • Market Data — Fetch historical data via HTTP and subscribe to real-time streams via MQTT
  • Order Events — Subscribe to real-time order status updates via gRPC

Official SDKs

Requirements: Python 3.8 – 3.14

pip3 install --upgrade webull-openapi-python-sdk

Source code: webull-openapi-python-sdk

API Environments

Webull provides two environments. Use the test environment for development and integration testing, then switch to production when you're ready to go live.

Production

ServiceHost
Trading APIapi.webull.com.my
Market Data APIapi.webull.com.my
Trading Events (gRPC)events-api.webull.com.my
Market Data Streaming (MQTT)data-api.webull.com.my

Test

ServiceHost
Trading APImy-api.uat.webullbroker.com
Market Data APImy-api.uat.webullbroker.com
Trading Events (gRPC)my-events-api.uat.webullbroker.com
Market Data Streaming (MQTT)data-api.uat.webullbroker.com
tip

To switch environments, simply change the endpoint when initializing the SDK client. No other code changes are needed.

Test Accounts

Use these shared credentials to start coding immediately — no application required for the test environment.

No.Account IDApp KeyApp Secret
118775342680976343043bbbc49b8746235bad17729280bd34b7977f3c781d38018075b0d7b90e9f2130
21915300582162898944df65fb8e34f5ad5e0a3955f555617f1163ade5de71e01964b93ee5e47f5cf763
319000964985438289921d0cf238afaf3ba5b3477ef1d9a191b558535a663ed2f1bd586926eaacdc7818
caution

These accounts are shared publicly. Orders and positions may change at any time. If you need a dedicated test account, contact our support team.

Verify Your Setup

After installing the SDK, run this quick check to confirm everything is working:

import json
from webull.core.client import ApiClient
from webull.trade.trade_client import TradeClient

api_client = ApiClient("<your_app_key>", "<your_app_secret>", "my")
api_client.add_endpoint("my", "<api_endpoint>")

trade_client = TradeClient(api_client)
res = trade_client.account_v2.get_account_list()
if res.status_code == 200:
print("Success!", json.dumps(res.json(), indent=2))
else:
print("Error:", res.status_code, res.text)

If you see your account list returned, you're all set.

Management Tools

Webull provides web-based tools for managing your API credentials and accounts:

ToolForDescription
Webull Official WebsiteIndividual clientsManage API keys, view account information

What's Next