Is there a free pump.fun API? What exists and what it costs
Short answer: no — pump.fun does not ship a public, documented market-data API you can build on. Longer answer: the data you want lives on-chain, the site's internal endpoints are not a product, and running your own indexer is free the way owning a boat is free. There is currently one way to get a free pump.fun API with real depth: the Raiden API private beta, where keys are free and invite-only. This page walks through every option honestly — what exists, what each route actually costs, and how to get a key.
Does pump.fun have an API?
What pump.fun officially gives you: a website, the on-chain programs (the bonding curve and the AMM), and the published IDLs of those programs — enough to decode every instruction yourself if you run your own infrastructure. What it does not give you: a hosted, keyed, documented REST API with history, candles, wallet analytics or an SLA. A true pump.fun public API does not exist today.
Yes, the site's frontend talks to internal endpoints, and yes, you can watch them in your browser's network tab. But they are internal for a reason: undocumented, unversioned, shaped for one specific UI, sitting behind anti-bot protection, and free to change or vanish in any deploy. Building a product on another product's private endpoints is not an integration — it is a countdown.
Why scraping pump.fun doesn't work
The next idea everyone has is scraping — the site or its internal endpoints. Four problems, in increasing order of severity:
- You get rate-limited, then blocked. The site is defended like any high-traffic consumer app. Sustained polling from a datacenter IP is exactly the traffic those defenses exist for.
- It breaks silently. Internal endpoints and page markup change without notice. Your pipeline doesn't error — it quietly starts missing fields.
- There is no history. A scrape sees what the page shows right now. It cannot backfill last month's launches, reconstruct a wallet's PnL, or build candles from before the moment you started.
- You miss failed transactions entirely. A sniper's buy that landed on-chain and reverted never renders in any UI. If you care about land rates, fee wars or sniper behavior, the most interesting rows are invisible to a scraper by construction.
The on-chain route: free, but not cheap
Since the data is on-chain, you can index it yourself: subscribe to a Geyser/gRPC stream, decode pump.fun and pump-AMM instructions with the published IDLs, and write everything to a database. This is the honest "free" option, and it is real — it is exactly what Raiden runs. It is also a serious engineering project: a streaming pipeline that can never fall behind, decoders for every instruction variant (they change), storage that grows by hundreds of gigabytes as swaps accumulate, and — the hard part — backfill: historical Solana data is bulky and slow to replay, so "I'll just index from today" becomes a permanent gap in your dataset. Free as in no invoice; expensive as in months of your time. If the goal is historical analysis rather than infrastructure, start from pulling pump.fun historical data in Python instead.
A free pump.fun API, while the beta lasts
The Raiden API is the indexer-as-a-product version of the above, currently in private beta with free, invite-only keys:
- 76 REST endpoints (at the time of writing) covering the screener, token detail, swaps, candles, holders, launch/bundle analysis, trust scoring, wallet PnL, funding chains, creators, leaders and aggregates — every one documented in the API docs with a copy-paste request and its exact response.
- WebSocket streams — custom filtered feeds (swaps from your wallet lists, new creations, graduations, big trades) pushed in realtime; see the WebSocket guide.
- Six months of tick-level retention — at the time of writing, the complete record since May 1, 2026: 1.9M+ tokens, every swap, candles down to 1-second resolution.
- Sub-second freshness — swaps are queryable moments after they land, and cached routes respond with a p50 around 18ms.
- Failed transactions included — every pump.fun transaction that landed and reverted is indexed on the same 6-month window — the dataset scraping can never reach.
What you can query with a free key
| You want | Call | Notes |
|---|---|---|
| New launches & screener | GET /tokens | sort=newest|last_trade, keyset pagination for bulk export |
| Trade tape | GET /tokens/{mint}/swaps | failed=1 interleaves reverted attempts |
| OHLCV candles | GET /tokens/{mint}/candles | tf=1s|30s|1m|1h|1d |
| Wallet PnL | GET /wallets/{addr}/stats | Realized + unrealized, net of ALL fees |
| Rug risk | GET /tokens/{mint}/trust | Live 0–100 score with a verdict |
| Realtime | WS /ws | Custom streams from your wallet lists |
Authentication is one header. The screener doubles as a bulk exporter — follow
next_cursor until it is empty:
curl -H "X-API-Key: $RAIDEN_KEY" \ "https://terminal.raiden.wtf/api/tokens?sort=newest&limit=2" { "data": [ { "mint": "9xQm…pump", "creator": "5Q5q…Funr", "name": "Example Token", "symbol": "EXMPL", "status": "bonding", "created_at": "2026-07-24T09:41:14Z", "created_slot": 348812944, "last_price": "0.00000042", "last_trade_at": "2026-07-24T09:44:30Z", "vol_1h": "488888889", "trades_1h": 1342, "dev_score": 62, "dev_flags": ["bundle_dev"], "dev_funder": "Coinbase", … }, … ], "next_cursor": "2026-07-24T09:44:30.123456789Z" }
Candles go down to 1-second resolution — enough to reconstruct the first minutes of a launch tick by tick:
curl -H "X-API-Key: $RAIDEN_KEY" \ "https://terminal.raiden.wtf/api/tokens/9xQm…pump/candles?tf=1s&limit=2" { "data": [ { "time": "2026-07-24T09:41:14Z", "open": "0.00000042", "high": "0.00000051", "low": "0.00000039", "close": "0.00000048", "volume": "488888889", "trades": 137 }, … ] }
And any wallet resolves to a full all-time profile — PnL net of every fee, win rate, hold times, behavior flags:
curl -H "X-API-Key: $RAIDEN_KEY" \ "https://terminal.raiden.wtf/api/wallets/8psN…VRtf/stats" { "trader": "8psN…VRtf", "realized_pnl": "184500000000", "unrealized": "-12750000000", "total_pnl": "171750000000", "win_rate": 0.5853658536585366, "tokens_traded": 312, "trades": 1944, "avg_hold_sec": 1837.42, "flags": ["sniper", "profitable", "whale"], … }
data envelope; paginated ones add next_cursor.How to get a key
Three steps, no card, no form-maze:
- Open the Terminal at terminal.raiden.wtf and connect your wallet — the wallet is your identity; there is no email signup.
- Request access. During the private beta, keys are granted by hand in invite waves — telling us what you're building (a line is enough) helps your wave come sooner. The docs page also links the Raiden Discord if you'd rather ask there.
- Export the key and go. Every snippet in the docs runs as-is once
RAIDEN_KEYis set.
That's the honest map. A pump.fun API, free and worth building on, exists in exactly one place right now — and while the beta lasts, the only cost is asking. Start with the endpoint reference, pull your first dataset with the Python historical-data guide, then go realtime with a WebSocket stream.
Frequently asked questions
Does pump.fun have an official public API?
No. pump.fun publishes the IDLs of its on-chain programs, which help you decode transactions yourself, but it does not offer a hosted, documented, keyed market-data API. The endpoints its own website uses are internal: undocumented, unversioned, protected by anti-bot layers, and free to change or disappear at any time.
Is the Raiden pump.fun API free?
Yes, during the private beta. Keys are free and invite-only: you request access with your wallet from the Terminal and keys are granted in invite waves. Paid tiers will be announced when the beta opens to the public — early users keep preferential terms.
How much historical data does the free API include?
Six months of rolling tick-level retention — at the time of writing that is the complete record since May 1, 2026: every swap, candles down to 1-second resolution, wallet PnL and positions, plus failed (landed-but-reverted) transactions on the same window.
Can I get failed pump.fun transactions from an API?
Only from an indexer that decodes them on-chain. Failed attempts that landed and reverted never appear in any UI, so scraping cannot see them. Raiden indexes them: pass failed=1 on the swaps endpoints, or call the wallet failed endpoint for every reverted pump.fun transaction on record.
How do I get a free API key?
Open Raiden Terminal, connect your wallet and request access. Keys are granted by hand in invite waves during the private beta; you can also drop your use-case in the Raiden Discord linked from the docs page.
What format do amounts come back in?
Big numbers are JSON strings to avoid precision loss: SOL amounts in lamports (1 SOL = 1,000,000,000 lamports) and token amounts in raw units. Counts and rates are plain numbers, and list endpoints return a data envelope — paginated ones add a next_cursor for keyset export.