API reference · v5

Bybit Leaderboard API

Bybit's trading leaderboard: the daily top 500 or the latest weekly, bi-weekly and monthly editions, with each trader's profile, chart and open positions.

Base URL https://api.kopyon.com/v5/bybit-leaderboard/ · send your key in the X-API-KEY header · trader id: The hash_id in a trader's Bybit profile URL.

Get a free API key · Interactive reference with Try it · Authentication, paging and errors

Traders

GET /v5/bybit-leaderboard/traders

Bybit's daily top 500 by PnL over a period; or, with edition, the top 50 of its latest weekly, bi-weekly or monthly edition.

Bybit refreshes this Bybit updates the daily top 500 once a day, and each edition when it closes..

Query parameters

NameTypeDescription
periodrequiredenum1D is yesterday1D, 7D, 30D, 90D
marketenumdefault derivativesDerivatives only, or all trading productsderivatives, all
groupenumdefault allAll traders, or Bybit's master tradersall, master
sharingPositionsbooltrue lists only traders who share their positions
editionenumThe top 50 of Bybit's latest weekly, bi-weekly or monthly edition instead; the other filters are then ignoredweek, biWeek, month
pageintdefault 1Page number
rowsintdefault 20Rows per page1 to 20

Response fields, in data

FieldTypeDescription
traders[]alwaysarray
traders[].traderIdalwaysstringThe trader's id at the source; other operations take it as traderId
traders[].namealwaysstringDisplay name
traders[].avatarUrlstring
traders[].roinumber
traders[].pnlnumber
traders[].pnlCurrencystring
traders[].sourceDetails.followersonly Bybit
traders[].sourceDetails.sharingPositionsonly Bybit
traders[].sourceDetails.editionsonly Bybit
traders[].sourceDetails.winningDaysonly Bybit
traders[].sourceDetails.tradesonly Bybit
traders[].ranknumber
hasMorealwaysbooleantrue when another page follows
totalalwaysnumber
startTimenumberWith edition: when it began, in Unix milliseconds
endTimenumberWith edition: when it ended, in Unix milliseconds

Example

curl -H "X-API-KEY: $KOPYON_KEY" \
  "https://api.kopyon.com/v5/bybit-leaderboard/traders?period=1D"
{
  "data": {
    "traders": [
      {
        "traderId": "6LBl1dpjnE91knEy",
        "name": "Nev***",
        "rank": 1,
        "pnl": 1801620.86,
        "pnlCurrency": "USD",
        "sourceDetails": {
          "followers": 0,
          "sharingPositions": false,
          "editions": {
            "weekly": 28,
            "biweekly": 18,
            "monthly": 12
          },
          "winningDays": 1,
          "trades": 2640
        }
      },
      {
        "traderId": "y2PO1bR7dBgR1bEa",
        "name": "lyl****@****",
        "rank": 2,
        "pnl": 358640.37,
        "pnlCurrency": "USD",
        "sourceDetails": {
          "followers": 0,
          "sharingPositions": false,
          "editions": {
            "weekly": 0,
            "biweekly": 0,
            "monthly": 0
          },
          "winningDays": 1,
          "trades": 20
        }
      },
      {
        "traderId": "79exDaxx8a9lKrN0",
        "name": "lyy****@****",
        "rank": 3,
        "pnl": 202435.99,
        "pnlCurrency": "USD",
        "sourceDetails": {
          "followers": 0,
          "sharingPositions": false,
          "editions": {
            "weekly": 0,
            "biweekly": 0,
            "monthly": 0
          },
          "winningDays": 1,
          "trades": 60
        }
      }
    ],
    "hasMore": true,
    "total": 500
  }
}

Search traders

GET /v5/bybit-leaderboard/traderSearch

Traders in the daily top 500 whose name contains this, by 90-day derivatives PnL.

Query parameters

NameTypeDescription
namerequiredstringPart of the trader's name
pageintdefault 1Page number
rowsintdefault 20Rows per page1 to 20

Response fields, in data

FieldTypeDescription
traders[]alwaysarray
traders[].traderIdalwaysstringThe trader's id at the source; other operations take it as traderId
traders[].namealwaysstringDisplay name
traders[].avatarUrlstring
traders[].roinumber
traders[].pnlnumber
traders[].pnlCurrencystring
traders[].sourceDetails.followersonly Bybit
traders[].sourceDetails.sharingPositionsonly Bybit
traders[].sourceDetails.editionsonly Bybit
traders[].sourceDetails.winningDaysonly Bybit
traders[].sourceDetails.tradesonly Bybit
traders[].ranknumber
hasMorealwaysbooleantrue when another page follows
totalalwaysnumber

Example

