Documentation Index Fetch the complete documentation index at: https://dev.jup.ag/docs/llms.txt
Use this file to discover all available pages before exploring further.
TL;DR
Jupiter’s Tokens API is the most widely used token data source on Solana. Search any token by name, symbol, or mint address and get metadata, verification status, organic score, and trading stats. Used by Phantom, Solflare, and most Solana apps.
Base URL: https://api.jup.ag
Prerequisites
Get an API key at Portal
All requests require the x-api-key header
Quick start
curl -X GET "https://api.jup.ag/tokens/v2/search?query=JUP" \
-H "x-api-key: YOUR_API_KEY"
Response (array of matching tokens):
[
{
"id" : "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN" ,
"name" : "Jupiter" ,
"symbol" : "JUP" ,
"icon" : "https://static.jup.ag/jup/icon.png" ,
"decimals" : 6 ,
"isVerified" : true ,
"organicScore" : 98.08 ,
"organicScoreLabel" : "high" ,
"usdPrice" : 0.1424 ,
"mcap" : 461995714.68 ,
"holderCount" : 857247 ,
"tags" : [ "verified" , "community" , "strict" ]
}
]
When you need this
You’re building something that needs Solana token data:
Wallet — Display token names, symbols, icons
Trading interface — Token search, verification badges
Portfolio tracker — Metadata, holder count, market cap
Analytics dashboard — Trading volume, organic score, liquidity
Trading bot — Filter tokens by metrics, find new listings
Common searches that lead here:
“solana token metadata api”
“get token logo solana”
“token verification solana”
“trending tokens solana api”
Why Jupiter
Jupiter maintains the most comprehensive token database on Solana:
580k+ tokens indexed with metadata
Verification system trusted by major Solana wallets
Organic Score distinguishes real trading from wash trading
Real-time stats across 5m, 1h, 6h, 24h windows
The same data powers jup.ag and is used by Phantom, Solflare, and most Solana apps.
API Reference
Base URL: https://api.jup.ag
Endpoint Description GET /tokens/v2/search?query={query}Search by mint, symbol, or name GET /tokens/v2/tag?query={tag}Get tokens by tag (verified, lst) GET /tokens/v2/{category}/{interval}Get trending/top tokens GET /tokens/v2/recentGet recently listed tokens
Code examples
Search by mint, symbol, or name
curl -X GET "https://api.jup.ag/tokens/v2/search?query=JUP" \
-H "x-api-key: YOUR_API_KEY"
Query options:
Mint address: So11111111111111111111111111111111111111112
Symbol: SOL, JUP, USDC
Name: Jupiter, Wrapped SOL
Multiple (comma-separated): SOL,JUP,USDC (max 100)
Get all verified tokens
curl -X GET "https://api.jup.ag/tokens/v2/tag?query=verified" \
-H "x-api-key: YOUR_API_KEY"
Available tags: verified, lst (liquid staking tokens)
Get trending tokens
curl -X GET "https://api.jup.ag/tokens/v2/toptrending/1h?limit=50" \
-H "x-api-key: YOUR_API_KEY"
Categories:
toptrending — Most price movement
toptraded — Highest volume
toporganicscore — Highest organic (real) activity
Intervals: 5m, 1h, 6h, 24h
Get recently listed tokens
curl -X GET "https://api.jup.ag/tokens/v2/recent" \
-H "x-api-key: YOUR_API_KEY"
Returns tokens ordered by first pool creation time (not mint time).
TypeScript types
interface TokenInfo {
// Identity
id : string ; // Mint address
name : string ;
symbol : string ;
icon : string | null ; // Logo URL
decimals : number ;
tokenProgram : string ; // SPL Token or Token-2022 program address
createdAt : string ; // Token creation timestamp
// Social (optional, varies per token)
twitter ?: string ;
website ?: string ;
discord ?: string ;
instagram ?: string ;
tiktok ?: string ;
otherUrl ?: string ;
dev ?: string ; // Developer wallet address
// Supply
circSupply : number | null ;
totalSupply : number | null ;
// Market data
fdv : number | null ; // Fully diluted valuation
mcap : number | null ; // Market cap in USD
usdPrice : number | null ;
priceBlockId : number | null ; // Solana block for price recency
liquidity : number | null ; // Total liquidity in USD
holderCount : number | null ;
apy ?: { jupEarn : number }; // APY from Jupiter Lend's Earn (only present for listed assets)
// Quality & verification
organicScore : number ; // 0-100
organicScoreLabel : 'high' | 'medium' | 'low' ;
isVerified : boolean | null ;
tags : string [] | null ; // e.g., ["verified", "community", "strict"]
// Audit (all fields conditional — present based on token characteristics)
audit : {
isSus ?: boolean ; // Flagged as suspicious (only present when true)
mintAuthorityDisabled ?: boolean ;
freezeAuthorityDisabled ?: boolean ;
topHoldersPercentage ?: number ; // % held by top holders
devBalancePercentage ?: number ; // % held by developer
devMints ?: number ; // Number of developer mints
} | null ;
// Launch info (conditional)
firstPool ?: { id : string ; createdAt : string } | null ;
// Trading stats (each window has the same shape)
stats5m ?: SwapStats | null ;
stats1h ?: SwapStats | null ;
stats6h ?: SwapStats | null ;
stats24h ?: SwapStats | null ;
updatedAt : string ; // Last data update timestamp
}
interface SwapStats {
priceChange ?: number ; // Percentage
holderChange ?: number ;
liquidityChange ?: number ;
volumeChange ?: number ;
buyVolume ?: number ;
sellVolume ?: number ;
buyOrganicVolume ?: number ;
sellOrganicVolume ?: number ;
numBuys ?: number ;
numSells ?: number ;
numTraders ?: number ;
numOrganicBuyers ?: number ;
numNetBuyers ?: number ;
}
See all 74 lines
Example response
{
"id" : "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN" ,
"name" : "Jupiter" ,
"symbol" : "JUP" ,
"icon" : "https://static.jup.ag/jup/icon.png" ,
"decimals" : 6 ,
"twitter" : "https://twitter.com/JupiterExchange" ,
"website" : "https://jup.ag" ,
"dev" : "JUPhop9E8ZfdJ5FNHhxQt4uAih822Vs4QpqsWcewFbq" ,
"circSupply" : 3243891294.88 ,
"totalSupply" : 6863982654.38 ,
"tokenProgram" : "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" ,
"firstPool" : {
"id" : "2pspvjWWaf3dNgt3jsgSzFCNvMGPb7t8FrEYvLGjvcCe" ,
"createdAt" : "2024-01-29T17:33:29Z"
},
"holderCount" : 857247 ,
"audit" : {
"mintAuthorityDisabled" : true ,
"freezeAuthorityDisabled" : true ,
"topHoldersPercentage" : 15.45
},
"organicScore" : 98.08 ,
"organicScoreLabel" : "high" ,
"isVerified" : true ,
"tags" : [ "birdeye-trending" , "community" , "strict" , "verified" ],
"createdAt" : "2024-06-07T10:56:42.584Z" ,
"fdv" : 977569925.64 ,
"mcap" : 461995714.68 ,
"usdPrice" : 0.1424 ,
"priceBlockId" : 402109205 ,
"liquidity" : 3002636.41 ,
"stats24h" : {
"priceChange" : -7.82 ,
"holderChange" : -0.03 ,
"liquidityChange" : -7.09 ,
"volumeChange" : 29.09 ,
"buyVolume" : 1811347.33 ,
"sellVolume" : 1997486.55 ,
"buyOrganicVolume" : 173368.01 ,
"sellOrganicVolume" : 611999.99 ,
"numBuys" : 34025 ,
"numSells" : 31278 ,
"numTraders" : 5200 ,
"numOrganicBuyers" : 291 ,
"numNetBuyers" : 1201
},
"updatedAt" : "2026-02-23T03:54:14.460Z"
}
Error responses
Token not found:
Invalid API key (401):
{
"code" : 401 ,
"message" : "Unauthorized"
}
Rate limited (429):
{
"message" : "Rate limit exceeded"
}
Evaluating token safety
Use these fields to assess risk:
Field Safe Risky isVerifiedtruefalseorganicScoreLabel"high""low"audit.mintAuthorityDisabledtruefalse (can mint more)audit.freezeAuthorityDisabledtruefalse (can freeze)audit.isSusabsent (not flagged) true (flagged)audit.topHoldersPercentageLow (e.g., < 20%) High concentration audit.devBalancePercentageLow High (dev holds large supply)
Note: audit fields are conditional. isSus is only present when the token is flagged as suspicious — not all risky tokens will have this flag.
Common questions
How do I get a token's logo?
The icon field contains a URL to the token’s logo image. Always verify the URL is from a trusted domain before displaying.
What does organic score mean?
Organic score (0-100) measures real trading activity vs wash trading. Higher = more legitimate trading. See Organic Score docs for methodology.
How often is data updated?
Token metadata updates continuously. Trading stats (stats5m, stats1h, etc.) reflect real-time market activity.
Why is a token returning empty?
The token either doesn’t exist or hasn’t had a pool created yet. Use the mint address directly to verify.
Need token prices too? Once you have the token mint address, get its current USD price with the Price API .
Next steps