Profiles
Resolve a handle into a consistent profile. Public metadata, stable IDs and freshness fields, ready for your app.
{ "object": "profile",
"handle": "@sbx_milo",
"source": "sandbox" }Profiles, Trade Theses, token activity and realtime events through one clean API.
Profiles.Theses.Activity.Realtime.One API.
Free sandbox. No card required.
Private beta · Live data access by approval. Sandbox keys are available immediately.
import { FomoData } from "@fomodata/sdk";
const fomo = new FomoData({
apiKey: process.env.FOMODATA_API_KEY
});
const theses = await fomo.theses.list({
token: "$RUN",
since: "1h"
});npm install https://fomodata.dev/ sdk/ fomodata-sdk-0.1.0.tgznpm package coming soon. This installs the same build from this server.
The data layer
Follow a profile to its theses, a thesis to its token, and a token to its activity. Shared IDs keep that context together across the REST API.
Resolve a handle into a consistent profile. Public metadata, stable IDs and freshness fields, ready for your app.
{ "object": "profile",
"handle": "@sbx_milo",
"source": "sandbox" }Find what people are posting about. Filter by token, author, chain and time, then paginate with cursors.
{ "object": "list",
"data": [ { "object": "thesis", … } ],
"has_more": false }Connect a token to its thesis activity. Explore recent posts, unique authors and changes in posting velocity.
{ "object": "token_activity",
"thesis_count_1h": 7,
"unique_authors_24h": 5 }Search across theses, profiles and tokens in the authorized index. One query, structured results.
{ "object": "search_result",
"theses": [ … ], "profiles": [ … ],
"tokens": [ … ] }https://fomodata.dev/v1Project dashboard
Create keys, inspect requests and see your usage without leaving your project.
API keys
2 sample keysLocal development
fd_test_Ab12••••••Production backend
fd_live_Qx9K••••••Recent requests
Thesis verification
POST /v1/verify/thesis
Check whether a handle posted about a token within a time window. Get a clear result, the matching thesis and the checks behind it.
Useful for quest entries, community contests and participation rules. Verification confirms that a thesis exists; it doesn't judge the quality of the idea.
Explore verificationThesis verified
reason: VERIFIED
https://fomodata.dev/v1/verify/thesis
Realtime delivery
A new thesis, a profile update, a change in token activity. Bring those events into your product through the channel that fits.
Use WebSocket or SSE. Filter by event, token, handle or chain.
Signed webhooks with delivery logs, automatic retries and replay.
→ {"action":"subscribe","events":["thesis.created","token.activity","token.thesis_velocity","profile.updated"]}
← {"type":"subscribed","subscription_id":"ssub_…"}
Sandbox thesis: course looks fast today.
Sandbox thesis: hiding spots are getting crowded.
theses_1h=7 · unique_authors_24h=5
Sandbox thesis: canvas fills up before noon.
Sandbox thesis: entering the next heat.
Stable event IDs make duplicates recognizable. Reconnect or replay a delivery without losing its identity.
What you can build
Games with thesis entry, bots, dashboards and alerts. If it runs on Fomo activity, it starts with one request.
Thesis-entry games like
And everything around them
Authorized data only
Live data availability depends on provider authorization. Sandbox fixtures remain available. No scraping, private messages, balances or PnL.
Scope keys to what your app needs. Live access is reviewed per project, separate from your test environment.
Sandbox access starts at sign-up. Test responses are clearly labeled with their source and livemode: false.
Quickstart
Try the full request flow with sandbox data. The same SDK works with live keys once your project has access.
Create your account, then save your key as FOMODATA_API_KEY. It's shown once.
Use the downloadable SDK build, or call REST directly. The npm package is coming soon.
Run the example with your test key to retrieve the sandbox profile @sbx_milo.
npm install https://fomodata.dev/sdk/fomodata-sdk-0.1.0.tgzimport { FomoData } from "@fomodata/sdk";
const fomo = new FomoData({ apiKey: process.env.FOMODATA_API_KEY! });
const profile = await fomo.profiles.get("@sbx_milo");
console.log(profile.handle);
// "@sbx_milo"Pricing
Sandbox included on every plan. The Free plan never asks for billing details. Live access requires approval during beta.
KeyYour project starts with a key
Create a test key, make your first request, and connect the response to your app.