curl --request GET \
--url https://public-api.birdeye.so/defi/v3/ohlcv/pair \
--header 'X-API-KEY: <api-key>'import requests
url = "https://public-api.birdeye.so/defi/v3/ohlcv/pair"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://public-api.birdeye.so/defi/v3/ohlcv/pair', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"data": {
"items": [
{
"address": "9wFFyRfZBsuAha4YcuxcXLKwMxJR43S7fPfQLusDBzvT",
"h": 210,
"o": 210,
"l": 210,
"c": 210,
"type": "15m",
"v": 0,
"unix_time": 1726670700,
"v_usd": 1000
},
{
"address": "9wFFyRfZBsuAha4YcuxcXLKwMxJR43S7fPfQLusDBzvT",
"h": 210,
"o": 210,
"l": 210,
"c": 210,
"type": "15m",
"v": 0,
"unix_time": 1726671600,
"v_usd": 1000
}
]
}
}{
"success": false,
"message": "Bad request"
}{
"success": false,
"message": "Unauthorized"
}{
"success": false,
"message": "Access Denied"
}{
"success": false,
"message": "Too many requests"
}{
"success": false,
"message": "Internal Server Error"
}OHLCV V3 - Pair
Retrieve candlestick data in OHLCV format of a specified pair. Maximum 5000 records. Compared to v1: Added 1s, 15s, and 30s intervals and no candle padding
curl --request GET \
--url https://public-api.birdeye.so/defi/v3/ohlcv/pair \
--header 'X-API-KEY: <api-key>'import requests
url = "https://public-api.birdeye.so/defi/v3/ohlcv/pair"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://public-api.birdeye.so/defi/v3/ohlcv/pair', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"data": {
"items": [
{
"address": "9wFFyRfZBsuAha4YcuxcXLKwMxJR43S7fPfQLusDBzvT",
"h": 210,
"o": 210,
"l": 210,
"c": 210,
"type": "15m",
"v": 0,
"unix_time": 1726670700,
"v_usd": 1000
},
{
"address": "9wFFyRfZBsuAha4YcuxcXLKwMxJR43S7fPfQLusDBzvT",
"h": 210,
"o": 210,
"l": 210,
"c": 210,
"type": "15m",
"v": 0,
"unix_time": 1726671600,
"v_usd": 1000
}
]
}
}{
"success": false,
"message": "Bad request"
}{
"success": false,
"message": "Unauthorized"
}{
"success": false,
"message": "Access Denied"
}{
"success": false,
"message": "Too many requests"
}{
"success": false,
"message": "Internal Server Error"
}- Usage Note
- Accessibility
- Chain Supported
Extended pair OHLCV with finer intervals and count mode.
- V3 pair candles support
1s,15s, and30sintervals in addition to the legacy set. - Empty candles are not returned unless
padding=true. - When
mode=count, provide eithertime_fromortime_to, but not both;count_limitcan go up to5000. - Data retention for the newest intervals is shorter:
1sup to 2 weeks,15sand30sup to 3 months. - Use pair-scoped candles when you need one venue’s precise market behavior instead of token-level aggregation.
- Standard
- Lite
- Starter
- Premium
- Business
- Enterprise
All chains ⛓️ ✨
Compute Unit ⚙️
Compute Unit ⚙️
- CU is dynamic:
45 CUfor up to1000items,75 CUfor up to2000items, and100 CUfor up to5000items.
Use Cases 💡
Use Cases 💡
- Inspect launch-time candles for a single pair with second-level precision.
- Compare venues for the same asset and detect price fragmentation or temporary dislocations.
- Backtest pool-specific execution logic, routing, or market-making behavior.
- Build pair-native charts for traders who care about one exact market, not blended token pricing.
How to Use 🛠️
How to Use 🛠️
- Set
x-chainto one of the supported V3 networks. - Pass the pair address plus
type. - Use
mode=rangefor bounded chart windows, ormode=countfor a rolling candle count. - Enable
paddingonly when your chart explicitly requires contiguous empty buckets.
Best Practices ✅
Best Practices ✅
- Use pair V3 for launch forensics and short-window analysis where venue specificity matters.
- Keep your venue labeling explicit in UI so users do not confuse pair candles with aggregate token candles.
- Pair these candles with liquidity data when diagnosing sudden wick behavior or temporary price distortions.
Authorizations
API key for authentication
Headers
Solana, Base, BSC, Ethereum, Monad, Fogo, Mantle, Hyperevm, Megaeth, Robinhood network.
solana, bsc, base, ethereum, monad, aptos, fogo, mantle, hyperevm, megaeth, robinhood Query Parameters
The address of a pair contract
OHLCV V3 time frame.
1s, 15s, 30s, 1m, 3m, 5m, 15m, 30m, 1H, 2H, 4H, 6H, 8H, 12H, 1D, 3D, 1W, 1M Specify the start time using unix timestamps in seconds
0 <= x <= 10000000000Specify the end time using unix timestamps in seconds
0 <= x <= 10000000000Select either range (time range) or count (number of candles). If mode is count, time_from and time_to params must exist but not both. Default: range
range, count Specify the maximum candles returned. Only used with mode "count". Default: 5000
0 <= x <= 5000Indicate whether to use padding on empty candles. Default: false
true, false Indicate whether to allow outliers exist in the results. Default: true
true, false Indicate whether to invert the base/quote on pair. Default: false
true, false Was this page helpful?

