AIXBT Docs
API v3Reference

List the current Topic leaderboard

GET
/v3/topics

The current Topic leaderboard (top 25), a bounded set, so there is no cursor. meta.snapshot carries the shared evidence cutoff. With projectId (or projectSlug) the same authority is projected inversely: only Topics observationally associated with that Project, each item gaining an association block.

Query Parameters

projectId?string
projectSlug?string

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v3/topics"

{
  "data": [
    {
      "id": "topic_a1b2c3d4e5f601234567",
      "rank": 1,
      "name": "Restaking yield compression",
      "summary": "Yields across restaking protocols compress as new AVS demand stalls.",
      "trend": 93.2,
      "postCount": 412,
      "authorCount": 118,
      "lastSeenAt": "2026-08-05T04:52:00Z",
      "clusters": [
        {
          "cluster": {
            "id": "cl_defi",
            "name": "DeFi researchers"
          },
          "share": 0.41
        }
      ],
      "report": {
        "id": "tr_9f2b6c41d8a35e07b1c4f6a2d5e8091c3b7a4f60d2e5c8b1a4f7092c5d8e3b6a",
        "title": "Restaking Yield Compression",
        "publishedAt": "2026-08-04T18:00:00Z"
      }
    }
  ],
  "meta": {
    "snapshot": {
      "completedAt": "2026-08-05T04:55:00Z",
      "latestEvidenceAt": "2026-08-05T04:52:10Z",
      "windowStartedAt": "2026-08-04T04:55:00Z"
    }
  }
}

{
  "code": "invalid_request",
  "message": "minTrend must be numeric",
  "details": {
    "fields": [
      "minTrend"
    ]
  }
}

{
  "code": "credential_required",
  "message": "Provide an API key via the x-api-key header."
}

{
  "code": "entitlement_required",
  "message": "This resource requires the topic-reports entitlement.",
  "details": {
    "entitlement": "topic-reports"
  }
}

{
  "code": "rate_limited",
  "message": "Minute limit reached.",
  "details": {
    "limit": 30,
    "window": "minute"
  }
}
{
  "code": "internal_error",
  "message": "Unexpected error."
}