Token Data API

Comprehensive token data service that provides detailed information about tokens including metadata, liquidity pools, risk analysis, and market data.

Endpoint

GET /api/token-data

Parameters

ParameterRequiredDescriptionExample
addressNo*Single token address?address=TOKEN_ADDRESS
addressesNo*Multiple token addresses (comma-separated)?addresses=ADDR1,ADDR2,ADDR3

*At least one of address or addresses is required

Response Format

{
  "statusCode": 200,
  "message": null,
  "data": {
    "tokenAddress": {
      "id": "tokenAddress_chainId",
      "chainId": 1399811149,
      "address": "tokenAddress",
      "decimals": 6,
      "name": "Token Name",
      "symbol": "SYMBOL",
      "syncedAt": "2025-04-30T16:46:21.193Z",
      "description": null,
      "isVerifiedSourceCode": null,
      "goplusStats": null,
      "ownerAddress": null,
      "totalSupply": "1000000000000000",
      "logo": "https://ipfs.io/ipfs/...",
      "website": null,
      "deployerAddress": "deployerAddress",
      "creationBlockNumber": 336919996,
      "creationBlockTimestamp": 1746025180,
      "holdersCount": "130",
      "version": "1",
      "liquidityPools": {
        "poolAddress": {
          "chainId": 1399811149,
          "pairId": "tokenAddress_SOL",
          "poolAddress": "poolAddress",
          "token0Address": "tokenAddress",
          "token1Address": "So11111111111111111111111111111111111111112",
          "token0Decimals": 6,
          "token1Decimals": 9,
          "protocol": "PUMP_AMM",
          "syncedAt": "2025-04-30T15:00:00.000Z",
          "creationBlockNumber": 336925168,
          "creationBlockTimestamp": 1746027242,
          "suspectedBaseTokenPrice": "0.00000004413189232438",
          "suspectedQuoteTokenPrice": "22659350.12824060395359992981",
          "suspectedBaseTokenReserves": "645521010850933",
          "suspectedQuoteTokenReserves": "28488063744"
        }
      },
      "riskAnalysis": {
        "isMutable": false,
        "ownerBalance": "0",
        "mintAuthority": null,
        "freezeAuthority": null,
        "updateAuthority": "authorityAddress"
      },
      "riskStatus": "SAFE",
      "links": {
        "twitter": "https://x.com/..."
      },
      "top10HoldersSupply": null,
      "origin": "PUMP",
      "image": "https://token-media.defined.fi/..."
    }
  }
}

Key Fields

Basic Token Info

  • address: Token's contract address
  • name: Token name
  • symbol: Token symbol
  • decimals: Number of decimal places
  • totalSupply: Total token supply

Creation Info

  • deployerAddress: Address that deployed the token
  • creationBlockNumber: Block number when token was created
  • creationBlockTimestamp: Unix timestamp of creation
  • syncedAt: Last data sync timestamp

Liquidity Pools

  • poolAddress: Address of the liquidity pool
  • protocol: DEX protocol (e.g., "PUMP_AMM")
  • suspectedBaseTokenPrice: Current token price
  • suspectedBaseTokenReserves: Token reserves in pool

Risk Analysis

  • isMutable: Whether token is mutable
  • ownerBalance: Owner's token balance
  • riskStatus: Token risk status (e.g., "SAFE")
  • updateAuthority: Update authority address

Usage Examples

CURL Example:

curl "https://api.solapi.live/api/token-data?address=TOKEN_ADDRESS" \
  -H "x-api-key: YOUR_API_KEY"

JavaScript Example:

// Fetch token data with API key
fetch("https://api.solapi.live/api/token-data?address=TOKEN_ADDRESS", {
    headers: {
        'x-api-key': 'YOUR_API_KEY'
    }
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));

Multiple Tokens Example:

curl "https://api.solapi.live/api/token-data?addresses=ADDR1,ADDR2,ADDR3" \
  -H "x-api-key: YOUR_API_KEY"

Error Responses

{
  "error": "Missing required parameter",
  "message": "An address parameter is required. Use ?address=addr1 for a single address or ?addresses=addr1,addr2,addr3 for multiple addresses."
}

Common errors:

  • Missing address parameter
  • Invalid token address
  • Server error

Notes

  • All amounts are in their respective token's smallest unit
  • Prices are calculated based on pool reserves
  • Risk status is determined by analyzing token contract and holder patterns
  • Multiple liquidity pools may exist for the same token pair
  • Data is updated periodically (check
    syncedAt
    timestamp)