Webull: Investing & Trading 图标

Webull 数据 API:行情、购买力与订单

Webull Technologies Pte. Ltd. · 银行

Webull: Investing & Trading 由 Webull Technologies Pte. Ltd. 推出,是面向美国散户投资者的券商应用。用户可以关注股票和 ETF,交易期权、期货及加密货币,也可以先通过模拟交易练习,再向实盘账户入金。自选列表、Level 2 行情、新闻和个股图表便于日常跟踪市场;碎股交易、定期投资、IPO 申购及期权链则满足不同的投资安排。Lite 和 Pro 两种显示模式适应不同交易偏好,账户页面集中展示购买力、持仓和未完成订单。

购买力余额将 dayBuyingPower、overnightBuyingPower 和 optionBp 与 netLiquidationValue、totalCashValue 区分呈现,dayTradesRemaining 和 isPdt 则提供模式日内交易的背景信息。持仓记录通过 tickerId、quantity 和 costPrice 关联 lastPrice 与 unrealizedProfitLoss;行情快照补充 bidPrice、askPrice、changeRatio 和 mkVolume。图表记录除价格柱外,还包含 interval、preClose 与 timeZone。

委托记录跟踪 orderId、orderType、filledQuantity、timeInForce 和 outsideRegularTradingHour,委托预检中的 checkVo.reqDtbp 可用于核对购买力需求。自选文件夹将 portfolioId 与标的的 symbol、addedPrice、addedTime 关联;新闻标题通过 relTickers 关联标的,并带有 sourceName 和 sentiment。模拟账户余额包含 todayProfitLoss,便于与实盘资金汇总对照。

风险监测团队可以将剩余日内交易次数与购买力对照,记账工具可以结合行情评估持仓,订单核对任务则能区分未完成委托与已成交记录。交易教练可以将模拟账户的 todayProfitLoss、netLiquidationValue 与已入金账户的 capital.todayProfitLoss、capital.netLiquidationValue 对照。openData Studio 将这些账户、行情、持仓、委托、自选列表及新闻记录整理为可调用的开放数据;示例记录采用模拟数值,并非实时账户余额或市场报价。

应用截图

  • Webull: Investing & Trading 应用截图 1
  • Webull: Investing & Trading 应用截图 2
  • Webull: Investing & Trading 应用截图 3
  • Webull: Investing & Trading 应用截图 4
  • Webull: Investing & Trading 应用截图 5
  • Webull: Investing & Trading 应用截图 6
  • Webull: Investing & Trading 应用截图 7
  • Webull: Investing & Trading 应用截图 8

API 端点一览

