Skip to content
API reference · Theses

Retrieve a thesis

GEThttps://fomodata.dev/v1/theses/{id}
Scopes:theses:readRate class:standardFlag:THESES_API_ENABLED

One thesis with its author profile and token. public_url is null because Fomo exposes no per-thesis permalink.

Live keys read real Fomo data FomoData ingested from its authorized upstream; test keys read clearly-labelled sandbox data (livemode: false, source: "sandbox").

Example request

curl 'https://fomodata.dev/v1/theses/th_7Hq2LmZx9RkT4bVn0sYc3D' \
  -H "Authorization: Bearer $FOMODATA_API_KEY"

Parameters

Path parameters
idstringrequired
Thesis id (th_…).

Response

200 The thesis

application/jsonThesis
  • objectenumrequired"thesis"
  • idstringrequired
  • profileobjectrequired+ 4 child attributes
    • idstringrequired
    • handlestringrequired
    • display_namestring | nullrequired
    • avatar_urlstring (uri) | nullrequired
  • tokenobjectrequired+ 5 child attributes
    • idstringrequired
    • symbolstringrequired
    • namestring | nullrequired
    • chainstringrequired
    • addressstringrequired
  • textstringrequired
  • public_urlstring (uri) | nullrequiredFomo exposes no public per-thesis permalink today, so this is null unless one becomes available.
  • likesinteger | nullrequired
  • repliesinteger | nullrequired
  • created_atstring (date-time)required
  • updated_atstring (date-time)required
  • sourceenumrequiredWhere the data came from. sandbox = clearly-labelled test fixtures."fomo""sandbox"
  • livemodebooleanrequired
200 · example
{
  "object": "thesis",
  "id": "th_7Hq2LmZx9RkT4bVn0sYc3D",
  "profile": {
    "id": "fp_4KZq8mXw2T0aN6rB1cYd9E",
    "handle": "@milo",
    "display_name": "Milo",
    "avatar_url": "https://example.com"
  },
  "token": {
    "id": "tk_9bF2kLmQ0sVx7RtY3nHc1A",
    "symbol": "$RUN",
    "name": "Run",
    "chain": "robinhood",
    "address": "0x5a4d1f3c0f6e2b8d9a7c4e1f0b3d6a9c2e5f8a1b"
  },
  "text": "Course looks fast today. Running it back.",
  "public_url": "https://example.com",
  "likes": 0,
  "replies": 0,
  "created_at": "2026-10-07T10:04:12.000Z",
  "updated_at": "2026-10-07T10:04:12.000Z",
  "source": "fomo",
  "livemode": true
}

Errors

StatusWhen
401Missing, invalid, revoked or expired API key
403Insufficient scope, live access not approved, or history limit
404Not found (or feature disabled)
429Rate limit or quota exceeded

All errors use the standard envelope. See error codes for every code value.