Pools API

Price candles for one pool

Open/high/low/close and volume per bucket for ONE liquidity pool, addressed by the pool itself — not summed or averaged across the token's other pools.

GET/api/external/pool-analysis/pool-ohlcv/{chain}/{pool}

What it returns

Price candles for one liquidity pool, addressed by the POOL rather than by a token in it — the pool-keyed sibling of ohlcv. Every figure describes THIS pool alone: there is no volumeScope field, because unlike the token-keyed sibling there is no second pool the number could ambiguously be covering. There is also no volumeToken field — the native-unit volume this source reports is denominated in the pool's QUOTE token, not a fact about the pool's own trading a caller can compare across pools, so the field is left OFF the response rather than published as a permanent null. A window that has not happened yet is refused with 400 rather than answered with fabricated candles, and a bucket in which the pool did not trade can be missing from the series rather than filled with a made-up one. On SOL, a pool neither of the first two sources has candles for is answered for 1m, 5m, 15m and 1h by a third whose volumeUsd is null.

Chains

  • Solana SOL
  • BNB Chain BNB
  • Ethereum ETH
  • Stable STABLE
  • 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/pool-analysis/pool-ohlcv/SOL/<pool>?interval=1m&from=<from>&to=<to>"
Parameters
ParameterDescription
interval

query · string · required

Candle width. The same set the token-keyed ohlcv offers — the intersection of what the wired sources understand.1m5m15m1h4h1d
from

query · integer · required

Window start, Unix SECONDS. A candle is returned when its OPEN is at or after this time. Align from to a bucket open (a multiple of the interval in seconds, UTC) to get the bucket you are standing in.
to

query · integer · required

Window end, Unix SECONDS. Inclusive. At most 1000 candles fit in one request — a wider window returns 400 rather than a silently truncated series. A window of ≤ 200 candles keeps the answer under 32 KB.
chain

path · string · required

The chain the pool lives on. CELO, ARB, OP and SCROLL return 400 here.
pool

path · string · required

The pool identifier — a pool/pair address on most venues, or a 32-byte pool ID where the venue uses one (Uniswap v4). It identifies the POOL, not a token traded in it.

Response fields

A JSON response. Every field is always present; null means the value could not be established, never zero.

Response fields of Price candles for one pool
FieldType
intervalstring
candlesobject[]
candles[].atnumber
candles[].opennumber | null
candles[].highnumber | null
candles[].lownumber | null
candles[].closenumber | null
candles[].volumeUsdnumber | null
candles[].completeboolean

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