Price Volume - Multi
curl --request POST \
--url https://public-api.birdeye.so/defi/price_volume/multi \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"list_address": "So11111111111111111111111111111111111111112,DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",
"type": "24h"
}
'import requests
url = "https://public-api.birdeye.so/defi/price_volume/multi"
payload = {
"list_address": "So11111111111111111111111111111111111111112,DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",
"type": "24h"
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
list_address: 'So11111111111111111111111111111111111111112,DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263',
type: '24h'
})
};
fetch('https://public-api.birdeye.so/defi/price_volume/multi', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"data": {
"So11111111111111111111111111111111111111112": {
"isScaledUiToken": false,
"price": 128.94722473832456,
"updateUnixTime": 1726678893,
"updateHumanTime": "2024-09-18T17:01:33",
"volumeUSD": 754317820.7943375,
"volumeChangePercent": -6.2958716685581955,
"priceChangePercent": -2.618887600381405
},
"DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263": {
"isScaledUiToken": false,
"price": 0.00001602442261925,
"updateUnixTime": 1726678874,
"updateHumanTime": "2024-09-18T17:01:14",
"volumeUSD": 3196948.7086882377,
"volumeChangePercent": -10.538000381034182,
"priceChangePercent": -3.4737068687710613
}
}
}Price & OHLCV
Price Volume - Multi
Retrieve price and volume updates of multiple tokens. Maximum 50 tokens.
POST
/
defi
/
price_volume
/
multi
Price Volume - Multi
curl --request POST \
--url https://public-api.birdeye.so/defi/price_volume/multi \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"list_address": "So11111111111111111111111111111111111111112,DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",
"type": "24h"
}
'import requests
url = "https://public-api.birdeye.so/defi/price_volume/multi"
payload = {
"list_address": "So11111111111111111111111111111111111111112,DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",
"type": "24h"
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
list_address: 'So11111111111111111111111111111111111111112,DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263',
type: '24h'
})
};
fetch('https://public-api.birdeye.so/defi/price_volume/multi', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"data": {
"So11111111111111111111111111111111111111112": {
"isScaledUiToken": false,
"price": 128.94722473832456,
"updateUnixTime": 1726678893,
"updateHumanTime": "2024-09-18T17:01:33",
"volumeUSD": 754317820.7943375,
"volumeChangePercent": -6.2958716685581955,
"priceChangePercent": -2.618887600381405
},
"DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263": {
"isScaledUiToken": false,
"price": 0.00001602442261925,
"updateUnixTime": 1726678874,
"updateHumanTime": "2024-09-18T17:01:14",
"volumeUSD": 3196948.7086882377,
"volumeChangePercent": -10.538000381034182,
"priceChangePercent": -3.4737068687710613
}
}
}- Usage Note
- Accessibility
- Chain Supported
Batch price-plus-volume snapshots.
- This endpoint is the multi-token version of
Price Volume - Single. - Maximum batch size is
50token addresses per request. - Send the token list in the POST body using the documented request schema.
typedefaults to24hand supports shorter rolling windows for more reactive screens.
- Premium
- Business
- Enterprise
All chains ⛓️ ✨
Compute Unit ⚙️
Compute Unit ⚙️
- Batch CU is calculated as
ceil(8 * count^0.8).
Use Cases 💡
Use Cases 💡
- Hydrate market boards, watchlists, and comparison tables with both price and rolling volume.
- Rank many tokens by momentum without pulling full candle histories.
- Power scanners that care about price action and trading activity at the same time.
- Reduce request fan-out versus calling the single-token endpoint repeatedly.
How to Use 🛠️
How to Use 🛠️
- Set
x-chainfor the target network. - Send up to
50token addresses in the POST body. - Choose the rolling window in
type. - Use the single-token variant for detail pages or isolated refreshes.
Best Practices ✅
Best Practices ✅
- Keep one shared timeframe per screen so all rows are comparable.
- Deduplicate addresses before batching.
- Refresh this batch on a cadence that matches the timeframe sensitivity of the screen.
Authorizations
API key for authentication
Headers
A chain name listed in supported networks.
Available options:
solana, ethereum, bsc, base, robinhood, sui, mantle, hyperevm, arbitrum, avalanche, optimism, polygon, zksync, monad, aptos, fogo, megaeth Query Parameters
Indicate whether to use the scaled amount for scaled ui amount tokens. Only support solana
Available options:
raw, scaled, both Body
application/json
Response
JSON object containing price and volume with changes data of multiple tokens
Was this page helpful?