以下端点与请求/响应示例均依据应用界面推导重构,为示意说明,并非实际抓包。

  • 账户登录

    POST /v1/investor-access/session-grants openbanking

    使用账户凭据换取 accessToken、refreshToken,以及 userId、uuid 和 haveAccount,供后续行情、交易及自选列表请求携带会话信息。

    认证方式: 无需预先认证。JSON 请求体使用 account 与 loginPassword,或使用 account 与短信验证码 verificationCode。后续请求将响应中的 accessToken 作为 access_token 发送;refreshToken 用于轮换会话。

    • account
    • accountType
    • loginPassword
    • verificationCode
    • accessToken
    • refreshToken
    • userId
    • uuid
    • tokenExpireTime
    • haveAccount
    • email
    • phone
    • userDomain
    POST /v1/investor-access/session-grants HTTP/1.1
    Content-Type: application/json
    
    {
      "account": "<example-email>",
      "accountType": 2,
      "loginPassword": "<loginPassword>",
      "verificationCode": null
    }
    {
      "accessToken": "<accessToken>",
      "refreshToken": "<refreshToken>",
      "userId": "USER-DEMO-001",
      "uuid": "00000000-0000-4000-8000-000000000001",
      "tokenExpireTime": "2026-10-24T12:00:00.000+0000",
      "haveAccount": true,
      "email": "<example-email>",
      "phone": "<example-phone>",
      "userDomain": "us",
      "accountType": "2",
      "appModeType": "Pro"
    }
  • 用户资料

    GET /v1/investor-profiles/current osint

    读取已登录用户的资料,包括 nickName、联系信息、Lite/Pro 模式的 appModeType、serviceRegionCode,以及是否已开通券商账户。

    认证方式: 使用登录获得的 accessToken,通过 access_token 发送。

    • nickName
    • email
    • phone
    • avatarUrl
    • haveAccount
    • hasSecurityPwd
    • appModeType
    • regionId
    • serviceRegionCode
    • userDomain
    • cryptoBind
    GET /v1/investor-profiles/current HTTP/1.1
    access_token: <accessToken>
    {
      "nickName": "example-trader",
      "email": "<example-email>",
      "phone": "<example-phone>",
      "avatarUrl": "/assets/example-avatar.png",
      "haveAccount": true,
      "hasSecurityPwd": true,
      "appModeType": "Pro",
      "regionId": "6",
      "serviceRegionCode": "US",
      "userDomain": "us",
      "cryptoBind": false
    }
  • 标的实时行情

    GET /v1/market/price-snapshots opendata

    返回一个或多个 tickerId 的类似全国最优买卖报价(NBBO)的实时报价,包含最新价、changeRatio、买卖报价、时段最高价和最低价,以及行情栏和自选列表条目使用的 mkVolume。

    认证方式: 使用设备会话;用户登录后附带 accessToken。启动页预取可在没有用户令牌的情况下运行。

    • tickerId
    • symbol
    • disSymbol
    • name
    • exchangeCode
    • price
    • change
    • changeRatio
    • close
    • preClose
    • bidPrice
    • askPrice
    • high
    • low
    • fiftyTwoWkHigh
    • fiftyTwoWkLow
    • mkVolume
    • status
    GET /v1/market/price-snapshots?tickerId=TICKER-DEMO-001 HTTP/1.1
    access_token: <accessToken>
    [
      {
        "tickerId": "TICKER-DEMO-001",
        "symbol": "AAPL",
        "disSymbol": "AAPL",
        "name": "Apple Inc",
        "exchangeCode": "NASDAQ",
        "price": "227.52",
        "change": "1.84",
        "changeRatio": "0.0081",
        "close": "227.52",
        "preClose": "225.68",
        "bidPrice": "227.50",
        "askPrice": "227.53",
        "high": "228.40",
        "low": "225.10",
        "fiftyTwoWkHigh": "260.10",
        "fiftyTwoWkLow": "164.08",
        "mkVolume": "48231500",
        "status": "A",
        "currencyCode": "USD"
      }
    ]
  • OHLC 行情图表

    GET /v1/market/candle-series opendata

    分页读取标的图表的开盘、最高、最低及收盘价(OHLC)柱,提供打包的 data 行及 interval、preClose、timeZone,用于分钟线和日线。

    认证方式: 登录后使用 accessToken。

    • tickerId
    • dataType
    • interval
    • preClose
    • timeZone
    • hasMore
    • marketId
    • data
    GET /v1/market/candle-series?tickerId=TICKER-DEMO-001&dataType=m1 HTTP/1.1
    access_token: <accessToken>
    {
      "tickerId": "TICKER-DEMO-001",
      "dataType": "m1",
      "interval": 60,
      "preClose": "225.68",
      "timeZone": "America/New_York",
      "hasMore": 1,
      "marketId": "2",
      "data": [
        "1698067200,227.10,227.52,226.80,227.40,1254300"
      ]
    }
  • 券商账户摘要

    GET /v1/brokerage/balance-overview openfinance

    加载账户概览,包括 netLiquidationValue、现金与市值、日内及隔夜购买力、期权购买力、PDT 剩余日内交易次数和 availableWithdraw。

    认证方式: 使用登录获得的 accessToken,通过 access_token 发送;数据范围限定为当前登录用户的 secAccountId。

    • secAccountId
    • brokerId
    • accountType
    • accountNumber
    • currency
    • netLiquidationValue
    • totalCashValue
    • totalMarketValue
    • dayBuyingPower
    • overnightBuyingPower
    • optionBp
    • profitLoss
    • unrealizedProfitLoss
    • dayTradesRemaining
    • isPdt
    • availableWithdraw
    GET /v1/brokerage/balance-overview?secAccountId=ACCOUNT-DEMO-001 HTTP/1.1
    access_token: <accessToken>
    {
      "secAccountId": "ACCOUNT-DEMO-001",
      "brokerId": 8,
      "accountType": "2",
      "accountTypeName": "MARGIN",
      "accountNumber": "DEMO-ACCOUNT-001",
      "currency": "USD",
      "netLiquidationValue": "52840.12",
      "totalCashValue": "4120.55",
      "totalMarketValue": "48719.57",
      "dayBuyingPower": "18500.00",
      "overnightBuyingPower": "9200.00",
      "optionBp": "6400.00",
      "profitLoss": "312.40",
      "unrealizedProfitLoss": "1288.19",
      "unrealizedProfitLossRate": "0.0271",
      "dayTradesRemaining": 3,
      "isPdt": false,
      "availableWithdraw": "3800.00"
    }
  • 资产与持仓快照

    GET /v1/portfolios/asset-snapshot openfinance

    返回持仓页快照,包括嵌套在 capital 中的购买力字段、positions 分组,以及 openOrderQty 和 openIPOQty。

    认证方式: 使用登录获得的 accessToken。

    • capital.netLiquidationValue
    • capital.buyingPower
    • capital.dayBuyingPower
    • capital.overnightBuyingPower
    • capital.optionBuyingPower
    • capital.totalCashValue
    • capital.todayProfitLoss
    • capital.unrealizedProfitLoss
    • positions
    • openOrderQty
    • openIPOQty
    GET /v1/portfolios/asset-snapshot?secAccountId=ACCOUNT-DEMO-001 HTTP/1.1
    access_token: <accessToken>
    {
      "capital": {
        "netLiquidationValue": "52840.12",
        "buyingPower": "18500.00",
        "dayBuyingPower": "18500.00",
        "overnightBuyingPower": "9200.00",
        "optionBuyingPower": "6400.00",
        "totalCashValue": "4120.55",
        "totalMarketValue": "48719.57",
        "todayProfitLoss": "312.40",
        "todayProfitLossRatio": "0.0059",
        "unrealizedProfitLoss": "1288.19",
        "currency": "USD"
      },
      "positions": [
        {
          "tickerId": "TICKER-DEMO-001",
          "quantity": "40",
          "costPrice": "214.10",
          "lastPrice": "227.52",
          "marketValue": "9100.80",
          "unrealizedProfitLoss": "536.80"
        }
      ],
      "openOrderQty": 2,
      "openIPOQty": 0
    }
  • 单一标的持仓详情

    GET /v1/holdings/instrument-overview openfinance

    查看单一标的的持仓明细,包括 quantity 与 costPrice、lastPrice、未实现盈亏和当日盈亏,以及该标的的 openOrders、filledOrders。

    认证方式: 使用登录获得的 accessToken。

    • positionSummary.currency
    • positionSummary.marketValue
    • positionSummary.unrealizedProfitLoss
    • positionSummary.dayProfitLoss
    • tickerId
    • symbol
    • position
    • quantity
    • costPrice
    • lastPrice
    • marketValue
    • action
    GET /v1/holdings/instrument-overview?secAccountId=ACCOUNT-DEMO-001&tickerId=TICKER-DEMO-001 HTTP/1.1
    access_token: <accessToken>
    {
      "positionSummary": {
        "currency": "USD",
        "marketValue": "9100.80",
        "unrealizedProfitLoss": "536.80",
        "unrealizedProfitLossRate": "0.0627",
        "dayProfitLoss": "73.60",
        "dayProfitLossRate": "0.0081",
        "positions": [
          {
            "tickerId": "TICKER-DEMO-001",
            "symbol": "AAPL",
            "position": "40",
            "quantity": "40",
            "costPrice": "214.10",
            "lastPrice": "227.52",
            "marketValue": "9100.80",
            "unrealizedProfitLoss": "536.80",
            "action": "BUY",
            "currency": "USD"
          }
        ]
      },
      "openOrders": [],
      "filledOrders": []
    }
  • 未完成订单列表

    GET /v1/execution/ticket-ledger openfinance

    列出未完成及当日委托,包含 orderId、买卖方向、orderType、限价、成交进度、订单有效期(TIF)和延长交易时段标志。

    认证方式: 使用登录获得的 accessToken。

    • orderId
    • comboId
    • action
    • orderType
    • quantity
    • lmtPrice
    • filledQuantity
    • avgFilledPrice
    • status
    • timeInForce
    • outsideRegularTradingHour
    • canCancel
    • canModify
    • openOrders
    • todayOrders
    GET /v1/execution/ticket-ledger?secAccountId=ACCOUNT-DEMO-001 HTTP/1.1
    access_token: <accessToken>
    {
      "openOrders": [
        {
          "orderId": "ORDER-DEMO-001",
          "comboId": "COMBO-DEMO-001",
          "action": "BUY",
          "orderType": "LMT",
          "quantity": "10",
          "lmtPrice": "226.50",
          "filledQuantity": "0",
          "avgFilledPrice": "0",
          "status": "Working",
          "statusStr": "Working",
          "timeInForce": "DAY",
          "outsideRegularTradingHour": true,
          "canCancel": true,
          "canModify": true
        }
      ],
      "todayOrders": [],
      "openIpoOrders": []
    }
  • 股票订单预检

    POST /v1/execution/ticket-review openfinance

    预检股票委托,也可进行下单:通过 reqDtbp 表示购买力占用,通过 openOrClose 区分开仓和平仓;交易台受理后返回 placeVo.orderId 和 comboId。

    认证方式: 使用登录获得的 accessToken。

    • secAccountId
    • tickerId
    • action
    • orderType
    • lmtPrice
    • quantity
    • timeInForce
    • outsideRegularTradingHour
    • checkVo.confirm
    • checkVo.reqDtbp
    • checkVo.openOrClose
    • placeVo.result
    • placeVo.orderId
    • placeVo.comboId
    POST /v1/execution/ticket-review HTTP/1.1
    access_token: <accessToken>
    Content-Type: application/json
    
    {
      "secAccountId": "ACCOUNT-DEMO-001",
      "tickerId": "TICKER-DEMO-001",
      "action": "BUY",
      "orderType": "LMT",
      "lmtPrice": "226.50",
      "quantity": "10",
      "timeInForce": "DAY",
      "outsideRegularTradingHour": true
    }
    {
      "checkVo": {
        "confirm": true,
        "forward": true,
        "openOrClose": "OPEN",
        "reqDtbp": "2265.00",
        "reqOnBp": "2265.00",
        "reqImlBP": "0"
      },
      "placeVo": {
        "result": true,
        "orderId": "ORDER-DEMO-002",
        "comboId": "COMBO-DEMO-002",
        "lastSerialId": "SN-9001"
      }
    }
  • 自选列表分组

    GET /v1/lists/instrument-groups opendata

    同步自选文件夹,提供 portfolioId、name,以及自选页使用的各标的 symbol、addedPrice 和 addedTime。

    认证方式: 使用登录获得的 accessToken。

    • version
    • portfolioList
    • portfolioId
    • name
    • categoryType
    • sortOrder
    • isVisible
    • tickerList
    • tickerId
    • symbol
    • addedPrice
    • addedTime
    GET /v1/lists/instrument-groups HTTP/1.1
    access_token: <accessToken>
    {
      "version": 42,
      "portfolioList": [
        {
          "portfolioId": "WATCHLIST-DEMO-001",
          "name": "Tech",
          "categoryType": 0,
          "sortOrder": 1,
          "isVisible": true,
          "tickerList": [
            {
              "tickerId": "TICKER-DEMO-001",
              "symbol": "AAPL",
              "name": "Apple Inc",
              "disSymbol": "AAPL",
              "addedPrice": "214.10",
              "addedTime": 1698067200000,
              "exchangeCode": "NASDAQ"
            }
          ]
        }
      ]
    }
  • 实时新闻流

    GET /v1/headlines/stream osint

    分页读取新闻栏,提供新闻和标的相关新闻页面使用的标题、sourceName、时间戳、sentiment 及关联标的。

    认证方式: 登录后使用 accessToken。

    • id
    • title
    • summary
    • newsUrl
    • sourceName
    • newsTime
    • sentiment
    • sentimentType
    • likes
    • comments
    • relTickers
    GET /v1/headlines/stream HTTP/1.1
    access_token: <accessToken>
    [
      {
        "id": "NEWS-DEMO-001",
        "title": "Illustrative market headline for AAPL",
        "summary": "Example news summary linked to the sample ticker.",
        "newsUrl": "/articles/example-market-brief",
        "sourceName": "Example News Source",
        "newsTime": "2026-10-23T13:04:00.000+0000",
        "sentiment": "positive",
        "sentimentType": "1",
        "likes": 128,
        "comments": 14,
        "relTickers": [
          {
            "tickerId": "TICKER-DEMO-001",
            "symbol": "AAPL"
          }
        ]
      }
    ]
  • 模拟交易账户摘要

    GET /v1/practice/balance-overview openfinance

    读取模拟交易明细,包括模拟净清算价值、现金与持仓对照,以及模拟交易页使用的模拟持仓。

    认证方式: 使用登录获得的 accessToken,通过 access_token 发送;需要当前登录用户已选定模拟交易账户。

    • netLiquidationValue
    • totalCashValue
    • totalMarketValue
    • unrealizedProfitLoss
    • todayProfitLoss
    • currency
    • openOrderQty
    • positions
    • tickerId
    • quantity
    • costPrice
    GET /v1/practice/balance-overview HTTP/1.1
    access_token: <accessToken>
    {
      "netLiquidationValue": "100000.00",
      "totalCashValue": "64210.40",
      "totalMarketValue": "35789.60",
      "unrealizedProfitLoss": "1288.19",
      "todayProfitLoss": "312.40",
      "currency": "USD",
      "openOrderQty": 1,
      "positions": [
        {
          "tickerId": "TICKER-DEMO-001",
          "symbol": "AAPL",
          "quantity": "40",
          "costPrice": "214.10",
          "lastPrice": "227.52"
        }
      ]
    }

