Tokens API
Is the holder base growing or shrinking
Holder-count snapshots in 5m to 1d buckets, plus the net change over the span covered. SOL at every width; ETH, BNB, BASE, RHC, ARC at 1h/4h for 7 days, 1d for 30.
GET
/api/external/token-analysis/holder-history/{chain}/{mint}Chains
- Solana SOL
- BNB Chain BNB
- Ethereum ETH
- Base BASE
- Robinhood Chain RHC
- Arc ARC
Request
Send your key in the x-dex-data-key header. Replace each <placeholder> with a real value.
curl -H "x-dex-data-key: $DEXDATA_API_KEY" \ "https://api.dexdata.io/api/external/token-analysis/holder-history/SOL/<mint>?interval=5m&from=<from>&to=<to>"
| Parameter | Description |
|---|---|
intervalquery · string · required | Snapshot spacing. Every bucket sits on the UTC grid its width implies: 4h points fall at 00:00, 04:00, … UTC and 1d points at 00:00 UTC. On SOL, 4h and 1d are the hourly snapshots on those boundaries, so a boundary without an hourly snapshot has no point.5m15m30m1h4h1d |
fromquery · integer · required | Window start, Unix SECONDS. Inclusive. |
toquery · integer · required | Window end, Unix SECONDS. Inclusive. At most 1,000 points fit in one request, and the ceiling is PER INTERVAL: roughly 3.5 days at 5m, 10.4 at 15m, 20.8 at 30m, 41.7 at 1h, 4h and 1d (the last two are read from hourly snapshots). A wider window returns 400 naming the real ceiling for the interval asked for, rather than a silently truncated series — split a longer read into multiple calls. A window of ≤ 900 points keeps the answer under 32 KB. |
chainpath · string · required | SOL, ETH, BNB, BASE, RHC or ARC; every other chain returns 400. Off SOL only interval=1h or 4h over the last 7 days and interval=1d over the last 30 are kept: another interval or an older from returns 400. There, a 1h/4h point is the first snapshot inside its bucket and a bucket without a snapshot has no point; a 1d point is labelled at UTC midnight and read within the hour after it. On BNB many tokens have no series at all. |
mintpath · string · required | The token mint (SOL) or contract address (ETH, BNB, BASE, RHC, ARC). |
Response fields
A JSON response. Every field is always present; null means the value could not be established, never zero.
| Field | Type |
|---|---|
interval | string |
points | object[] |
points[].at | number |
points[].count | integer | null |
change | object |
change.fromAt | number | null |
change.fromCount | integer | null |
change.toAt | number | null |
change.toCount | integer | null |
change.changeCount | integer | null |
change.changePct | number | null |
Start building with DexData today
Sign in, create a key and make your first call in a minute. Free credits every month, and you only pay for calls that succeed.
Get a free API key