API ReferenceToken APIGet Token HoldersGet Token Holders TimeseriesVersion: 2.2Get Token Holders TimeseriesLooking for token holders timeseries on EVM?Access historical token holder statistics on EVM using our API.Explore EVM APIGEThttps://solana-gateway.moralis.io/token/mainnet/holders/:address/historicalGet historical holder statistics for a specific Solana token address over a date rangePATH PARAMSnetworkstringrequiredThe network to querymainnetdevnetaddressstringrequiredThe token mint addressQUERY PARAMSfromDatestringrequiredThe starting date (format in seconds or datestring accepted by momentjs)toDatestringrequiredThe ending date (format in seconds or datestring accepted by momentjs)timeFramestringrequiredThe timeframe1min5min10min30min1h4h12h1d1w1MlimitnumberNumber of results to returnResponses200 Returns historical token holder statisticsobjectAPI KEYTest Live APINode.jsPythoncURLGoPHP// Dependencies to install:// $ npm install node-fetch --save// add "type": "module" to package.jsonimport fetch from 'node-fetch';const options = { method: 'GET', headers: { accept: 'application/json', 'X-API-Key': 'YOUR_API_KEY' },};fetch('https://solana-gateway.moralis.io/token/mainnet/holders/6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN/historical?fromDate=2025-01-01T10%3A00%3A00&toDate=2025-02-01T11%3A00%3A00&timeFrame=1d&limit=100', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));# Dependencies to install:# $ python -m pip install requestsimport requestsurl = "https://solana-gateway.moralis.io/token/mainnet/holders/6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN/historical?fromDate=2025-01-01T10%3A00%3A00&toDate=2025-02-01T11%3A00%3A00&timeFrame=1d&limit=100"headers = { "Accept": "application/json", "X-API-Key": "YOUR_API_KEY"}response = requests.request("GET", url, headers=headers)print(response.text)curl --request GET \ --url 'https://solana-gateway.moralis.io/token/mainnet/holders/6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN/historical?fromDate=2025-01-01T10%3A00%3A00&toDate=2025-02-01T11%3A00%3A00&timeFrame=1d&limit=100' \ --header 'accept: application/json' \ --header 'X-API-Key: YOUR_API_KEY' package mainimport ( "fmt" "net/http" "io/ioutil")func main() { url := "https://solana-gateway.moralis.io/token/mainnet/holders/6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN/historical?fromDate=2025-01-01T10%3A00%3A00&toDate=2025-02-01T11%3A00%3A00&timeFrame=1d&limit=100" req, _ := http.NewRequest("GET", url, payload) req.Header.Add("Accept", "application/json") req.Header.Add("X-API-Key", "YOUR_API_KEY") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := ioutil.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body))}<?php// Dependencies to install:// $ composer require guzzlehttp/guzzlerequire_once('vendor/autoload.php');$client = new \GuzzleHttp\Client();$response = $client->request('GET', 'https://solana-gateway.moralis.io/token/mainnet/holders/6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN/historical?fromDate=2025-01-01T10%3A00%3A00&toDate=2025-02-01T11%3A00%3A00&timeFrame=1d&limit=100', [ 'headers' => [ 'Accept' => 'application/json', 'X-API-Key' => 'YOUR_API_KEY', ],]);echo $response->getBody();Response Example200 Returns historical token holder statistics{ "result": [ { "timestamp": "2025-02-01T00:00:00.000Z", "totalHolders": 666573, "netHolderChange": -10384, "holderPercentChange": -1.6, "newHoldersByAcquisition": { "swap": 6746, "transfer": 5696, "airdrop": 529 }, "holdersIn": { "whales": 1, "sharks": 1, "dolphins": 1, "fish": 1, "octopus": 1, "crab": 32, "shrimps": 12939 }, "holdersOut": { "whales": 10, "sharks": 10, "dolphins": 10, "fish": 12, "octopus": 3, "crab": 36, "shrimps": 23316 } } ]}