GUIDE

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 a txHash, raw token amounts, the venue it executed on and the executionSource it came from. usdIn and usdOut are 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/usdOut are FOMO's marks, and txHash is 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.

Fomo Api is an independent product and is not affiliated with FOMO (fomo.family). Trades marked as reported by FOMO are FOMO's own data, published as reported.

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.