AllTick API · AsyncAPI Specification
Alltick Api Event Surface
Version
View Spec
View on GitHub
Financial market dataReal-Time Datastock-market-dataforex-dataCryptocurrency Datacommodities-dataTick Datawebsocket-streamingFintechQuantitative Tradingmarket-data-apitrading-haltsAsyncAPIEvents
AsyncAPI Specification
generated: '2026-08-18'
method: searched
source: >-
https://en.apis.alltick.co/websocket-api/websocket-interface-api/transaction-quote-subscription +
https://en.apis.alltick.co/websocket-api/websocket-interface-api/handicap-quote-subscription +
https://en.apis.alltick.co/websocket-api/websocket-interface-api/cancel-quote-subscription +
https://en.apis.alltick.co/websocket-api/websocket-interface-api/ping-pong +
https://en.apis.alltick.co/integration-process/universal-standard-header-description/websocket-common-standard-header
checked: '2026-08-18'
summary: >-
AllTick has a genuine, production, push-based event surface — two WebSocket streams delivering
tick-by-tick trades and order-book depth — but ships NO machine-readable event contract for it.
The protocol is fully specified in prose (numbered cmd_id messages, request/response/push triples,
a mandatory heartbeat) and completely absent from every machine-readable artifact: the OpenAPI
covers only the 12 HTTP operations, and no AsyncAPI document exists on any host. This is a
streaming-first market-data vendor whose streaming half is invisible to tooling.
asyncapi:
present: false
probed:
- url: https://quote.alltick.co/asyncapi.json
status: 401
- url: https://en.apis.alltick.co/asyncapi.yaml
status: 404
- url: https://apis.alltick.co/api-reference/openapi.json
status: 200
note: the only machine-readable contract; HTTP only, no `webhooks` block, no callbacks
note: >-
quote.alltick.co returns its token gate ({"msg":"token is required","ret":401}) for every path,
so a 401 there is a gate, not a hidden document.
webhooks:
customer_registerable: false
openapi_webhooks_block: false
openapi_callbacks: false
note: >-
AllTick never calls a customer URL. Delivery is pull (HTTPS) or client-initiated subscribe-and-
receive (WebSocket). No `type: Webhooks` pointer is emitted, because AllTick advertises no
webhook surface and claiming one would be false.
streams:
- name: Stock market data stream
url: wss://quote.alltick.co/quote-stock-b-ws-api
markets: [Hong Kong stocks, US stocks, A-shares]
auth: "'?token=yourToken' appended to the handshake URL"
- name: Forex / crypto / commodity stream
url: wss://quote.alltick.co/quote-b-ws-api
markets: [forex, cryptocurrencies, precious metals, crude oil]
auth: "'?token=yourToken' appended to the handshake URL"
envelope:
request: {cmd_id: uint32, seq_id: uint32, trace: string, data: object}
response: {ret: int32, msg: string, cmd_id: uint32, seq_id: uint32, trace: string, data: object}
protocol:
- cmd_id: 22000
direction: client -> server
name: Heartbeat (ping)
description: Must be sent every 10 seconds.
- cmd_id: 22001
direction: server -> client
name: Heartbeat response (pong)
description: >-
No heartbeat received within 30 seconds and the server closes the connection.
- cmd_id: 22002
direction: client -> server
name: Subscribe order book (market depth)
payload: symbol_list[]
description: One active order-book subscription per connection; a new request replaces the old set.
- cmd_id: 22003
direction: server -> client
name: Subscribe order book — acknowledgement
- cmd_id: 22999
direction: server -> client (push)
name: Order book tick push
payload: code, seq, tick_time, bids[], asks[]
- cmd_id: 22004
direction: client -> server
name: Subscribe latest trade price (tick-by-tick)
payload: symbol_list[]
- cmd_id: 22005
direction: server -> client
name: Subscribe latest trade price — acknowledgement
- cmd_id: 22998
direction: server -> client (push)
name: Trade tick push
payload: code, seq, tick_time, price, volume, turnover, trade_direction
- cmd_id: 22006
direction: client -> server
name: Cancel quote subscription
payload:
cancel_type: 0=cancel all, 1=cancel order book, 2=cancel trade, 3=cancel exchange rate
- cmd_id: 22007
direction: server -> client
name: Cancel quote subscription — acknowledgement
not_supported:
- name: K-line push
detail: >-
AllTick states explicitly that the WebSocket interface does NOT push candlesticks; both
historical and real-time K-lines are HTTP-only.
source: https://en.apis.alltick.co/websocket-api/websocket-interface-api/ping-pong-1
constraints: rate-limits/alltick-api-rate-limits.yml
errors: errors/alltick-api-error-codes.yml
pointer_note: >-
Neither an `AsyncAPI` nor a `Webhooks` pointer is emitted in apis.yml. The event surface is real
and this artifact documents it faithfully, but AllTick publishes no AsyncAPI document and no
webhooks; asserting either would credit a contract that does not exist. Publishing an AsyncAPI 3.0
document for these two channels is the highest-value single artifact AllTick could add.
Work with this as data
Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for asyncapi
4 MCP tools reach this
find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/alltick-api-event-surface"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.