Documentation

Hourly parquet files for pump_fun (bonding curve) and pump_amm (graduated AMM).

1. Get your API key

Connect your wallet on the account page and generate an API key. 30 req/min rate limit.

2. Check available dates

Query /range?exchange=pump_fun to see what date range and file count. Some hours may have gaps.

GET https://api.pumpfundata.com/range?exchange=pump_fun
{ "exchange": "pump_fun", "start": "2025-01-15", "end": "2026-04-30", "files": 2847 }

3. Download data

/download?exchange=pump_fun&date=YYYY-MM-DD&hour=HH — streams the parquet file directly. 1 credit per file.

import requests
API_KEY = "pfd_your_key_here"
BASE = "https://api.pumpfundata.com"
# Check available date range and file count (no auth required)
range_resp = requests.get(f"{BASE}/range", params={"exchange": "pump_fun"})
print(range_resp.json()) # {"exchange": "pump_fun", "start": "...", "end": "...", "files": 2847}
# Download a single hour
resp = requests.get(f"{BASE}/download", params={
"exchange": "pump_fun",
"date": "2026-04-01",
"hour": "12"
}, headers={"X-API-Key": API_KEY})
with open("pump_fun_2026-04-01_12.parquet", "wb") as f:
f.write(resp.content)
# Batch download: loop over hours
for hour in range(24):
resp = requests.get(f"{BASE}/download", params={
"exchange": "pump_fun",
"date": "2026-04-01",
"hour": str(hour)
}, headers={"X-API-Key": API_KEY})
if resp.status_code == 200:
with open(f"pump_fun_2026-04-01_{hour:02d}.parquet", "wb") as f:
f.write(resp.content)
print(f"Downloaded hour {hour}")

4. Schema reference

FieldTypeEventsDescription
event_typestringallswap, create, bonding_complete, liquidity
signaturestringallTransaction signature
slot_numberintallSolana slot
timestampfloatallUnix timestamp
token_mintstringallToken mint address
actionstringswap, liquiditybuy, sell, deposit, or withdraw
user_walletstringswap, bonding_completeTrader wallet
token_amountuint64swap, liquidityTokens traded
lamports_amountuint64swap, liquiditySOL traded (lamports)
fee_lamportsuint64swapFee (lamports)
namestringcreateToken name
symbolstringcreateToken symbol
token_total_supplyuint64createTotal supply
pool_creatorstringcreate (pump_amm)Pool creator wallet
lp_token_amountuint64liquidityLP tokens minted/burned
lp_mint_supplyuint64liquidityTotal LP token supply
pool_addressstringpump_amm onlyAMM pool address
real_token_reserveuint64pump_amm onlyActual token reserve
real_lamports_reserveuint64pump_amm onlyActual SOL reserve (lamports)
virtual_token_reserveuint64pump_fun onlyVirtual token reserve
virtual_lamports_reserveuint64pump_fun onlyVirtual SOL reserve (lamports)
token_creatorstringpump_fun onlyToken creator wallet
can_be_frozenboolpump_fun onlyFreeze authority enabled
buyback_feeuint64pump_fun swapBuyback fee (lamports)