On this page
Access comes with your account. Sign in to BLIX with Google, open Developers, and your API session and the MCP connector command are shown there, ready to copy. Everything below assumes you are signed in. Questions: the Discord.
Setup
pip install requests
export BLIX_SESSION="<from your Developers page>"Every launch, as it happens
import json, os, requests
BLIX = "https://blixvip.com"
CK = {"blix_wait": os.environ["BLIX_SESSION"]}
def launches():
with requests.get(f"{BLIX}/api/stream", stream=True, cookies=CK) as r:
event = None
for line in r.iter_lines(decode_unicode=True):
if line.startswith("event:"):
event = line[6:].strip()
elif line.startswith("data:") and event == "launch":
yield json.loads(line[5:])
for coin in launches():
print(coin["symbol"], coin["name"], coin["mint"], "dev", coin["dev"])The final stretch, ranked
pulse = requests.get(f"{BLIX}/api/pulse", cookies=CK).json()
for c in sorted(pulse["stretch"], key=lambda c: -c["hl"]["h"]):
print(f'{c["symbol"]:8} mcap ${c["mcap"]:>9,.0f} progress {c["progress"]*100:5.1f}% holders {c["hl"]["h"]:4} bundles {c["hl"]["bd"]:4.1f}% ai {c["ai"]["grade"]}')Snipers, bundles and the dev
def screen(mint):
h = requests.get(f"{BLIX}/api/holders/{mint}", params={"top": 10}, cookies=CK).json()
if h.get("partial"):
return "seen mid-life: sniper and bundle figures unknown"
flags = []
if h["dev"]["pct"] > 5: flags.append(f'dev holds {h["dev"]["pct"]:.1f}%')
if h["dev"]["sold"] == "all": flags.append("dev sold everything")
if h["bundle"]["pct"] > 20: flags.append(f'bundles hold {h["bundle"]["pct"]:.1f}%')
if h["snipers"]["pct"] > 20: flags.append(f'snipers hold {h["snipers"]["pct"]:.1f}%')
if h["top10"] > 40: flags.append(f'top 10 hold {h["top10"]:.1f}%')
return ", ".join(flags) or "clean"
print(screen("<mint>"))Candles and a real quote
candles = requests.get(f"{BLIX}/api/candles/<mint>", params={"tf": 60}, cookies=CK).json()
print("last 1m candle", candles[-1])
q = requests.get(f"{BLIX}/api/quote", params={"mint": "<mint>", "side": "buy", "amount": 0.5, "slip": 300}, cookies=CK).json()
print("0.5 SOL buys", q["outAmount"], "price impact", q["priceImpactPct"])A first bot: alert on clean final-stretch coins
import time
seen = set()
while True:
for c in requests.get(f"{BLIX}/api/pulse", cookies=CK).json()["stretch"]:
if c["mint"] in seen or c["hl"]["h"] < 50:
continue
if screen(c["mint"]) == "clean":
print("clean final-stretch coin:", c["symbol"], c["mint"], "progress", round(c["progress"] * 100))
seen.add(c["mint"])
time.sleep(5)The API does not sign transactions: this bot alerts, and can paper-trade through POST /api/paper/quoted. To trade for real, open the coin in the terminal.
The BLIX community
Every account comes with the BLIX Discord: the people trading on the terminal, the narratives as they form, feature drops before they are announced, and the team answering questions. Join the Discord once you have signed up.
More for developers
BLIX is independent and not affiliated with pump.fun. Facts about pump.fun were checked against public sources on October 10, 2026 and can change.
Frequently asked questions
Is there an official pump.fun Python API?
No. pump.fun publishes no API. BLIX serves pump.fun as HTTPS and JSON to your account, which Python reads with requests.
Do I need an API key?
No. Your account's session, shown on the Developers page, is sent as a cookie on each request.
Can I buy and sell from Python?
Not for real money: the API quotes through Jupiter and runs your paper desk, and never signs. Real trades are made in the terminal.
What are the limits?
Fair use per account; quotes and paper writes are paced. Poll the Pulse every few seconds rather than every few milliseconds, and use the stream for anything live.

