Token Rankings

GET/gateway/v1/market/ranking

Returns a token leaderboard sorted by market cap, 24h change, or volume. Each entry includes price, market cap, FDV, supply, ATH/ATL, and 24h range. Supports category filtering (MEME, AI, L1, L2, DEFI, GAMING, etc.).

Available metrics: `market_cap`, `top_gainers`, `top_losers`, `volume`.

Note: `top_gainers` and `top_losers` rank by 24h price change within the top 250 coins by market cap.

For circulating supply, FDV, ATH/ATL, use `/project/detail?fields=token_info`.

Query Parameters

sort_byenum<string>

Field to sort by. `market_cap` sorts by total market capitalisation, `change_24h` sorts by 24-hour price change percentage (fetches top 250 by market cap then sorts client-side), `volume_24h` sorts by 24-hour trading volume.

Available options:market_capchange_24hvolume_24h
Example: market_cap
orderenum<string>

Sort order: `desc` (default, highest first) or `asc` (lowest first).

Available options:ascdesc
Example: desc
categoryenum<string>

Optional token category filter. When provided, results are limited to coins in that category. Supported values: MEME, AI, AI_AGENTS, L1, L2, DEFI, GAMING, STABLECOIN, RWA, DEPIN, SOL_ECO, BASE_ECO, LST.

Available options:MEMEAIAI_AGENTSL1L2DEFIGAMINGSTABLECOINRWADEPINSOL_ECOBASE_ECOLST
Example: MEME
limitinteger

Results per page

Example: 20
offsetinteger

Pagination offset

Example: 0
Token Rankings
const options = {method: 'GET'};

fetch('https://api.asksurf.ai/gateway/v1/market/ranking?sort_by=market_cap&order=desc&category=MEME&limit=20&offset=0', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
OK
{
  "$schema": "https://example.com/schemas/DataResponseMarketTopCoinItem.json",
  "data": [
    {
      "ath": 123,
      "ath_date": 123,
      "atl": 123,
      "atl_date": 123,
      "change_24h_pct": 123,
      "circulating_supply": 123,
      "fdv": 123,
      "high_24h": 123,
      "id": "<string>",
      "image": "<string>",
      "low_24h": 123,
      "market_cap_usd": 123,
      "max_supply": 123,
      "name": "<string>",
      "price_usd": 123,
      "rank": 123,
      "slug": "<string>",
      "symbol": "<string>",
      "total_supply": 123,
      "volume_24h_usd": 123
    }
  ],
  "meta": {
    "cached": true,
    "credits_used": 123,
    "empty_reason": "<string>",
    "has_more": true,
    "limit": 123,
    "offset": 123,
    "total": 123,
    "watermark": 123
  }
}