> ## Documentation Index
> Fetch the complete documentation index at: https://docs.etherscan.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Top Token Holders

> Returns the list of top holders for a specified ERC-20 token.

export const chain = '1';

<Note>This is a PRO endpoint, available to the [Standard Plan](/rate-limits) and above.</Note>
<Warning>This endpoint is throttled to **2 calls/second** regardless of API Pro tier.</Warning>
<Callout icon="globe" iconType="regular">HyperEVM (999) is not supported yet.</Callout>

<img src="https://mintcdn.com/etherscan/_gIsWVKPgcVhiZQW/images/features/holders.png?fit=max&auto=format&n=_gIsWVKPgcVhiZQW&q=85&s=9e6457139c74e1173d79e860ae4c9b08" alt="Token holders" width="1440" height="550" data-path="images/features/holders.png" />

<ResponseExample>
  ```json Example response theme={null}
  {
    "status": "1",
    "message": "Ok",
    "result": [
      {
        "TokenHolderAddress": "0x4da27a545c0c5b758a6ba100e3a049001de870f5",
        "TokenHolderQuantity": "2696124.3026660371030000",
        "TokenHolderAddressType": "C"
      },
      {
        "TokenHolderAddress": "0xa700b4eb416be35b2911fd5dee80678ff64ff6c9",
        "TokenHolderQuantity": "1650828.8050095955930000",
        "TokenHolderAddressType": "C"
      }
    ]
  }
  ```
</ResponseExample>


## OpenAPI

````yaml openapi/api-reference/endpoint/topholders.json GET /v2/api
openapi: 3.1.0
info:
  title: Get Top Token Holders
  version: 2.0.0
  description: Returns the list of top holders for a specified ERC-20 token.
  license:
    name: Etherscan API Terms
    url: https://etherscan.io/terms
servers:
  - url: https://api.etherscan.io
    description: Etherscan API.
security:
  - apiKey: []
paths:
  /v2/api:
    get:
      summary: Get Top Token Holders
      description: Returns the list of top holders for a specified ERC-20 token.
      operationId: getTopholders
      parameters:
        - name: chainid
          in: query
          required: true
          description: >-
            Chain ID to query, eg 1 for Ethereum, 42161 for Arbitrum from our
            [supported chains](/supported-chains).
          schema:
            type: string
          example: '1'
        - name: module
          in: query
          required: true
          description: Set to token for this endpoint.
          schema:
            type: string
            default: token
          example: token
        - name: action
          in: query
          required: true
          description: Set to topholders for this endpoint.
          schema:
            type: string
            default: topholders
          example: topholders
        - name: contractaddress
          in: query
          required: true
          description: Contract address of the ERC-20 token.
          schema:
            type: string
          example: '0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9'
        - name: offset
          in: query
          required: false
          description: Number of top holders to return, up to 1000.
          schema:
            type: integer
          example: 100
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: >-
                      1 if the request returned data, 0 otherwise. A status of 0
                      can indicate an error or a valid request that returned no
                      records.
                  message:
                    type: string
                    description: >-
                      OK on success, otherwise an error description such as
                      NOTOK. See [common error
                      messages](/common-error-messages).
                  result:
                    type: array
                    items:
                      type: object
                      properties:
                        TokenHolderAddress:
                          type: string
                          description: Address holding the token.
                        TokenHolderQuantity:
                          type: string
                          description: Quantity of the token held by the address.
                        TokenHolderAddressType:
                          type: string
                          description: >-
                            Type of holder address. C for a contract, A for an
                            externally owned account (EOA).
      security:
        - apiKey: []
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: query
      name: apikey
      description: >-
        Enter your Etherscan API key, or [set one up](/set-up-your-api-key) if
        you don't have one.

````