数据类别

  • 账户
  • 持仓
  • 订单
  • 行情
  • 自选列表
  • 新闻
  • 模拟交易

数据使用场景与案例

  • 购买力与剩余日内交易次数对照

    风险监测程序从账户摘要读取 dayBuyingPower、overnightBuyingPower 和 optionBp,再对照 capital.buyingPower 以及 dayTradesRemaining、isPdt,让隔夜购买力和模式日内交易(PDT)相关提醒引用同一本台账。

  • 持仓逐笔估值与最优买卖报价对照

    记账任务将持仓的 quantity、costPrice 与行情中的 price、bidPrice、askPrice 关联,使 unrealizedProfitLoss、lastPrice 和自选列表中的 addedPrice 能在同一份明细表中核对。

  • 未完成订单与成交明细核对

    交易台轮询程序列出 orderId、action、orderType、lmtPrice 和 filledQuantity,并将 checkPlace 的 reqDtbp 与实盘委托对照,避免将 DAY 订单与延长交易时段的成交重复计入购买力占用。

  • 模拟账户与实盘账户盈亏对照

    交易辅导工具将模拟账户的 todayProfitLoss、netLiquidationValue 与实盘的 capital.todayProfitLoss 比较,借助一致的字段名称评估练习账户和已入金账户的表现。

