Home / Blog / Guides

Guides

FOMO Family API: REST and WebSocket Guide

A practical guide to the independent FOMO Family API: what it is, how it differs from fomo.family, which REST and WebSocket routes are available, and how to make a verified first request.

Pixel-art API gateway organizing FOMO Family trader profiles, wallets, trades, theses, and realtime streams.

The FOMO Family API is an independent REST and WebSocket data service for developers building with fomo.family trader data. It resolves a FOMO handle to available Solana and EVM wallets, returns FOMO-reported PnL and available trade history, and exposes balances, leaderboards, written theses, and realtime activity through one API key.

It is unofficial and independent. It is not affiliated with, endorsed by, or sponsored by fomo.family.

If you want to make a first request immediately, create a key in the dashboard, keep it on your server, and call the leaderboard:

curl "https://api.fomoapi.io/v2/leaderboard/24h?limit=5" \
  -H "authorization: Bearer YOUR_API_KEY"

The developer reference and OpenAPI specification are the source of truth for current response fields, access rules, and credit costs.

Is there an official fomo.family API?

fomo.family does not currently publish a documented developer API, public API-key flow, or official SDK. The app has its own private application interfaces, but a private interface used by a website is not the same thing as a supported public API contract.

FOMO API fills the developer-use case as a separate service. It normalizes the available social-trading and wallet data behind stable REST routes and documents the limitations of each response. That distinction matters:

fomo.family FOMO API
Product Social crypto trading application Independent developer data service
Public developer documentation No documented public API REST, WebSocket, and OpenAPI documentation
API keys No public developer-key flow Keys created through the FOMO API dashboard
Relationship Original application Unofficial and not affiliated

Use fomo.family when you want the trading application. Use FOMO API when your own server, bot, dashboard, or research workflow needs structured data.

What data can the API return?

The useful starting routes are:

Developer task Route Important limitation
Resolve a handle and read a profile GET /v2/users/{handle} Wallet resolution may still be in progress
Read available position history GET /v2/users/{handle}/positions History can be partial rather than a lifetime ledger
Read balances and open holdings GET /v2/users/{handle}/balances Values can change between requests
Rank traders by a PnL window GET /v2/leaderboard/{window} PnL is reported by FOMO, not recomputed here
Read theses for a token GET /v2/thesis/token/{mint} Thesis text is user-authored opinion
Read theses by one trader GET /v2/thesis/user/{id} Use the stable user ID when available
Stream app activity WS /ws/alerts Timing and delay depend on access level
Stream detected on-chain trades WS /ws/trades This is a separate Growth/Scale stream

This page is an overview, not a substitute for the live schema. Check the API docs before persisting fields or calculating request costs.

Resolve a FOMO handle to wallets

Most integrations begin with a handle because that is the identity a person knows. Encode the handle, send your key in the Authorization header, and request the profile:

curl "https://api.fomoapi.io/v2/users/EXAMPLE_HANDLE" \
  -H "authorization: Bearer YOUR_API_KEY"

The response can include the normalized profile, FOMO-reported performance windows, and resolved Solana and EVM wallets. Do not substitute a different address when a wallet is absent or marked as resolving. The correct behavior is to show that state and retry later according to your product's policy.

Wallet resolution is valuable because it lets an application connect a social identity to public-chain activity. It does not make every upstream metric independently verified: the API passes through FOMO-reported PnL and labels it as such.

For typed code, error handling, and narrow response types, use the FOMO API TypeScript quickstart.

Request trades and balances

Use the canonical per-handle trade route rather than older examples that place a user in a query parameter:

curl "https://api.fomoapi.io/v2/users/EXAMPLE_HANDLE/positions?limit=25" \
  -H "authorization: Bearer YOUR_API_KEY"

curl "https://api.fomoapi.io/v2/users/EXAMPLE_HANDLE/balances" \
  -H "authorization: Bearer YOUR_API_KEY"

Trade responses describe the history currently available from FOMO. They do not promise an exhaustive lifetime ledger. Read response coverage fields where present, and resolve the wallets first if your application must independently reconstruct complete chain history.

Balances answer a different question: what positions are visible now. Do not combine a point-in-time balance and a trade-history response as though both were captured in one atomic snapshot.

Query leaderboards and theses

The leaderboard accepts 24h, 7d, 30d, or all as the window:

curl "https://api.fomoapi.io/v2/leaderboard/7d?limit=20" \
  -H "authorization: Bearer YOUR_API_KEY"

Treat rankings as observations that can change between requests. A leaderboard can help discover traders, but it is not financial advice and does not establish that past performance will continue.

