Every pump.fun launch today, with the dev's record
· · Fields and freshness as of 2026-10-27.
Where can I get a list of today's pump.fun launches with each dev's history?
GET https://pumpdata.fun/launches/{YYYY-MM-DD}.json lists every pump.fun launch of a UTC day, for today and the two days before it, free and without a key. Each launch comes with its deployer's record before it (launches, graduations, the gap since their last launch, launches in the day before), who bought in its first 10 seconds and how much of the supply they took, and when it migrated, if it did. Today's list is filled hourly from our live recorder; the two days before are whole.
What is in each launch
The answer is {day, complete, complete_to, count, columns, launches}; each launch is a row in the order of columns, to keep a day of 40,000 to 50,000 launches small.
| Column | What it is |
|---|---|
mint | the coin's address |
created | when it launched (unix seconds) |
creator | the wallet that launched it |
deployer_launches_before | that wallet's pump.fun launches before this one |
deployer_graduations_before | how many of those had graduated by this launch |
deployer_gap_s | seconds since that wallet's previous launch (null on its first) |
deployer_launches_last_day | its launches in the 24 hours before this one |
buyers_first_10s | wallets that bought in the coin's first 10 seconds |
bundle_supply_share | the share of supply those first-10-second buyers took |
migrated_at | when the coin reached PumpSwap, if it did (null if not yet) |
Everything but migrated_at is as of the launch, counted before the coin existed, so a rule built on it sees nothing from after the launch (the point-in-time guarantee). So a rule you run on the list sees only what was known when each coin launched.
Today's launches from devs with a record
A starting filter: devs who have graduated a coin before, with 50 launches or fewer and not launching all day, on coins without a big bundle. Change the four lines to your own rule.
# Today's pump.fun launches from deployers with a record, without the serial launchers. Free, no key.
import json, urllib.request
from datetime import datetime, timezone
day = datetime.now(timezone.utc).strftime("%Y-%m-%d")
with urllib.request.urlopen(f"https://pumpdata.fun/launches/{day}.json", timeout=60) as r:
L = json.load(r)
launches = [dict(zip(L["columns"], row)) for row in L["launches"]]
print(f"{day}: {len(launches)} launches to {L['complete_to']}")
keep = [c for c in launches
if c["deployer_graduations_before"] >= 1 # the dev has graduated a coin before
and c["deployer_launches_before"] <= 50 # not a launch factory
and c["deployer_launches_last_day"] < 5 # not launching all day
and c["bundle_supply_share"] < 0.3] # no big bundle in the first 10 seconds
for c in sorted(keep, key=lambda c: -c["created"])[:20]:
t = datetime.fromtimestamp(c["created"], timezone.utc).strftime("%H:%M")
print(t, c["mint"], f'dev {c["deployer_graduations_before"]}/{c["deployer_launches_before"]} graduated,',
f'bundle {c["bundle_supply_share"]:.0%}', "migrated" if c["migrated_at"] else "")
Today's first launches
Per launch, a wallet's first coin does better than its later ones: across the deep tables as of October 16, 2026, first launches graduated 2.67% of the time, against 0.39% for later launches by wallets that had never graduated a coin, and 1.34% to 1.68% for wallets that had. A first launch is also where the manufactured graduations hide: a quarter of graduates are bought whole by their launcher in the first seconds, usually from a fresh wallet. The bundle check screens those out. And a fresh wallet is not always a fresh person; serial operators use new wallets too.
# Today's first launches: wallets launching on pump.fun for the first time, without the buy-it-all-yourself ones.
import json, urllib.request
from datetime import datetime, timezone
day = datetime.now(timezone.utc).strftime("%Y-%m-%d")
with urllib.request.urlopen(f"https://pumpdata.fun/launches/{day}.json", timeout=60) as r:
L = json.load(r)
launches = [dict(zip(L["columns"], row)) for row in L["launches"]]
first = [c for c in launches
if c["deployer_launches_before"] == 0 # the wallet's first pump.fun launch
and c["bundle_supply_share"] < 0.5] # not bought up by its own first-10-second buyers
print(f"{len(first)} first launches without a big bundle, of {len(launches)} launches")
for c in sorted(first, key=lambda c: -c["created"])[:20]:
t = datetime.fromtimestamp(c["created"], timezone.utc).strftime("%H:%M")
print(t, c["mint"], f'{c["buyers_first_10s"]} buyers in 10 s, bundle {c["bundle_supply_share"]:.0%}',
"migrated" if c["migrated_at"] else "")
For one coin's full check (its look-alikes, insiders now, top holders), open the free coin check or call GET /launch/{mint} with a free key. To test a rule over past weeks, see backtesting with /replay.
Questions
Is the pump.fun launch list free?
Yes. GET https://pumpdata.fun/launches/{YYYY-MM-DD}.json needs no key and no payment; it is limited per address like the other free pages. A whole day is about 40,000 to 50,000 launches, around 6 MB of JSON.
How fresh is today's list?
Within about an hour. Today's launches come from our live recorder, filled into the list every hour; complete_to says how far the list goes. A past day is whole and does not change.
Which fields can a backtest use?
Everything except migrated_at is as of the launch: the deployer's launches, graduations, gap since their last launch and launches in the day before were all counted before this coin existed, and the bundle is its first 10 seconds. migrated_at is when the coin reached PumpSwap, a later fact, so a rule may use it only at or after that time.
What is a first-time deployer?
A wallet with no pump.fun launch before this one: deployer_launches_before is 0. On Oct 20 and 25, 2026, one launch in six or seven came from a first-time deployer; most launches come from wallets that have launched before, many of them hundreds of times.
How far back does the list go?
The last three UTC days: today and the two before it. An older day answers 404 out_of_window, with the first day the list covers; every day since pump.fun's first is in the bulk data. A day not started yet answers 404 not_built_yet with the latest whole day.