Token - Metadata (Single)
curl --request GET \
--url https://public-api.birdeye.so/defi/v3/token/meta-data/single \
--header 'X-API-KEY: <api-key>'import requests
url = "https://public-api.birdeye.so/defi/v3/token/meta-data/single"
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/token/meta-data/single', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"address": "So11111111111111111111111111111111111111112",
"symbol": "SOL",
"name": "Wrapped SOL",
"decimals": 9,
"extensions": {
"coingecko_id": "solana",
"website": "https://solana.com/",
"twitter": "https://twitter.com/solana",
"discord": "https://discordapp.com/invite/pquxPsq",
"medium": "https://medium.com/solana-labs"
},
"logo_uri": "https://img.fotofolio.xyz/?url=https%3A%2F%2Fraw.githubusercontent.com%2Fsolana-labs%2Ftoken-list%2Fmain%2Fassets%2Fmainnet%2FSo11111111111111111111111111111111111111112%2Flogo.png"
},
"success": true
}{
"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"
}Stats & Market Data
Token - Metadata (Single)
Retrieve metadata of a specified token.
GET
/
defi
/
v3
/
token
/
meta-data
/
single
Token - Metadata (Single)
curl --request GET \
--url https://public-api.birdeye.so/defi/v3/token/meta-data/single \
--header 'X-API-KEY: <api-key>'import requests
url = "https://public-api.birdeye.so/defi/v3/token/meta-data/single"
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/token/meta-data/single', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"address": "So11111111111111111111111111111111111111112",
"symbol": "SOL",
"name": "Wrapped SOL",
"decimals": 9,
"extensions": {
"coingecko_id": "solana",
"website": "https://solana.com/",
"twitter": "https://twitter.com/solana",
"discord": "https://discordapp.com/invite/pquxPsq",
"medium": "https://medium.com/solana-labs"
},
"logo_uri": "https://img.fotofolio.xyz/?url=https%3A%2F%2Fraw.githubusercontent.com%2Fsolana-labs%2Ftoken-list%2Fmain%2Fassets%2Fmainnet%2FSo11111111111111111111111111111111111111112%2Flogo.png"
},
"success": true
}{
"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
Lightweight token identity lookup.
- Always use the checksum contract address on EVM chains and the canonical token mint address on Solana-like chains.
- Token metadata can vary by chain and token standard.
- Response may be
nullor missing fields if metadata is not indexed or unavailable. - Use this endpoint when fetching metadata for one token; use the multiple endpoint for batch lookups.
- Cache token metadata where possible because it changes less frequently than market data.
- Lite
- Starter
- Premium
- Business
- Enterprise
All chains ⛓️ ✨
Compute Unit ⚙️
Compute Unit ⚙️
- This endpoint consumes
3 CUper request.
Use Cases 💡
Use Cases 💡
- Display token names, symbols, decimals, and logos in portfolios, token pages, and trading interfaces.
- Enrich search results, watchlists, and token cards before adding price or liquidity data.
- Normalize token display across chains using one metadata lookup pattern.
- Validate token identity before running analytics, alerts, or token-screening workflows.
How to Use 🛠️
How to Use 🛠️
- Provide
addressas the token address and setx-chainfor the target network. - Use the multiple metadata endpoint when you need to hydrate a list of tokens.
- Cache metadata because it changes much less often than price, liquidity, or trading activity.
Best Practices ✅
Best Practices ✅
- Fetch metadata before rendering token tables so users see readable names and symbols instead of raw addresses.
- Join metadata with market-data or price endpoints for richer token cards.
- Store decimals with the token record so downstream amount formatting stays consistent.
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.
Was this page helpful?