常见问题

Webull 数据模型包含哪些认证与购买力字段?

登录示例使用账户凭据或短信验证码换取 accessToken、refreshToken、userId、uuid 和 tokenExpireTime。受保护的示例将 accessToken 放入 access_token 请求头;行情快照也支持在用户登录前使用设备会话。secAccountId 标识券商账户,accountNumber 是面向客户的账户编号。netLiquidationValue、totalCashValue、dayBuyingPower、overnightBuyingPower 和 optionBp 描述余额及交易能力,dayTradesRemaining、isPdt 和 availableWithdraw 分别表示剩余日内交易次数、模式日内交易状态及可提取金额。这里展示的所有路径和凭据值都仅用于说明。

示例可以表示哪些行情和图表数据?

行情快照包含 tickerId、symbol、price、changeRatio、preClose、bidPrice、askPrice、high、low、fiftyTwoWkHigh、fiftyTwoWkLow 和 mkVolume。历史图表记录提供打包的价格柱数据,并包含 interval、timeZone、preClose 及用于分页的 hasMore。示例价格均为模拟值,不是实时行情源。

持仓和订单记录如何用于核对?

持仓提供 quantity、costPrice、lastPrice、marketValue 和 unrealizedProfitLoss,positionSummary.dayProfitLoss 补充当日盈亏。委托记录还包含 orderId、comboId、action、orderType、lmtPrice、filledQuantity、avgFilledPrice,以及 timeInForce 和 outsideRegularTradingHour。委托预检示例说明购买力检查与受理结果,并不提交真实交易。

