Real-Time Solana Data at Your Fingertips

Stream new pairs and prices over a super fast websocket API

Get API Key View Docs
No credit card required • Instant Setup
Supported Exchanges
Raydium Raydium
Pumpfun Pumpfun
Meteora Meteora
See All
Community & Stats
Used By
1K+
Developers
Uptime
99.99%
Reliability
Data Rate
~450
Swaps every second

👀 See The Data...

{
  "slot": 301578636,
  "signature": "UWnvRXCHpmDxb9tQAYYEEoY8r2JVZ3CcbDLpsFp8EGBdv5njjyEkGXhYxcFCc7Y68X15SWrfve4rycvM4vGRJh7",
  "blockTime": 1731688226,
  "pair": {
      "sourceExchange": "raydium",
      "ammAccount": "CDnqCfvxQvncrWpoTT36xBCcthzQyh8RumuvoFsFZNVC",
      "baseToken": {
          "account": "G9GZaVRPiYRfNQF7oqNoeXKwB5jFbLSHe5fxLcCpump",
          "info": {
              "decimals": 9,
              "supply": "206900000000000000",
              "metadata": {
                  "name": "randomcoin",
                  "symbol": "randomcoin",
                  "logo": "https://arweave.net/xDf9sPlSY4SMmFQzyCK-xakNl-m7a17lKPO6BttSO3M"
              },
              "mintAuthority": null,
              "freezeAuthority": null
          }
      },
      "quoteToken": {
          "account": "So11111111111111111111111111111111111111112",
          "info": null
      },
      "baseTokenLiquidityAdded": "206900000000000000",
      "quoteTokenLiquidityAdded": "630000000000"
  }
}
{
  "slot": 315256016,
  "signature": "2BpJTsumysXzfX7BZS8u3o8xaZUdov3QGSijfB9asBfWowsRuvGwFY88FqaeWZzbywHobTE5uvDPzcV4LnaGdAbX",
  "blockTime": 1737393555,
  "swap": {
      "ammAccount": "CDHWtKhraDWyp57B2bp7DM5DwHGiyRD8f6n5sKKR7VWo",
      "baseTokenMint": "BwyMeGp9kqCQ7zYn1mEj5REkMFKZhRRHfCEJ8eqcmoon",
      "quoteTokenMint": "So11111111111111111111111111111111111111112",
      "walletAccount": "5S2fWgsbzqTTGVkUUrk83iH17h9T8C5ojYxhrDUWbg6L",
      "quotePrice": "4.665456971e-06",
      "usdValue": 466.04,
      "baseAmount": "398674773250",
      "swapType": "buy"
  }
}

Get tokens up to 1 minute before they're listed on Dexscreener

🧑‍💻 Getting Started

wscat --connect wss://api.solanastreaming.com --header X-API-KEY:923aeea0ac3549a80dcd9f881986eaf7 --execute '{"id":1,"method":"newPairSubscribe","include_pumpfun": true}' -w 600

# For bash:
# 1. Install wscat with npm install -g wscat
# 2. Get your api key
# 3. Copy and paste the command above into your terminal with your api key.
// go get github.com/gorilla/websocket
// Connect
c, _, err := websocket.DefaultDialer.Dial("wss://api.solanastreaming.com/", http.Header{
    "X-Api-Key": []string{"923aeea0ac3549a80dcd9f881986eaf7"}
})
if err != nil {
    log.Fatal("dial:", err)
}
defer c.Close()

// Start the pair / price stream
err = c.WriteMessage(websocket.TextMessage, []byte(`{"id":1,"method":"newPairSubscribe","include_pumpfun": true}`))
if err != nil {
    log.Fatal("write:", err)
}

for {
    // Continuously read pairs / prices
    _, message, err := c.ReadMessage()
    if err != nil {
        log.Fatal("read:", err)
    }
    log.Printf("recv: %s\n", message)
}
// npm install ws
const WebSocket = require('ws');

(async function () {
    // Connect
    const ws = new WebSocket('wss://api.solanastreaming.com/', undefined,
        {
            headers: {
                'X-API-KEY': '923aeea0ac3549a80dcd9f881986eaf7'
            }
        }
    );
    ws.on('error', console.error);
    ws.on('open', () => {
        // Start the pair / price stream
        ws.send('{"id":1,"method":"newPairSubscribe","include_pumpfun": true}');
    });
    ws.on('message', (data) => {
        // Continuously read pairs / prices
        console.log('received: %s', data);
    });
})();
// composer require textalk/websocket
$client = new \WebSocket\Client("wss://api.solanastreaming.com/", [
    'headers' => [
        'X-Api-Key'=>'923aeea0ac3549a80dcd9f881986eaf7'
    ], 
    'timeout' => -1
]);
$client->text('{"id":1,"method":"newPairSubscribe","include_pumpfun": true}');

