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>"
Parameters
ParameterDescription
interval

query · 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
from

query · integer · required

Window start, Unix SECONDS. Inclusive.
to

query · 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.
chain

path · 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.
mint

path · 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.

Response fields of Is the holder base growing or shrinking
FieldType
intervalstring
pointsobject[]
points[].atnumber
points[].countinteger | null
changeobject
change.fromAtnumber | null
change.fromCountinteger | null
change.toAtnumber | null
change.toCountinteger | null
change.changeCountinteger | null
change.changePctnumber | 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