curl -H "X-API-KEY: $KOPYON_KEY" \
  "https://api.kopyon.com/v5/bybit-leaderboard/traderSearch?name=Nev*"
{
  "data": {
    "traders": [
      {
        "traderId": "6LBl1dpjnE91knEy",
        "name": "Nev***",
        "rank": 3,
        "pnl": 10137037.69,
        "pnlCurrency": "USD",
        "sourceDetails": {
          "followers": 0,
          "sharingPositions": false,
          "editions": {
            "weekly": 28,
            "biweekly": 18,
            "monthly": 12
          },
          "winningDays": 55,
          "trades": 31885
        }
      }
    ],
    "hasMore": false,
    "total": 1
  }
}

Trader profile

GET /v5/bybit-leaderboard/traderProfile

The trader's followers, editions ranked in and how their assets are split.

Query parameters

NameTypeDescription
traderIdrequiredstringThe trader's hashId, from traders or editions

Response fields, in data

FieldTypeDescription
traderIdalwaysstring
namestring
avatarUrlstring
sourceDetails.followersonly Bybit
sourceDetails.followingonly Bybit
sourceDetails.likesonly Bybit
sourceDetails.joinedAtonly Bybit
sourceDetails.sharingPositionsonly Bybit
sourceDetails.editionsonly Bybit
sourceDetails.assetsonly Bybit

Example

curl -H "X-API-KEY: $KOPYON_KEY" \
  "https://api.kopyon.com/v5/bybit-leaderboard/traderProfile?traderId=6LBl1dpjnE91knEy"
{
  "data": {
    "traderId": "6LBl1dpjnE91knEy",
    "name": "NeverTradingUnkow",
    "sourceDetails": {
      "followers": 239,
      "following": 0,
      "likes": 139,
      "joinedAt": 1696074462000,
      "sharingPositions": false,
      "editions": {
        "weekly": 28,
        "biweekly": 18,
        "monthly": 12
      },
      "assets": [
        {
          "type": "unified",
          "share": 1
        },
        {
          "type": "contract",
          "share": 0
        },
        {
          "type": "investment",
          "share": 0
        }
      ]
    }
  }
}

Trader chart

GET /v5/bybit-leaderboard/traderChart

The trader's ROI, one point a day, as fractions, oldest first.

Query parameters

NameTypeDescription
traderIdrequiredstringThe trader's hashId, from traders or editions
metricenumdefault TOTAL_ROICumulative ROI, or each day'sTOTAL_ROI, DAILY_ROI

Response fields, in data

FieldTypeDescription
metricalwaysstringWhat the points measure: ROI, PNL or BALANCE
points[]alwaysarray
points[].timestampalwaysnumberPoint time, in Unix milliseconds
points[].valuealwaysnumber

Example

curl -H "X-API-KEY: $KOPYON_KEY" \
  "https://api.kopyon.com/v5/bybit-leaderboard/traderChart?traderId=6LBl1dpjnE91knEy"
{
  "data": {
    "metric": "TOTAL_ROI",
    "points": [
      {
        "timestamp": 1784505600000,
        "value": -0.0668
      },
      {
        "timestamp": 1784592000000,
        "value": -0.0667
      },
      {
        "timestamp": 1784678400000,
        "value": -0.0683
      }
    ]
  }
}

Open positions

GET /v5/bybit-leaderboard/openPositions

The trader's open positions, when the trader shares them (sharingPositions). Bybit gives no size, mark price or PnL.

Query parameters

NameTypeDescription
traderIdrequiredstringThe trader's hashId, from traders or editions
contractTypeenumdefault allOnly this kind of contractall, usdtPerpetual, usdcPerpetual, inversePerpetual, usdcFutures, inverseFutures

Response fields, in data

FieldTypeDescription
positions[]alwaysarray
positions[].symbolalwaysstring
positions[].sidealwaysLONG | SHORT
positions[].entryPricealwaysnumber
positions[].leveragenumber
positions[].liquidationPricenumber
positions[].sourceDetails.valueonly Bybit
positions[].sourceDetails.contractTypeonly Bybit

Example

curl -H "X-API-KEY: $KOPYON_KEY" \
  "https://api.kopyon.com/v5/bybit-leaderboard/openPositions?traderId=kJzgVNGr489B1yW7"
{
  "data": {
    "positions": []
  }
}

Stream and webhooks

Paid plans can follow a trader in real time over wss://api.kopyon.com/v5/streamor through signed webhooks. Topics for this source:

  • openPositions: Open positions, whenever they change
  • positionEvents: Opened, increased, decreased, closed

Stream messages and webhook signatures

Try the Bybit Leaderboard API for free.

The free tier is 10,000 requests a month. That is enough to build a whole integration and test it against live data before you pay anything.

Usually answered within a day · [email protected]