FOMO trader trades API: a fomo.family trader's trades as JSON
Get any fomo.family trader's last 30 days of trades as JSON: on-chain swaps with tx hashes, plus trades FOMO reports. Fields, pagination and code examples.
Published October 28, 2026 · 5 min read
The FOMO app shows you what a trader bought. If you want that as data, a fomo.family trader's trades as JSON you can store or act on, it's one call: GET /v1/traders/:traderId/trades. Here's how to call it and how to read what comes back.
Step 1: find the trader
Traders are identified by a traderId, which you get from the leaderboard:
curl "https://api.fomo-api.com/v1/leaderboard?window=7d&limit=20" \
-H "Authorization: Bearer $FOMO_API_KEY"Each row has traderId, handle and the wallets we've linked. See the leaderboard guide for the rest of the row.
Step 2: get their trades
curl "https://api.fomo-api.com/v1/traders/<traderId>/trades?source=onchain&limit=50" \
-H "Authorization: Bearer $FOMO_API_KEY"Node.js
const res = await fetch(
`https://api.fomo-api.com/v1/traders/${traderId}/trades?limit=50`,
{ headers: { Authorization: `Bearer ${process.env.FOMO_API_KEY}` } },
);
const { data, counts } = await res.json();
for (const t of data) console.log(t.occurredAt, t.source, t.tokenIn.address, "->", t.tokenOut.address);Python
import os, requests
r = requests.get(
f"https://api.fomo-api.com/v1/traders/{trader_id}/trades",
params={"source": "onchain", "limit": 50},
headers={"Authorization": f"Bearer {os.environ['FOMO_API_KEY']}"},
timeout=10,
)
r.raise_for_status()
for t in r.json()["data"]:
print(t["occurredAt"], t["txHash"], t["venue"])Two kinds of trade
A trade comes from one of two places, and the source field says which:
onchain: a swap we read from the chain on one of the trader's linked wallets. It has atxHash, raw token amounts, thevenueit executed on and theexecutionSourceit came from.usdInandusdOutare null: we don't attach a USD figure per trade.fomo: a trade FOMO reports for the trader that we don't already hold on-chain. Amounts are human-readable,usdIn/usdOutare FOMO's marks, andtxHashis null because FOMO's data doesn't carry one.
A trade we hold both ways appears once, as onchain. Filter with ?source=onchain, ?source=fomo, or leave the default both.
Pagination
limit (1 to 200, default 50) and offset apply to each source separately, and counts gives each side's total, e.g. { "onchain": 412, "fomo": 37 }. To walk everything, page each source on its own with ?source=onchain and ?source=fomo until offset passes its count. The response's caveats array spells these rules out, so they travel with the data.
What it's good for
- Alerting when a top FOMO trader buys a token. See the watchlist tutorial.
- Backtesting "what if I'd copied this trader for a month".
- Checking a trader's on-chain history against their leaderboard PnL.
A free key covers 1,500 calls a month. Get one in the console, and keep the docs overview open while you build.
Frequently asked questions
- Can I get a FOMO trader's trade history through an API?
- Yes. GET https://api.fomo-api.com/v1/traders/:traderId/trades returns a fomo.family trader's last 30 days of trades as JSON. Take the traderId from a /v1/leaderboard row. It needs a free API key.
- Are the trades verifiable on-chain?
- Rows with source onchain carry a transaction hash you can check on a block explorer. Rows with source fomo are as reported by FOMO, whose payloads carry no hash. Pass ?source=onchain to get only the verifiable ones.
- How far back does trade history go?
- 30 days. Older trades aren't served on this route at any limit; windowDays and since on the response say exactly where the window starts.