Trades - Token Seek By Time
curl --request GET \
--url https://public-api.birdeye.so/defi/txs/token/seek_by_time \
--header 'X-API-KEY: <api-key>'import requests
url = "https://public-api.birdeye.so/defi/txs/token/seek_by_time"
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/txs/token/seek_by_time', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"data": {
"items": [
{
"quote": {
"symbol": "SOL",
"decimals": 9,
"address": "So11111111111111111111111111111111111111112",
"amount": "83",
"uiAmount": 8.3e-8,
"price": 133.58588874466795,
"changeAmount": 83,
"uiChangeAmount": 8.3e-8,
"isScaledUiToken": false,
"multiplier": null
},
"base": {
"symbol": "Poppy",
"decimals": 6,
"address": "7Am9kVe9qymLGzLu9LnGFT6pX43DAuMYBLveSRijpump",
"amount": "2999999",
"uiAmount": 2.999999,
"price": 0.000003840642989117913,
"changeAmount": -2999999,
"uiChangeAmount": -2.999999,
"isScaledUiToken": false,
"multiplier": null
},
"basePrice": 0.000003840642989117913,
"quotePrice": 133.58588874466795,
"txHash": "2rfQEtcrKmbCrwLet9REvUMWd6PoKjRV5fjUhYfmUjdS3ECkwF12s2bmswi8VGYxX1zp96nTfFxeSafjxDmASH6q",
"source": "pump_dot_fun",
"blockUnixTime": 1741531132,
"txType": "swap",
"owner": "J8RsYYa1CSsRi77aThfy48YPc7K5gwaepQDdvz2E3UoM",
"side": "buy",
"alias": null,
"pricePair": 36144566.26506024,
"from": {
"symbol": "Poppy",
"decimals": 6,
"address": "7Am9kVe9qymLGzLu9LnGFT6pX43DAuMYBLveSRijpump",
"amount": "2999999",
"uiAmount": 2.999999,
"price": 0.000003840642989117913,
"changeAmount": -2999999,
"uiChangeAmount": -2.999999,
"isScaledUiToken": false,
"multiplier": null
},
"to": {
"symbol": "SOL",
"decimals": 9,
"address": "So11111111111111111111111111111111111111112",
"amount": "83",
"uiAmount": 8.3e-8,
"price": 133.58588874466795,
"changeAmount": 83,
"uiChangeAmount": 8.3e-8,
"isScaledUiToken": false,
"multiplier": null
},
"tokenPrice": 133.58588874466795,
"poolId": "2qPLBXMp8YvQyM1SDQ4QoYF314jcLzM86NpMUF6Wni6H"
}
],
"hasNext": true
}
}Transactions
Trades - Token Seek By Time
Retrieve a list of trades of a specified token with time bound option.
GET
/
defi
/
txs
/
token
/
seek_by_time
Trades - Token Seek By Time
curl --request GET \
--url https://public-api.birdeye.so/defi/txs/token/seek_by_time \
--header 'X-API-KEY: <api-key>'import requests
url = "https://public-api.birdeye.so/defi/txs/token/seek_by_time"
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/txs/token/seek_by_time', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"data": {
"items": [
{
"quote": {
"symbol": "SOL",
"decimals": 9,
"address": "So11111111111111111111111111111111111111112",
"amount": "83",
"uiAmount": 8.3e-8,
"price": 133.58588874466795,
"changeAmount": 83,
"uiChangeAmount": 8.3e-8,
"isScaledUiToken": false,
"multiplier": null
},
"base": {
"symbol": "Poppy",
"decimals": 6,
"address": "7Am9kVe9qymLGzLu9LnGFT6pX43DAuMYBLveSRijpump",
"amount": "2999999",
"uiAmount": 2.999999,
"price": 0.000003840642989117913,
"changeAmount": -2999999,
"uiChangeAmount": -2.999999,
"isScaledUiToken": false,
"multiplier": null
},
"basePrice": 0.000003840642989117913,
"quotePrice": 133.58588874466795,
"txHash": "2rfQEtcrKmbCrwLet9REvUMWd6PoKjRV5fjUhYfmUjdS3ECkwF12s2bmswi8VGYxX1zp96nTfFxeSafjxDmASH6q",
"source": "pump_dot_fun",
"blockUnixTime": 1741531132,
"txType": "swap",
"owner": "J8RsYYa1CSsRi77aThfy48YPc7K5gwaepQDdvz2E3UoM",
"side": "buy",
"alias": null,
"pricePair": 36144566.26506024,
"from": {
"symbol": "Poppy",
"decimals": 6,
"address": "7Am9kVe9qymLGzLu9LnGFT6pX43DAuMYBLveSRijpump",
"amount": "2999999",
"uiAmount": 2.999999,
"price": 0.000003840642989117913,
"changeAmount": -2999999,
"uiChangeAmount": -2.999999,
"isScaledUiToken": false,
"multiplier": null
},
"to": {
"symbol": "SOL",
"decimals": 9,
"address": "So11111111111111111111111111111111111111112",
"amount": "83",
"uiAmount": 8.3e-8,
"price": 133.58588874466795,
"changeAmount": 83,
"uiChangeAmount": 8.3e-8,
"isScaledUiToken": false,
"multiplier": null
},
"tokenPrice": 133.58588874466795,
"poolId": "2qPLBXMp8YvQyM1SDQ4QoYF314jcLzM86NpMUF6Wni6H"
}
],
"hasNext": true
}
}- Usage Note
- Accessibility
- Chain Supported
Time-bounded legacy trade sync for one token.
- Pass the token address in
address. limitsupports1to100items per request, andoffsetsupports up to10,000.- Use
before_timeandafter_timeto step through historical windows. - Insights in the response:
price: the executed price of the trade at the exact moment the transaction occurred.nearestPrice: the closest available market price to the transaction timestamp from Birdeye’s price index.basePrice: the USD price of the base token at the time of the trade.quotePrice: the USD price of the quote token at the time of the trade.
- Lite
- Starter
- Premium
- Business
- Enterprise
All chains ⛓️ ✨
Compute Unit ⚙️
Compute Unit ⚙️
- This endpoint consumes
10 CUper request.
Use Cases 💡
Use Cases 💡
- Fetch historical token trades starting from a specific timestamp.
- Perfect for syncing trade data into your database or analytics tools.
- Enables building time-based trade charts or volume trend analysis.
- Combine with real-time transaction endpoints to create full trade timelines.
- Great for tracking whale activity, token movements, or suspicious patterns.
- Backfill token trades into a database with explicit time windows.
- Reconstruct trade timelines around launches, news, or whale activity.
- Build historical trade charts and flow analytics from raw events.
- Continue ingestion from a known checkpoint instead of replaying the entire feed.
How to Use 🛠️
How to Use 🛠️
- Set
x-chainfor the target network. - Pass the token address in
address. - Use
after_timeandbefore_timeto define the window you want. - Page through dense windows with
offsetandlimit, keepinglimitat100or below.
Best Practices ✅
Best Practices ✅
- Use fixed window sizes in your backfill jobs so retries and deduplication stay simple.
- Treat
nearestPriceas a reference price, not the executed fill price. - Switch to V3 token trades if you later need owner, source, or block-range filters.
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
The address of the token contract.
Pagination start position. offset + limit <= 10000
Required range:
0 <= x <= 10000Number of items per page.
Required range:
1 <= x <= 100Available options:
swap, add, remove, all Specify the time seeked before using unix timestamps in seconds
Required range:
1 <= x <= 10000000000Specify the time seeked after using unix timestamps in seconds
Required range:
1 <= x <= 10000000000Indicate whether to use the scaled amount for scaled ui amount tokens. Only support solana
Available options:
raw, scaled Was this page helpful?

