Solana data, streamed in real time.
New pairs and prices from every major exchange, parsed and delivered over one fast websocket.
No credit card required · Instant setup
Clean, parsed events.
No decoding, no instruction parsing. Just the pairs and swaps you care about.
{
"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.
Connected in seconds.
Pick your language, paste, run.
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())
Explore Solana archive data.
Go beyond the live feed with downloadable hourly archives of pairs and swaps. Replay historical market activity for backtesting, research, and analysis.
| File | Hour (UTC) | Size | Download |
|---|---|---|---|
20261007-180000.zip |
18:00 | 98 MB | |
20261007-190000.zip |
19:00 | 104 MB | |
20261007-200000.zip |
20:00 | 101 MB | |
20261007-210000.zip |
21:00 | 96 MB |
Everything you need.
Nothing you don't.
Fast
Get new tokens and prices long before they appear on platforms like Dexscreener.
Easy Setup
Get going in seconds with multiple language examples.
Cost Effective
For the data we send you, we are more cost effective 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.
Simple, flat monthly pricing.
Free
Best for evaluating the platform.
- 5,000Websocket Messages
- 1,000REST API Requests
- UnlimitedArchive Requests
- Filtered WS stream only
- 1 WS connection
Lite
For users with light usage, monitoring a few tokens occasionally.
- 2 MillionWebsocket Messages
- 1.5 MillionREST API Requests
- UnlimitedArchive Requests
- 1 WS connection
- Community support
- Commercial useAttribution required
Basic
For users with moderate usage, monitoring multiple tokens 24/7.
- 200 MillionWebsocket Messages
- 5 MillionREST API Requests
- UnlimitedArchive Requests
- 5 WS connections
- Community support
- Commercial useAttribution required
Questions, answered.
What is SolanaStreaming?
Where do you get your data from?
How delayed is the data?
What data do you parse?
Where are the streaming servers located?
Can I just get this data from the chain myself?
Will this make me money?
Does this api give me token price?
quotePrice. This can
then be converted into USD depending on the pair quote token.How can I unsubscribe?
Can I pay with crypto?
Not what you were looking for?
Find the best solution by comparing against others.