Quick Start
Connect, authenticate, and receive announcements in five minutes.
1. Get an API key
Request a key on Telegram. Format: dsk_ + 64 hex characters.
dsk_a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890ab
The key is shown once at creation. Store it securely.
2. Connect
| Endpoint | Region | Coverage |
|---|---|---|
wss://cryptolisting.ws | AWS Tokyo | Binance + Upbit + Bithumb |
wss://kr.cryptolisting.ws | AWS Seoul | Upbit only |
Pick one endpoint per bot — the closest to your trading region. Same key works on both.
Pass the key as the X-API-Key header:
pip install websocket-client
import json, websocket
URL = "wss://cryptolisting.ws"
HEADER = ["X-API-Key: dsk_your_key_here"]
def on_message(ws, message):
data = json.loads(message)
if data["type"] == "announcement":
print(f"{data['listingType']} | {data['ticker']} | {data['publisher']}")
print(f" {data['title']}")
websocket.WebSocketApp(URL, header=HEADER, on_message=on_message).run_forever()
3. Receive messages
On connect, the server sends a welcome message with your tier and limits. Then a stream of announcement and heartbeat (every 30 s) messages.
{
"type": "announcement",
"title": "Binance Will List TOKEN (TOKEN)",
"ticker": "TOKEN",
"publisher": "binance",
"listingType": "spot_listing",
"detectedTimestampUs": 1710345000005000,
"dispatchTimestampUs": 1710345000006000,
"abnormalDetectionLatency": false
}
On the free tier, ticker is "" and title carries an upgrade notice for every event except not_listing. Other fields are unchanged. See Tier behavior.
4. Filter by exchange (optional)
Add the cex query parameter to scope the stream:
wss://cryptolisting.ws?cex=binance
wss://cryptolisting.ws?cex=binance,upbit
Omit it to receive every supported exchange.
Next
- Message Reference — every field, every event type
- Error Handling — close codes and reconnection
- Code Examples — production-ready clients
CryptoListing.ws is a technical data feed, not financial advice. See Legal.