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-listings New Listings Feed

  • wss://tokyo.newlistings.pro/v1/delistings Delistings Feed

Frankfurt

  • wss://newlistings.pro/v1/new-listings New Listings Feed

  • wss://newlistings.pro/v1/delistings Delistings Feed

New York

  • wss://ny.newlistings.pro/v1/new-listings New Listings Feed

  • wss://ny.newlistings.pro/v1/delistings Delistings 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();

GET (historical) channels

Frankfurt endpoints

  • https://newlistings.pro/v1/new-listings

  • https://newlistings.pro/v1/delistings

Tokyo endpoints

  • https://tokyo.newlistings.pro/v1/new-listings

  • https://tokyo.newlistings.pro/v1/delistings

New York endpoints

  • https://ny.newlistings.pro/v1/new-listings

  • https://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-listings

Example 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"
}

Listings data

  • binance

  • okx

  • lighter

  • hyperliquid

  • bybit

  • coinbase

  • coinbaseinternational

  • robinhood

  • bithumb

  • upbit

Delistings data

  • coinbase

  • okx

  • bybit

  • binance

  • bithumb

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.

Last updated