How to get OHLCV candles for any DEX token (the endpoint DexScreener's API doesn't have)
DexScreener's public API has no historical candles, but the free DexPaprika API delivers real OHLCV data for any DEX pool on 35 chains - copy-paste code included, no API key required.

If you've gone looking for an OHLCV or candlestick endpoint in DexScreener's public API, you already know how this ends: it isn't there. You get current price, liquidity, volume, and 24-hour change, but no historical candles to build a chart or backtest a strategy. This guide shows you how to get real OHLCV data for any DEX pool from the free DexPaprika API, with working code you can run right now. No API key, 35 chains, one endpoint.
I kept hitting this wall myself while building a small price-chart widget. The DexScreener response had everything except the one thing a chart needs, the candles. So here's the workaround I settled on.
The gap, concretely
DexScreener's /latest/dex/tokens/{address} and /latest/dex/pairs/{chain}/{pair} endpoints return a snapshot: priceUsd, liquidity, volume, priceChange over a few fixed windows. That's great for a "current state" card. It's useless for a chart, because a chart needs a time series of open/high/low/close/volume bars, and the public API doesn't expose one. The charts you see on the DexScreener site are drawn from an internal endpoint that isn't part of the documented developer API.
So if your app needs candles, you need a different source for that piece. DexPaprika has a dedicated OHLCV endpoint that takes a pool address and gives you the bars.
Step 1: find the pool address
OHLCV is per-pool, so you need a pool address. If you already have one (from DexScreener, from a block explorer, from your own indexing), skip ahead. If you only have a token, search for its pools:
curl "https://api.dexpaprika.com/search?query=WETH"
Or list the top pools on a network by volume:
curl "https://api.dexpaprika.com/networks/ethereum/pools?limit=5"
For this guide I'll use the Uniswap V3 USDC/WETH pool on Ethereum: 0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640.
Step 2: get the candles
The endpoint is /networks/{network}/pools/{pool}/ohlcv. Here's a daily series:
curl "https://api.dexpaprika.com/networks/ethereum/pools/0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640/ohlcv?start=2026-06-12&interval=24h&limit=3"
Response:
[
{
"time_open": "2026-06-12T00:00:00Z",
"time_close": "2026-06-13T00:00:00Z",
"open": 1.0005397362121917,
"high": 1.0058630231121142,
"low": 0.9917514683893423,
"close": 0.9999299257162607,
"volume": 29695306
}
]That's a real candle: open, high, low, close, and volume, exactly what a charting library or a backtest expects.
One gotcha that will save you a confused five minutes: the interval is 24h, not 1d. If you pass 1d you get a clear error listing the valid values. The accepted intervals are 1m, 5m, 10m, 15m, 30m, 1h, 6h, 12h, and 24h. Pick the granularity your chart needs.
In Python
import requests
POOL = "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640"
url = f"https://api.dexpaprika.com/networks/ethereum/pools/{POOL}/ohlcv"
params = {"start": "2026-06-01", "interval": "24h", "limit": 30}
candles = requests.get(url, params=params).json()
for c in candles:
print(c["time_open"], c["open"], c["high"], c["low"], c["close"], c["volume"])That's a month of daily candles for a charting library or a pandas DataFrame, in about six lines and with no API key.
In JavaScript
const POOL = "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640";
const url = new URL(`https://api.dexpaprika.com/networks/ethereum/pools/${POOL}/ohlcv`);
url.search = new URLSearchParams({ start: "2026-06-01", interval: "24h", limit: "30" });
const candles = await fetch(url).then((r) => r.json());
candles.forEach((c) => console.log(c.time_open, c.open, c.high, c.low, c.close, c.volume));Feed candles straight into Lightweight Charts, Chart.js, or your own renderer. The field names already match what most candlestick libraries expect once you map time_open to the bar time.
Intraday and longer history
For an intraday chart, drop the interval to 1h or 15m:
curl "https://api.dexpaprika.com/networks/ethereum/pools/0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640/ohlcv?start=2026-06-16&interval=1h"
The same endpoint works across all 35 supported chains. Swap ethereum for solana, base, bsc, or any other network ID, and pass a pool address from that chain.
What this unlocks
With candles in hand you can build the things the snapshot API can't support: price charts, moving averages and other indicators, volatility and volume analysis, and backtests over historical pool behavior. It's the missing half of a DEX data stack, and it's the same data whether you're charting a billion-dollar pool or a brand-new memecoin.
Frequently asked questions
?Does DexScreener have an OHLCV or candlestick API endpoint?
Not in its public developer API. You get current price, liquidity, volume, and short-window price changes, but no historical OHLCV time series. For candles, use a source that exposes them, like the DexPaprika pool OHLCV endpoint.
?Do I need an API key for DexPaprika OHLCV?
No. The public REST API needs no key and no registration. Just make the request.
?What time intervals are supported?
1m, 5m, 10m, 15m, 30m, 1h, 6h, 12h, and 24h. Note it's 24h, not 1d.
?Which chains work?
All 35 networks DexPaprika indexes, including Ethereum, Solana, Base, BSC, Arbitrum, and more. The endpoint shape is identical per chain.
?I only have a token address, not a pool. What do I do?
Use the search endpoint or list the token's pools first, pick the pool you want (usually the highest-liquidity one), then request OHLCV for that pool address.
Where to go next
- DexPaprika API documentation
- Pool OHLCV endpoint reference
- CoinPaprika API docs for centralized-exchange market data
- DexPaprika agents hub for AI-agent and MCP integration
Related articles
- Best Crypto API in 2026: Top 5 Data Providers Compared
- How to measure buy/sell pressure on a DEX pool
- How to get a token price by contract address (any chain)
- How to get live crypto prices into Claude and ChatGPT (MCP server setup)
- Free crypto historical data API: how far back can you actually go?
- How to detect liquidity drains on DEX pools
Latest articles
- Lofty AI Review: Tokenized US Real Estate from $50
- How to Invest in Tokenized Real Estate: A Beginner's Guide
- Tokenized Real Estate: How Blockchain Is Changing Property Investment
- Plume Network: RWA-Native Layer 2 Explained
- Backed Finance (bTokens): Tokenized ETFs and Stocks on Blockchain
- Clearpool (CPOOL): Permissionless Institutional Borrowing
Coinpaprika education
Discover practical guides, definitions, and deep dives to grow your crypto knowledge.
Cryptocurrencies are highly volatile and involve significant risk. You may lose part or all of your investment.
All information on Coinpaprika is provided for informational purposes only and does not constitute financial or investment advice. Always conduct your own research (DYOR) and consult a qualified financial advisor before making investment decisions.
Coinpaprika is not liable for any losses resulting from the use of this information.