while(true){
    $message =  $client->receive();
    echo "Received: ", $message, "\n";
}
# pip3 install websockets
import asyncio
import websockets
import json

async def main():
    uri = "wss://api.solanastreaming.com"
    async with websockets.connect(uri, additional_headers={"X-API-KEY": "923aeea0ac3549a80dcd9f881986eaf7"}) as websocket:
        # Subscribe to new pairs
        await websocket.send(json.dumps({"method":"newPairSubscribe","include_pumpfun": true}))
        
        # Listen for messages
        async for message in websocket:
            print(json.loads(message))

asyncio.get_event_loop().run_until_complete(main())
🕵 Not what you were looking for?
Find the best solution by comparing against others:

🚀 Even more features...

Fast

Average 800 milliseconds behind the live chain time. This is faster than DexScreener!

Easy Setup

Get going in seconds with multiple language examples

Cheap

For the data we send you, we are significantly cheaper than our closest competitor

Cancel Anytime

As we bill monthly, you can cancel your subscription any time.

Secure Websocket

All data is transferred over an encrypted websocket

Free Tier

Try out a feed to see if it fits your needs.

💳 Pricing

Free

Best for evaluating the platform.

$0 / month

5,000
Websocket Messages
1,000
HTTP API Requests
Filtered WS Stream Only
1 WS Connection

Lite

For users with light usage, monitoring a few tokens occasionally.

$39 / month

2 Million
Websocket Messages
1.5 Million
HTTP API Requests
1 WS Connection
Community Support
Commercial Use
Attribution Required

⭐️ Recommended

Basic

For users with moderate usage, monitoring multiple tokens 24/7.

$99 / month

200 Million
Websocket Messages
5 Million
HTTP API Requests
1 WS Connection
Community Support
Commercial Use
Attribution Required

Pro

For more advanced heavy usage, like monitoring the entire chain 24/7.

$199 / month

2 Billion
Websocket Messages
10 Million
HTTP API Requests
1 WS Connection
Community & Live Technical Support
Commercial Use
Attribution Required

Please contact us for any enterprise grade or multi connection usage.

🙋 FAQ

We are a solana blockchain data processing service. We parse raw blockchain data, then make it available via a very fast websocket. We have multiple forms of data that we stream so you can choose what data you require.

We don't have the same expenditures as other big companies to put it simply. We don't have the expense of offices or employing a lot of staff. We also dont have a fancy website as SolanaStreaming was built by back end developers that specialize in reliable low latency applications so we spend more time on the product rather than a fancy marketing website. We also don't believe in charging a huge markup and so the end result is a much cheaper product. We don't spend a lot on marketing so spreading the word is always appreciated to help us keep it going.

Another factor of cost with solana products relate to the amount of data they consume. Solana generates approximately 500GB of new data each day! We can parse and filter the data, greatly reducing its size, then pass it on to you, greatly reducing the bandwidth cost.

We get data directly from the solana chain. We use multiple node providers to source the data for reliability, then parse the blocks in real time and send the data on to you.

You can expect a latency of anywhere between milliseconds to a couple of seconds as an estimate for both pairs and swaps. However it is good practice to check how far behind the event is before using it.

We focus on new pairs and swaps. You can find our supported exchanges here. We're constantly adding new features & updates so we hope to include more exchanges in the future.

We currently operate our service from servers located in London (UK).

Yes, but you will need to run either a full Solana node or connect to a costly shared rpc provider. Both options are expensive and require advanced in-depth Solana knowledge to get started. We offer a simple, pre-parsed filtered data stream that you can connect to in seconds.

We do not offer any financial or trading advice, we only process solana blockchain data. It is entierly up to you how you use the data. We are not liable for any financial losses as a result of using this data.

Yes. It is available on the swap object in a field called quotePrice. This can then be converted into USD depending on the pair quote token.

You can unsubscribe from your upgrade at any time following the manage subscription link on the dashboard. This will take you to a page managed by Paddle which has an unsubscribe button.

Not yet... but watch out. We're looking into it and we hope to support this in the future.
Designed for developers.
Built for speed.
Tested for reliability.