cabalspy-xyz Tokens API

Per token stats, holders and transactions of tracked wallets.

Operations 3

GET /tokens/stats Token stats #
GET /tokens/holders Token holders #
GET /tokens/transactions Token transactions #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cabalspy-xyz:cabalspy-xyz-tokens-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cabalspy-xyz-tokens-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: CabalSpy Tokens API
  version: 1.0.0
  description: 'REST API for CabalSpy on-chain labeled wallet data: tracked KOL, Smart Money and Whale wallets on Solana, BNB Chain, Base, Ethereum and Robinhood Chain (blockchain values: solana, bnb, base, eth, rh), with wallet profiles, leaderboards, PnL, token holders and transactions, bundle detection (Solana only), live signals and analytics.


    Wallet type availability per chain: Solana has kol, smart, whale. BNB, Base and Robinhood Chain have kol, smart. ETH has kol.


    Authentication: every request needs an API key, passed either as the api_key query parameter or as an Authorization Bearer header (the two are equivalent). Get a free key at https://apidashboard.cabalspy.xyz/.


    Credits: a REST request costs 10 credits on every plan. The free tier includes 10,000 credits per month; credits reset on the first of every month.


    Rate limits: requests per second by plan are 5 (Free), 20 (Starter), 50 (Pro) and 100 (Business). Exceeding the limit returns 429 rate_limited; wait and retry.


    Responses share an envelope: success, data, meta (request_id, cached, cache_age_seconds, version, timestamp) and, on some endpoints, pagination.


    Real-time data is available separately over WebSocket at wss://stream.cabalspy.xyz (not described by this document; 1 credit per event received).'
  termsOfService: https://www.cabalspy.xyz/terms/
  contact:
    name: CabalSpy
    email: contact@cabalspy.xyz
servers:
- url: https://api.cabalspy.xyz/v1
security:
- ApiKeyQuery: []
- BearerAuth: []
tags:
- name: Tokens
  description: Per token stats, holders and transactions of tracked wallets.
