Data sources
Provenance, freshness, retention, attribution and what is unavailable.
FomoData's credibility depends on accurate data and honest labels. This page explains exactly where data comes from, how fresh it is, how long it's kept and what FomoData does not provide.
Provenance
- No official Fomo API. FOMO Labs does not publish a public API, OAuth flow, webhooks or developer program. FomoData has no official integration with FOMO Labs and does not claim one.
- Authorized upstream only. Live data reaches FomoData through an upstream Fomo data integration the operator holds an account with and is authorized to use. It is validated with strict schemas and normalized before it is stored or served; raw upstream responses are never exposed.
- No scraping. FomoData never scrapes fomo.family, reverse-engineers protected endpoints, bypasses authentication or collects private data.
- Distribution. General redistribution has not been enabled. Live access is limited to approved projects during the private beta; approval does not grant general redistribution rights. Sandbox keys remain available at sign-up.
| Field | Values | Meaning |
|---|---|---|
source | fomo · sandbox · fomodata | Live upstream data, labelled test fixtures, or events FomoData derived from authorized data (activity, velocity). |
livemode | true · false | Matches the key's environment. Test keys never see live rows. |
test | true | Events you generated (dashboard test events, POST /v1/test/theses). Never real Fomo activity. |
Freshness
Cached data is never presented as realtime.
updated_at: when FomoData last wrote the record.source_updated_at: when the upstream last confirmed it.thesis.createdevents arrive from the upstream's realtime feed as they happen; profile metadata is refreshed on demand and on resync.- Verification responses include a
freshnessblock:checked_at,upstream_synced_atandserved_from(live_syncorcache).
The stale flag
If the upstream is failing, FomoData opens a circuit breaker instead of hammering it. Requests that can be answered from cache are, with "stale": true on the object; requests that can't return 503 UPSTREAM_UNAVAILABLE with Retry-After.
{ "object": "profile", "id": "fp_…", "handle": "@milo", "stale": true, "updated_at": "2026-10-07T09:58:12.000Z", … }Metrics scope
Token counts and velocity carry metrics_scope: "ingested": they cover theses FomoData has observed since first_seen_at, not Fomo's all-time totals. Treat them as relative signals, not official figures.
Retention and deletion
- Upstream-derived data is retained for a configurable period (currently 365 days) and never assumed to be indefinite. Request logs are kept for 30 days.
- Your plan's history window limits how far back queries reach.
- When a deletion request arrives for a profile or thesis, FomoData tombstones the record: it disappears from lists and search, and verification reports
THESIS_DELETEDwhere applicable. The upstream exposes no edit or deletion signal today, so deletions are handled on request rather than detected automatically.
Attribution
Every object says where it came from (source), and profiles and tokens carry public Fomo links (profile_url, fomo_url) when known. If you display live data, keep those links and credit Fomo as the origin. Don't present FomoData or your app as Fomo, or imply an endorsement by FOMO Labs.
What is unavailable
| Data | Status |
|---|---|
| Emails, private messages, session data, private account metadata | Never collected or exposed |
| Balances, PnL, trading volume | Never stored or exposed, even when the upstream returns them |
| Wallet associations | Off until confirmed public and authorized Coming soon |
| Per-thesis permalinks | Fomo exposes none today, so public_url is null |
| Semantic search | Coming soon |
| Fomo all-time totals | Not available; counts are metrics_scope: "ingested" |
| Event types beyond the four documented | Not offered: only types backed by authorized data exist |
Independence
FomoData is an independent developer platform. It is not affiliated with, endorsed by, or sponsored by FOMO Labs Inc. Fomo is a trademark of its owner and is used only to describe compatibility.