curl --request GET \
--url https://public-api.birdeye.so/defi/v3/liquidity/history/pair \
--header 'X-API-KEY: <api-key>'import requests
url = "https://public-api.birdeye.so/defi/v3/liquidity/history/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/liquidity/history/pair', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));Liquidity History - Pair
Retrieve point-in-time historical liquidity snapshots for a Solana trading pair.
curl --request GET \
--url https://public-api.birdeye.so/defi/v3/liquidity/history/pair \
--header 'X-API-KEY: <api-key>'import requests
url = "https://public-api.birdeye.so/defi/v3/liquidity/history/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/liquidity/history/pair', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));- Usage Note
- Accessibility
- Chain Supported
Historical pair liquidity snapshots on Solana.
- Returns point-in-time liquidity snapshots for a trading pair.
- Use either
unix_timeorblock_numberas the cursor; they are mutually exclusive. - Use
stepfor sampled points andskip_emptyto control repeated snapshots. - The endpoint returns up to
100records per request.
- Lite
- Starter
- Premium
- Business
- Enterprise
Solana
Compute Unit ⚙️
Compute Unit ⚙️
- This endpoint consumes
5 CUper request. - When
countis provided, batch CU is calculated asceil(5 × count^0.5).
Use Cases 💡
Use Cases 💡
- Track historical liquidity changes for a trading pair.
- Build execution-quality, depth, and market-health dashboards.
- Join pair liquidity history with price, trades, and OHLCV data.
How to Use 🛠️
How to Use 🛠️
- Set
x-chain=solanaand pass the pair address. - Choose either a Unix timestamp or Solana slot as the cursor.
- Use
direction,step, andcountto page or sample the history.
Best Practices ✅
Best Practices ✅
- Use
block_numberwhen the consumer is indexed by Solana slots. - Use
unix_timefor time-series charts and external market-data joins. - Keep
countandstepaligned with the chart resolution to avoid redundant points.
Limitations ⚠️
Limitations ⚠️
- Solana only.
Authorizations
API key for authentication
Headers
Solana network only.
solana Query Parameters
The address of a pair contract
Unix timestamp in seconds. Mutually exclusive with block_number. Defaults to the latest available data when neither unix_time nor block_number is provided.
0 <= x <= 10000000000Solana slot (block number) used as the cursor. Mutually exclusive with unix_time. Pagination cursors use slots when this parameter is supplied.
0 <= x <= 9007199254740991Optional sampling interval in slots for a block_number cursor or seconds for a unix_time cursor. When omitted, returns actual historical snapshots without regular sampling. With skip_empty=false, each sampling point uses the latest snapshot at or before it. With skip_empty=true, repeated snapshots are skipped.
1 <= x <= 9007199254740991For step sampling, false fills each requested point with the latest snapshot at or before it. True skips repeated snapshots using the existing skip/dedup behavior.
Direction to query liquidity records from the anchor time. Use back for older records and forward for newer records.
back, forward Maximum number of historical points returned. Defaults to 1 and is capped at 100. Batch CU is ceil(5 × count^0.5).
1 <= x <= 100Was this page helpful?