paths:
  /tokens/stats:
    get:
      operationId: getTokenStats
      summary: Token stats
      description: 'Aggregate trading statistics for one token across tracked wallets: token block with current market cap, holder totals by wallet type, flow statistics and a per trader breakdown with live position. Market cap, price and live position fields are Solana only (null on other chains). Costs 10 credits per request.'
      tags:
      - Tokens
      externalDocs:
        url: https://docs.cabalspy.xyz/stats
      parameters:
      - name: blockchain
        in: query
        required: true
        description: Chain of the token. One of solana, bnb, base, eth.
        schema:
          type: string
          enum:
          - solana
          - bnb
          - base
          - eth
          - rh
      - name: mint
        in: query
        required: true
        description: The token mint or contract address.
        schema:
          type: string
      - name: type
        in: query
        required: false
        description: Optional wallet category to narrow the breakdown kol, smart or whale. Omit to aggregate across all categories available on the chain.
        schema:
          type: string
          enum:
          - kol
          - smart
          - whale
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: True on success.
                  data:
                    type: object
                    properties:
                      token:
                        $ref: '#/components/schemas/Token'
                      total_holders:
                        $ref: '#/components/schemas/TotalHolders'
                      total_holdings:
                        type: object
                        properties:
                          token_amount:
                            type: number
                          token_amount_peak:
                            type: number
                          supply_pct:
                            type: number
                          supply_pct_peak:
                            type: number
                        additionalProperties: true
                      total_statistics:
                        type: object
                        properties:
                          total_buy:
                            type: number
                          total_buy_usd:
                            type: number
                          total_sell:
                            type: number
                          total_sell_usd:
                            type: number
                          net_flow:
                            type: number
                            description: Buy minus sell (native). Positive means net accumulation.
                          net_flow_usd:
                            type: number
                          total_volume:
                            type: number
                          total_volume_usd:
                            type: number
                          avg_position_size:
                            type: number
                          largest_position:
                            type: number
                          buying_pressure:
                            type: number
                            description: Buy share of total volume, an indicator of pressure.
                          first_entry_time:
                            type: string
                          first_entry_type:
                            type: string
                          first_entry_wallet_address:
                            type: string
                          latest_entry_time:
                            type: string
                          latest_entry_type:
                            type: string
                          latest_entry_wallet_address:
                            type: string
                          time_since_first_entry_hours:
                            type: number
                        additionalProperties: true
                      traders:
                        type: array
                        description: Traders sorted by buy volume, highest first.
                        items:
                          type: object
                          properties:
                            profile:
                              $ref: '#/components/schemas/Profile'
                            trader_stats:
                              type: object
                              properties:
                                buy:
                                  type: number
                                buy_usd:
                                  type: number
                                sell:
                                  type: number
                                sell_usd:
                                  type: number
                                volume_buy:
                                  type: number
                                volume_buy_usd:
                                  type: number
                                volume_sell:
                                  type: number
                                volume_sell_usd:
                                  type: number
                                realized_pnl:
                                  type: number
                                realized_pnl_usd:
                                  type: number
                                realized_pnl_percentage:
                                  type: number
                                buy_count:
                                  type: integer
                                sell_count:
                                  type: integer
                                buy_tokens:
                                  type: number
                                sell_tokens:
                                  type: number
                                avg_buy_price:
                                  type: number
                                first_trade_at:
                                  type: string
                                last_trade_at:
                                  type: string
                              additionalProperties: true
                            trader_holdings:
                              $ref: '#/components/schemas/Position'
                          additionalProperties: true
                    additionalProperties: true
                  meta:
                    $ref: '#/components/schemas/Meta'
                additionalProperties: true
              example:
                success: true
                data:
                  token:
                    mint: 3Pkrq4MmLvDXyn1fa3sz5MekKRkZkc1iLDcz5AzWpump
                    token_name: invisibull
                    blockchain: solana
                    currency: SOL
                    token_supply: 1000000000
                    token_decimals: 6
                    market_cap: 40.08
                    market_cap_usd: 3301.2
                    market_cap_currency: SOL
                    price: 4.008e-08
                    price_usd: 3.3e-06
                    sol_price_usd: 82.36
                  total_holders:
                    kol_count: 1
                    smart_count: 0
                    whale_count: 0
                    still_holding_count: 1
                  total_holdings:
                    token_amount: 22113972.03
                    token_amount_peak: 22113972.03
                    supply_pct: 2.211397
                    supply_pct_peak: 2.211397
                  total_statistics:
                    total_buy: 1.66
                    total_buy_usd: 137.44
                    total_sell: 0.0
                    total_sell_usd: 0.0
                    net_flow: 1.66
                    net_flow_usd: 137.44
                    total_volume: 1.66
                    total_volume_usd: 137.44
                    avg_position_size: 1.66
                    largest_position: 1.66
                    buying_pressure: 100.0
                    first_entry_time: '2026-07-04T16:25:34Z'
                    first_entry_type: buy
                    first_entry_wallet_address: 7j7AA3HZR2zEjwAQEKPFh2qucLY4fqZpB9iodf39w8xW
                    latest_entry_time: '2026-07-04T16:25:34Z'
                    latest_entry_type: buy
                    latest_entry_wallet_address: 7j7AA3HZR2zEjwAQEKPFh2qucLY4fqZpB9iodf39w8xW
                    time_since_first_entry_hours: 42.6
                  traders:
                  - profile:
                      name: Maze
                      image_url: https://cabalspy.xyz/images/7j7AA3HZR2zEjwAQEKPFh2qucLY4fqZpB9iodf39w8xW.png
                      twitter: https://x.com/MazeCCC
                      telegram: ''
                      blockchain: solana
                      currency: SOL
                      type: kol
                    trader_stats:
                      buy: 1.66
                      buy_usd: 137.44
                      sell: 0.0
                      sell_usd: 0.0
                      volume_buy: 1.66
                      volume_buy_usd: 137.44
                      volume_sell: 0.0
                      volume_sell_usd: 0.0
                      realized_pnl: 0.0
                      realized_pnl_usd: 0.0
                      realized_pnl_percentage: 0.0
                      buy_count: 1
                      sell_count: 0
                      buy_tokens: 22113972.03
                      sell_tokens: 0.0
                      avg_buy_price: 7.5e-08
                      first_trade_at: '2026-07-04T16:25:34Z'
                      last_trade_at: '2026-07-04T16:25:34Z'
                    trader_holdings:
                      token_amount: 22113972.03
                      token_amount_peak: 22113972.03
                      supply_pct: 2.211397
                      supply_pct_peak: 2.211397
                      bag_pct: 100.0
                      still_holding: true
                      unrealized_pnl_sol: -0.099817
                      unrealized_pnl_usd: -8.22
                      unrealized_pnl_pct: -10.12
                      remaining_sol: 0.886537
                      remaining_usd: 73.02
                      entry_market_cap: 44.6
                      entry_market_cap_usd: 3673.2
                meta:
                  request_id: req_5162c7cf7f87
                  cached: false
                  cache_age_seconds: 0
                  version: 1.0.0
                  timestamp: '2026-07-06T11:01:57Z'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/RateLimited'
  /tokens/holders:
    get:
      operationId: getTokenHolders
      summary: Token holders
      description: The tracked wallets holding a token, sorted by amount held highest first, each with profile and live position (bag percentage, unrealized PnL, remaining value, entry market cap). Live position fields are Solana only and null on other chains. Costs 10 credits per request.
      tags:
      - Tokens
      externalDocs:
        url: https://docs.cabalspy.xyz/Holders
      parameters:
      - name: blockchain
        in: query
        required: true
        description: Chain of the token. One of solana, bnb, base, eth.
        schema:
          type: string
          enum:
          - solana
          - bnb
          - base
          - eth
          - rh
      - name: mint
        in: query
        required: true
        description: The token mint or contract address.
        schema:
          type: string
      - name: type
        in: query
        required: false
        description: Optional wallet category kol, smart or whale. Omit to include all categories.
        schema:
          type: string
          enum:
          - kol
          - smart
          - whale
      - name: limit
        in: query
        required: false
        description: Maximum number of holders to return.
        schema:
          type: integer
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: True on success.
                  data:
                    type: object
                    properties:
                      token:
                        $ref: '#/components/schemas/Token'
                      total_holders:
                        $ref: '#/components/schemas/TotalHolders'
                      holders:
                        type: array
                        description: Holders sorted by amount held, highest first.
                        items:
                          type: object
                          properties:
                            profile:
                              $ref: '#/components/schemas/Profile'
                            holdings:
                              $ref: '#/components/schemas/Position'
                          additionalProperties: true
                      pagination:
                        $ref: '#/components/schemas/Pagination'
                    additionalProperties: true
                  pagination:
                    $ref: '#/components/schemas/Pagination'
                  meta:
                    $ref: '#/components/schemas/Meta'
                additionalProperties: true
              example:
                success: true
                data:
                  token:
                    mint: 3Pkrq4MmLvDXyn1fa3sz5MekKRkZkc1iLDcz5AzWpump
                    token_name: invisibull
                    blockchain: solana
                    currency: SOL
                    token_supply: 1000000000
                    token_decimals: 6
                    market_cap: 40.08
                    market_cap_usd: 3301.2
                    market_cap_currency: SOL
                    price: 4.008e-08
                    price_usd: 3.3e-06
                    sol_price_usd: 82.36
                  total_holders:
                    kol_count: 1
                    smart_count: 0
                    whale_count: 0
                    still_holding_count: 1
                  holders:
                  - profile:
                      name: Maze
                      image_url: https://cabalspy.xyz/images/7j7AA3HZR2zEjwAQEKPFh2qucLY4fqZpB9iodf39w8xW.png
                      twitter: https://x.com/MazeCCC
                      telegram: ''
                      blockchain: solana
                      currency: SOL
                      type: kol
                    holdings:
                      token_amount: 22113972.03
                      token_amount_peak: 22113972.03
                      supply_pct: 2.211397
                      supply_pct_peak: 2.211397
                      bag_pct: 100.0
                      still_holding: true
                      unrealized_pnl_sol: -0.099817
                      unrealized_pnl_usd: -8.22
                      unrealized_pnl_pct: -10.12
                      remaining_sol: 0.886537
                      remaining_usd: 73.02
                      entry_market_cap: 44.6
                      entry_market_cap_usd: 3673.2
                pagination:
                  limit: 50
                  total: 1
                  has_more: false
                  next_cursor: null
                meta:
                  request_id: req_5162c7cf7f87
                  cached: false
                  cache_age_seconds: 0
                  version: 1.0.0
                  timestamp: '2026-07-06T11:01:57Z'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/RateLimited'
  /tokens/transactions:
    get:
      operationId: getTokenTransactions
      summary: Token transactions
      description: The individual buy and sell transactions of tracked wallets on one token, newest first, each with trader profile and the holder position right after the trade (holdings_after). Current market cap in the token block is Solana only. Costs 10 credits per request.
      tags:
      - Tokens
      externalDocs:
        url: https://docs.cabalspy.xyz/transactions
      parameters:
      - name: blockchain
        in: query
        required: true
        description: Chain of the token. One of solana, bnb, base, eth.
        schema:
          type: string
          enum:
          - solana
          - bnb
          - base
          - eth
          - rh
      - name: mint
        in: query
        required: true
        description: The token mint or contract address.
        schema:
          type: string
      - name: type
        in: query
        required: false
        description: Optional wallet category kol, smart or whale. Omit to include all categories.
        schema:
          type: string
          enum:
          - kol
          - smart
          - whale
      - name: limit
        in: query
        required: false
        description: Maximum number of transactions to return.
        schema:
          type: integer
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: True on success.
                  data:
                    type: object
                    properties:
                      token:
                        $ref: '#/components/schemas/Token'
                      transactions:
                        type: array
                        description: Transactions, newest first.
                        items:
                          type: object
                          properties:
                            tx_signature:
                              type: string
                            transaction_type:
                              type: string
                              description: buy or sell.
                            value:
                              type: number
                            value_usd:
                              type:
                              - number
                              - 'null'
                            currency:
                              type: string
                            token_amount:
                              type: number
                            price_per_token:
                              type: number
                            price_per_token_usd:
                              type:
                              - number
                              - 'null'
                            created_at:
                              type: string
                              description: ISO timestamp of the trade.
                            profile:
                              $ref: '#/components/schemas/Profile'
                            holdings_after:
                              $ref: '#/components/schemas/HoldingsAfter'
                          additionalProperties: true
                      pagination:
                        $ref: '#/components/schemas/Pagination'
                    additionalProperties: true
                  pagination:
                    $ref: '#/components/schemas/Pagination'
                  meta:
                    $ref: '#/components/schemas/Meta'
                additionalProperties: true
              example:
                success: true
                data:
                  token:
                    mint: 3Pkrq4MmLvDXyn1fa3sz5MekKRkZkc1iLDcz5AzWpump
                    token_name: invisibull
                    blockchain: solana
                    currency: SOL
                    token_supply: 1000000000
                    token_decimals: 6
                    market_cap: 40.08
                    market_cap_usd: 3301.2
                    market_cap_currency: SOL
                    price: 4.008e-08
                    price_usd: 3.3e-06
                    sol_price_usd: 82.36
                  transactions:
                  - tx_signature: 5xr8abc...
                    transaction_type: buy
                    value: 1.66
                    value_usd: 137.44
                    currency: SOL
                    token_amount: 22113972.03
                    price_per_token: 7.5e-08
                    price_per_token_usd: 6.2e-06
                    created_at: '2026-07-04T16:25:34Z'
                    profile:
                      name: Maze
                      image_url: https://cabalspy.xyz/images/7j7AA3HZR2zEjwAQEKPFh2qucLY4fqZpB9iodf39w8xW.png
                      twitter: https://x.com/MazeCCC
                      telegram: ''
                      blockchain: solana
                      currency: SOL
                      type: kol
                    holdings_after:
                      token_amount: 22113972.03
                      token_amount_peak: 22113972.03
                      supply_pct: 2.211397
                      supply_pct_peak: 2.211397
                      bag_pct: 100.0
                      still_holding: true
                pagination:
                  limit: 50
                  total: 1
                  has_more: false
                  next_cursor: null
                meta:
                  request_id: req_5162c7cf7f87
                  cached: false
                  cache_age_seconds: 0
                  version: 1.0.0
                  timestamp: '2026-07-06T11:01:57Z'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/RateLimited'
