New Listings Feed WebSocket
A membership key is required to access the endpoints. Get one at t.me/NLF_websocket_bot
Endpoints
Some announcements will come faster through different endpoints. We recommend you to connect to both locations and parse whatever comes first, or review the timings and choose what to execute on.
Tokyo
wss://tokyo.newlistings.pro/v1/new-listingsNew Listings Feedwss://tokyo.newlistings.pro/v1/delistingsDelistings Feed
Frankfurt
wss://newlistings.pro/v1/new-listingsNew Listings Feedwss://newlistings.pro/v1/delistingsDelistings Feed
New York
wss://ny.newlistings.pro/v1/new-listingsNew Listings Feedwss://ny.newlistings.pro/v1/delistingsDelistings Feed
Setting up a WebSocket connection
const WebSocket = require('ws');
let pingInterval;
const connectWebSocket = () => {
const ws = new WebSocket('wss://newlistings.pro/v1/new-listings', {
headers: { 'authorization': 'Bearer your-api-key' } // ← put your key here
});
ws.on('open', () => {
console.log('WebSocket Open');
clearInterval(pingInterval);
pingInterval = setInterval(() => { if (ws.readyState === WebSocket.OPEN) ws.ping() }, 30000);
});
ws.on('message', (data) => {
try { console.log(JSON.parse(data)); } catch(e) { console.error('Parse Error:', e); }
});
ws.on('close', () => {
console.log('WebSocket Closed, reconnecting in 1s...');
clearInterval(pingInterval);
setTimeout(connectWebSocket, 1000);
});
ws.on('error', (err) => {
console.error('WebSocket Error:', err.message);
clearInterval(pingInterval);
});
};
connectWebSocket();# pip install websocket-client
import json, time, websocket
from datetime import datetime
URL = "wss://newlistings.pro/v1/new-listings"
HEAD = ["authorization: Bearer your-api-key"] # ← put your key here
def on_msg(ws, message):
timestamp = datetime.now().strftime('%H:%M:%S.%f')[:-3]
print(f"[{timestamp}] {message}")
try:
data = json.loads(message)
print(f"[{timestamp}] {json.dumps(data, indent=2)}")
except json.JSONDecodeError:
print(f"[{timestamp}] {message}")
print("-" * 80)
def on_err(ws, error):
print(f"\n[{datetime.now().strftime('%H:%M:%S')}] Error: {error}")
def on_close(ws, close_status_code, close_msg):
if close_status_code:
print(f" Status code: {close_status_code}")
if close_msg:
print(f" Message: {close_msg}")
print("Reconnecting in 1 second...")
time.sleep(1)
connect()
def connect():
print(f"[{datetime.now().strftime('%H:%M:%S')}] Connecting to {URL}")
websocket.WebSocketApp(
URL, header=HEAD,
on_message=on_msg,
on_error=on_err, on_close=on_close
).run_forever(ping_interval=30, ping_timeout=10)
connect()GET (historical) channels
Frankfurt endpoints
https://newlistings.pro/v1/new-listingshttps://newlistings.pro/v1/delistings
Tokyo endpoints
https://tokyo.newlistings.pro/v1/new-listingshttps://tokyo.newlistings.pro/v1/delistings
New York endpoints
https://ny.newlistings.pro/v1/new-listingshttps://ny.newlistings.pro/v1/delistings
Get historical data using an authenticated GET request to endpoint example:
curl -H "authorization: Bearer your-api-key" https://newlistings.pro/v1/new-listingsExample announcement:
{
"id": 1739462417129,
"time": 1761719456916,
"time_iso": "2025-10-29T06:30:56.916Z"
"announcement": "$SPX, $KAS listed on Coinbase International futures",
"original_title": "@CoinbaseIntExch will add support for Spx6900 and Kaspa perpetual futures on Coinbase International Exchange and Coinbase Advanced. The opening of our SPX-PERP and KAS-PERP markets will begin on or after 9:30 am UTC 20 FEB 2025. $SPX $KAS",
"url": "https://twitter.com/CoinbaseIntExch/status/1890068474581721529",
"exchange": "coinbaseinternational",
"type": "futures",
"detections": [
{
"ticker": "SPX"
},
{
"ticker": "KAS"
}
],
"delay":"0ms"
}{
"id": 1739462417129,
"time": 1761719456916,
"time_iso": "2025-10-29T06:30:56.916Z"
"announcement": "$ASTER added to Binance alpha projects",
"original_title": "",
"url": "https://www.binance.com/en/binancewallet/0x000ae314e2a2172a039b26378814c252734f556a",
"detections": [
{
"ticker": "ASTER",
"projectName": "Aster",
"onchain": {
"contract": "0x000ae314e2a2172a039b26378814c252734f556a",
"chain": "bsc"
}
}
],
"exchange": "binance",
"type": "alpha",
"delay":"0ms"
}Listings data
binance
okx
lighter
hyperliquid
bybit
coinbase
coinbaseinternational
robinhood
bithumb
upbit
For Binance
alpha
spot
futures
hodler_airdrop
megadrop
launchpool
pre-market
For Bybit
spot
futures
soon-spot
soon-futures
launchpad
pre-market
For Hyperliquid
futures
For Coinbase
spot
roadmap
For Coinbase International
futures
pre-market
For Robinhood
spot
For Bithumb
spot
For Upbit
spot
For Lighter
pre-market
bsc
base
solana
linea
tron
sui
sonic
ethereum
Delistings data
coinbase
okx
bybit
binance
bithumb
For all exchanges
spot
futures
Binance exclusive
monitoring
alpha
Additional information
Unable to connect?
If you repeatedly attempt to connect with invalid credentials (e.g. wrong token, expired subscription, or exceeding the IP limit), your IP may be temporarily blocked.
This block is automatic and short-term. Simply wait about an hour before trying again with valid credentials.
Useful links
Bybit API docs: https://bybit-exchange.github.io/docs/
Binance API docs: https://www.binance.com/binance-api
Official Binance API Telegram support: https://t.me/binance_api_english
Last updated