Every Pump.fun token, scored in real-time.
The Cookin API is a REST + WebSocket signal layer on top of Pump.fun and Solana memecoins. Quality scores, bundle detection, trader behavior, live trade frames. The same data our own UI runs on.
What every response tells you
Two ways to start
curl -sS -H "Authorization: Bearer $API_KEY" \
https://api.cookin.fun/v1/tokens/BgNrWZKAaZAa...
Snapshot schema →
const WebSocket = require("ws");
const API_KEY = process.env.API_KEY;
const url = `wss://api.cookin.fun/socket/websocket?vsn=2.0.0&api_key=${API_KEY}`;
const ws = new WebSocket(url);
ws.on("open", () => {
// Join frames:live (ref="1", join_ref="1").
ws.send(JSON.stringify(["1", "1", "frames:live", "phx_join", {}]));
// Heartbeat every 25s so Phoenix doesn't drop us.
let n = 2;
setInterval(() => {
ws.send(JSON.stringify([null, String(n++), "phoenix", "heartbeat", {}]));
}, 25_000);
});
ws.on("message", (buf) => {
const [_joinRef, _ref, _topic, event, payload] = JSON.parse(buf);
if (event === "frame") {
const trade = payload.data.trades[0];
console.log(payload.data.signature, trade.mint, trade.sol_amount);
}
});
frames:live schema →
API endpoints
The full public surface. Each route links to its full schema page.
Tokens
List endpoints are curated: only promising tokens, obvious rugs filtered out. Full details on the Token lists page.
GET/v1/tokens/new
Tokens deployed in the last few minutes.
GET
/v1/tokens/pumps
Tokens currently pumping.
GET
/v1/tokens/graduated
Tokens that recently graduated to Raydium / PumpSwap.
GET
/v1/tokens/survivors
Tokens still alive 3-24h after deploy.
GET
/v1/tokens/:mint
Full snapshot for one mint: score, holders, bundles, KOLs, cohorts, signals.
GET
/v1/tokens/:mint/trades
Recent trades for one mint, each enriched with the trader's stats at trade time.
Traders
GET/v1/traders/:wallet
Behavioral stats for one wallet: ROI, win rate, sell impact, holdings.
WebSocket
WStokens:live
Lifecycle events: created, graduated, DEX-paid, metadata retrieved, duplication flags flipped.
WS
frames:live
Enriched trade firehose. One frame per Solana signature; each trade carries per-trade trader context.
Built for
Full endpoint-per-use-case mapping in the Use cases guide.
Quick facts
https://api.cookin.fun
Authorization: Bearer <api_key>
Try it in the next minute
Mint a free API key, paste the curl one-liner from the Quickstart, get a live token list back. No credit card, no rate limit until you're actually using it in production.