components:
  responses:
    Unauthorized:
      description: Code unauthorized. API key missing.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Bad request. Code missing_parameter (a required parameter is missing) or invalid_parameter (a parameter is missing or has an invalid value, for example a chain and wallet type combination that does not exist such as eth with whale).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    RateLimited:
      description: Code rate_limited. Rate limit exceeded (the plan's requests-per-second limit), wait and retry.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Forbidden:
      description: Code forbidden. API key invalid or credits exhausted.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Token:
      type: object
      description: Token block.
      properties:
        mint:
          type: string
          description: Token mint or contract address.
        token_name:
          type: string
          description: Token name.
        blockchain:
          type: string
          description: Chain.
        currency:
          type: string
          description: Native currency.
        token_supply:
          type: number
          description: Total supply.
        token_decimals:
          type: integer
          description: Token decimals.
        market_cap:
          type:
          - number
          - 'null'
          description: Current market cap in native currency. Solana only, null otherwise.
        market_cap_usd:
          type:
          - number
          - 'null'
          description: Current market cap in USD. Solana only, null otherwise.
        market_cap_currency:
          type:
          - string
          - 'null'
          description: Currency of the market cap value (SOL), or null.
        price:
          type:
          - number
          - 'null'
          description: Current token price in native currency. Solana only.
        price_usd:
          type:
          - number
          - 'null'
          description: Current token price in USD. Solana only.
        sol_price_usd:
          type:
          - number
          - 'null'
          description: SOL price in USD used for USD conversions. Solana only.
      additionalProperties: true
    Error:
      type: object
      description: Error response. The documentation specifies the HTTP status and an error code (missing_parameter, invalid_parameter, unauthorized, forbidden, not_found, rate_limited) but not the exact body layout, so no fields are asserted here.
      additionalProperties: true
    Profile:
      type: object
      description: Wallet profile.
      properties:
        name:
          type: string
          description: Display name (may be empty).
        image_url:
          type: string
          description: Avatar URL.
        twitter:
          type: string
          description: Twitter or X link.
        telegram:
          type: string
          description: Telegram link.
        blockchain:
          type: string
          description: Chain.
        currency:
          type: string
          description: Native currency.
        type:
          type:
          - string
          - 'null'
          description: Wallet type kol, smart or whale.
      additionalProperties: true
    Meta:
      type: object
      description: Request metadata returned with every response.
      properties:
        request_id:
          type: string
        cached:
          type: boolean
        cache_age_seconds:
          type: integer
        version:
          type: string
        timestamp:
          type: string
      additionalProperties: true
    Pagination:
      type: object
      description: Standard pagination object. Depending on the endpoint it appears inside data or next to data at the top level of the response.
      properties:
        limit:
          type:
          - integer
          - 'null'
          description: Requested page size (null means all).
        total:
          type: integer
          description: Total number of items.
        has_more:
          type: boolean
          description: Whether more pages follow.
        next_cursor:
          type:
          - string
          - 'null'
          description: Cursor for the next page (null means end).
      additionalProperties: true
    TotalHolders:
      type: object
      description: Holder totals by wallet type.
      properties:
        kol_count:
          type: integer
        smart_count:
          type: integer
        whale_count:
          type: integer
        still_holding_count:
          type: integer
      additionalProperties: true
    HoldingsAfter:
      type: object
      description: Holder position right after a trade.
      properties:
        token_amount:
          type: number
        token_amount_peak:
          type: number
        supply_pct:
          type: number
        supply_pct_peak:
          type: number
        bag_pct:
          type: number
        still_holding:
          type: boolean
      additionalProperties: true
    Position:
      type: object
      description: Live position of a wallet in a token.
      properties:
        token_amount:
          type: number
          description: Tokens currently held.
        token_amount_peak:
          type: number
          description: Peak tokens held.
        supply_pct:
          type: number
          description: Percent of supply held.
        supply_pct_peak:
          type: number
          description: Peak percent of supply held.
        bag_pct:
          type: number
          description: Percent of peak holding still held.
        still_holding:
          type: boolean
          description: Whether the wallet still holds.
        unrealized_pnl_sol:
          type:
          - number
          - 'null'
          description: Unrealized PnL on the remaining bag (native). Solana only. Frozen to 0 once fully sold.
        unrealized_pnl_usd:
          type:
          - number
          - 'null'
          description: Unrealized PnL in USD. Solana only.
        unrealized_pnl_pct:
          type:
          - number
          - 'null'
          description: Unrealized PnL percentage. Solana only.
        remaining_sol:
          type:
          - number
          - 'null'
          description: Current value of the remaining bag (native). Solana only.
        remaining_usd:
          type:
          - number
          - 'null'
          description: Current value of the remaining bag in USD. Solana only.
        entry_market_cap:
          type:
          - number
          - 'null'
          description: Market cap in SOL when the wallet first bought, frozen. Solana only, null for older positions.
        entry_market_cap_usd:
          type:
          - number
          - 'null'
          description: Entry market cap in USD, frozen at buy time. Solana only, null for older positions.
      additionalProperties: true
  securitySchemes:
    ApiKeyQuery:
      type: apiKey
      in: query
      name: api_key
      description: Your API key as the api_key query parameter.
    BearerAuth:
      type: http
      scheme: bearer
      description: Your API key as an Authorization Bearer header.
externalDocs:
  description: CabalSpy API documentation
  url: https://docs.cabalspy.xyz/