数据模型是否包含模拟交易、自选列表和新闻?

包含。模拟账户记录提供模拟的 netLiquidationValue、totalCashValue、todayProfitLoss 和 positions。自选列表按 portfolioId 组织标的,并保留 addedPrice、addedTime;新闻记录包含 title、sourceName、newsTime、sentiment 和 relTickers。辅导工具可将模拟账户汇总与实盘资金字段对照,研究工具则能把已收藏标的与相关新闻关联起来。

与 Webull: Investing & Trading 相似的应用

  • Robinhood: Trading & Investing — Robinhood Markets 是加州门洛帕克的金融服务公司,应用内可交易股票、ETF、期权、期货、预测市场合约和加密货币,并于 2017 年 12 月推出免佣金期权交易。
  • Fidelity Investments — 富达投资(Fidelity)是波士顿的券商,经营证券执行与清算、管理共同基金和 ETF,并提供加密货币投资以及 IRA、401(k) 和 529 账户。
  • Charles Schwab — 嘉信理财(Charles Schwab)是得克萨斯州韦斯特莱克的券商,提供股票交易、投资组合管理和银行服务,2020 年 6 月起支持标普 500 成分股碎股,2011 年收购 OptionsXpress,2020 年 10 月收购 TD Ameritrade。
  • E*TRADE — 摩根士丹利旗下的 E*TRADE 是面向自主交易的美国券商,自 2019 年 10 月起对美国上市股票、ETF 和期权免佣金,并提供 E*TRADE Web 与 Power E*TRADE 交易台。
  • Interactive Brokers — 盈透证券(Interactive Brokers)是康涅狄格州格林尼治的券商,可在 170 多个市场交易股票、期权、期货、外汇、债券和基金,并于 2019 年 9 月推出美国免佣金的 IBKR Lite。
  • SoFi Invest — SoFi Active Investing 是 SoFi 免佣金、免交易费的股票和 ETF 经纪服务,提供一级和二级期权以及传统、Roth 和 SEP IRA,放在这家旧金山消费银行的应用里。
  • Moomoo — Moomoo 是富途控股的数字券商平台,2018 年面向美国投资者推出,通过持牌子公司交易股票和衍生品,并提供融资融券。

相关主题

  • Webull 数据 API
  • Webull 行情
  • Webull 持仓
  • Webull 订单
  • Webull 购买力
  • Webull 自选列表
  • Webull 模拟交易
  • Webull 市场数据
  • Webull 账户余额
  • org.dayup.stocks

需要集成这个 App 的数据 API?

我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。

  • 每个项目均签 NDA 与 SOW
  • 3–7 天交付
  • 验收通过后才付款
  • 仅在授权范围内作业

获取报价