Thesis routes expose the written context traders attach to positions:

GET /v2/thesis/token/{mint}
GET /v2/thesis/user/{id}

Theses are user-authored opinions. They can be useful inputs for narrative research, but applications should display their author and time rather than present them as verified facts.

Connect to the FOMO Family WebSocket

There are two separate streams:

  • wss://api.fomoapi.io/ws/alerts carries app-feed activity. Current delay and access rules depend on the key's plan and trial state.
  • wss://api.fomoapi.io/ws/trades carries the separate on-chain trade stream and requires Growth or Scale access.

A minimal Node client for the app-activity stream looks like this:

import WebSocket from "ws";

const key = process.env.FOMO_API_KEY;
if (!key) throw new Error("FOMO_API_KEY is required");

const socket = new WebSocket(
  `wss://api.fomoapi.io/ws/alerts?key=${encodeURIComponent(key)}`,
);

socket.on("message", raw => {
  const event = JSON.parse(raw.toString());
  if (event.type === "alert") console.log(event);
});

socket.on("error", error => console.error("FOMO stream error", error));

Production clients also need bounded reconnects, heartbeat monitoring, duplicate handling, and downstream backpressure. The production WebSocket guide implements those pieces and explains recovery after a disconnect.

Authentication, credits, and safe key handling

Send the key as authorization: Bearer YOUR_API_KEY for data routes. Keep it in a server-side secret rather than embedding it in shipped browser JavaScript or a public repository.

Authenticated responses can include credit-cost and remaining-credit headers. Endpoint costs and plan allowances can change, so use the current pricing page and API reference instead of copying an old number into application logic.

A production integration should also:

  1. validate the response fields it persists;
  2. distinguish authentication, credit, not-found, rate-limit, and upstream failures;
  3. retry only errors documented as transient;
  4. log route, status, duration, and credit headers without logging the key;
  5. cache or coalesce repeated reads when the product does not require a fresh request.

What can you build with it?

Common uses include trader-research dashboards, wallet watchlists, PnL leaderboards, thesis and narrative monitors, Telegram or Discord alerts, and data inputs for independently operated agents. The API supplies data; trading authorization and transaction execution remain separate responsibilities for the application developer.

Start with one concrete task. Resolve a handle, inspect the returned coverage and wallets, then add trades or a stream only when the product needs them. That produces a smaller, easier-to-audit integration than consuming every endpoint at once.

Start with a verified request

  1. Create an API key in the dashboard.
  2. Copy the leaderboard request at the top of this guide.
  3. Confirm the HTTP status and credit headers before trusting the JSON.
  4. Open the API docs for the current schema.
  5. Move to the TypeScript quickstart when you are ready to build a typed client.

That is the shortest supported path from a search for a FOMO Family API to a working, documented request.

Sources

  1. FOMO API OpenAPI 3.1 specification FOMO API, accessed 2026-09-18
  2. FOMO API developer reference FOMO API, accessed 2026-09-18
  3. fomo.family official website fomo.family, accessed 2026-09-18

Ship on fomo.family trader data

Both-chain wallets, PnL and holdings, plus two live streams: the app feed on every plan, the on-chain stream on Growth. One API.

Get an API key

FAQ

What is the FOMO Family API?
FOMO API is an independent, unofficial developer interface for fomo.family data. It provides REST endpoints for trader profiles, resolved wallets, PnL, available trades, balances, leaderboards and theses, plus WebSocket streams for activity.
Does fomo.family have an official public API?
fomo.family does not currently publish a documented developer API, public API-key flow, or official SDK. FOMO API is a separate independent service and is not affiliated with, endorsed by, or sponsored by fomo.family.
How do I get a FOMO Family API key?
Create a key from the FOMO API dashboard, keep it in a server-side secret, and send it in the Authorization header as a Bearer token. The dashboard and current API documentation are available on fomoapi.io.
Can I resolve a FOMO handle to a wallet address?
Yes. GET /v2/users/{handle} returns the available trader profile and resolved Solana and EVM wallets. A resolving status means the address is not ready yet and should not be replaced with a guessed wallet.
Is there a FOMO Family WebSocket API?
Yes. /ws/alerts is the app-activity stream available across plans, while /ws/trades is the separate on-chain stream available on Growth and Scale. Consult the live documentation for current access and timing rules.
Is the trade history guaranteed to be complete?
No. The trades response reports the history available from FOMO and may be partial. Applications that require a complete on-chain ledger should resolve the trader wallets and independently read the relevant chains.