Understanding token dynamics on the Ethereum blockchain is essential for developers, analysts, and blockchain enthusiasts. Whether you're tracking ERC20 supply, monitoring NFT holdings, or analyzing token distribution, Etherscan API provides powerful endpoints to retrieve real-time and historical token data. This guide walks you through the most valuable token-related API functions, helping you extract accurate blockchain insights efficiently.
Core Keywords
- Etherscan API
- ERC20 token balance
- Token supply tracking
- ERC721 NFT holdings
- Blockchain data query
- Smart contract analytics
- Ethereum token holders
- Historical token data
Get ERC20 Token Total Supply by Contract Address
One of the most fundamental queries in token analysis is checking the total supply of an ERC20 token. This endpoint returns the current circulating amount of a specific token based on its contract address.
https://api.etherscan.io/v2/api?chainid=1&module=stats&action=tokensupply&contractaddress=0x57d90b64a1a57749b0f932f1a3395792e12e7055&apikey=YourApiKeyTokenThis call is useful for verifying inflation rates, tracking minting events, or validating tokenomics models. Simply replace the contractaddress parameter with your target token’s address and include your API key.
👉 Discover how to automate token supply monitoring across multiple chains.
Check ERC20 Token Balance for a Specific Address
To determine how many tokens a wallet holds, use the tokenbalance action. It returns the current balance of an ERC20 token for any Ethereum address.
https://api.etherscan.io/v2/api?chainid=1&module=account&action=tokenbalance&contractaddress=0x57d90b64a1a57749b0f932f1a3395792e12e7055&address=0xe04f27eb70e025b78871a2ad7eabe85e61212761&tag=latest&apikey=YourApiKeyTokenThe response includes the balance in raw format (lowest denomination), which you can convert using the token's decimals. This is crucial for dashboards, portfolio trackers, or compliance tools.
FAQ: How Do I Convert Raw Token Balance to Readable Format?
Q: The API returns a large number like 1000000000000000000. How do I make it readable?
A: Divide the value by 10^decimals. For example, if the token uses 18 decimals, divide by 1e18 to get 1.0.
Q: Can I use this endpoint for any ERC20 token?
A: Yes, as long as you have the correct contract address and it exists on Ethereum Mainnet (chain ID 1).
Q: Is there a rate limit?
A: Standard users are limited to 5 calls per second; API Pro users enjoy higher throughput.
Retrieve Historical ERC20 Token Supply at a Specific Block
Need to audit token supply at a past block? Use tokensupplyhistory to get the total supply at a given block height.
https://api.etherscan.io/v2/api?chainid=1&module=stats&action=tokensupplyhistory&contractaddress=0x57d90b64a1a57749b0f932f1a3395792e12e7055&blockno=8000000&apikey=YourApiKeyTokenThis is invaluable for forensic analysis, auditing smart contract behavior over time, or validating snapshots for airdrops.
📝 Note: This endpoint is throttled to 2 calls per second, even for API Pro subscribers.
👉 Learn how to build historical blockchain analytics tools using real-time data feeds.
Fetch Historical ERC20 Token Balance by Block Number
Just like supply, you can retrieve an account’s token balance at a specific block using tokenbalancehistory.
https://api.etherscan.io/v2/api?chainid=1&module=account&action=tokenbalancehistory&contractaddress=0x57d90b64a1a57749b0f932f1a3395792e12e7055&address=0xe04f27eb70e025b78871a2ad7eabe85e61212761&blockno=8000000&apikey=YourApiKeyTokenUse cases include:
- Validating wallet balances before and after major transactions
- Reconstructing user activity for compliance
- Auditing DeFi protocol interactions
List All Token Holders by Contract Address
To analyze token distribution, retrieve a paginated list of current holders using tokenholderlist.
https://api.etherscan.io/v2/api?chainid=1&module=token&action=tokenholderlist&contractaddress=0xaaaebe6fe48e54f431b0c390cfaf0b017d09d42d&page=1&offset=10&apikey=YourApiKeyTokenYou can adjust page and offset (up to 10,000) to navigate large holder lists. This helps identify whale addresses, assess decentralization, or monitor community growth.
Get Total Number of Token Holders
For a quick count without full list retrieval:
https://api.etherscan.io/v2/api?chainid=1&module=token&action=tokenholdercount&contractaddress=0xaaaebe6fe48e54f431b0c390cfaf0b017d09d42d&apikey=YourApiKeyTokenThis lightweight call returns just the number of unique holders—ideal for dashboards or trend tracking.
Retrieve Token Metadata and Project Info
Use tokeninfo to fetch project details including name, symbol, website, and social links.
https://api.etherscan.io/v2/api?chainid=1&module=token&action=tokeninfo&contractaddress=0x0e3a2a1f2146d86a604adc220b4967a898d7fe07&apikey=YourApiKeyTokenSupports ERC20, ERC721, and ERC1155 tokens. Great for building explorers, portfolio apps, or security verification tools.
📝 Note: Also rate-limited to 2 calls per second.
Get All ERC20 Tokens Held by an Address
Instead of querying one token at a time, retrieve all ERC20 tokens held by a wallet using addresstokenbalance.
https://api.etherscan.io/v2/api?chainid=1&module=account&action=addresstokenbalance&address=0x983e3660c0bE01991785F80f266A84B911ab59b0&page=1&offset=100&apikey=YourApiKeyTokenReturns token contract addresses, balances, and metadata—perfect for portfolio aggregators or risk assessment engines.
Check ERC721 (NFT) Holdings for an Address
For NFT analysis, use addresstokennftbalance to list all ERC721 tokens owned by a wallet.
https://api.etherscan.io/v2/api?chainid=1&module=account&action=addresstokennftbalance&address=0x6b52e83941eb10f9c613c395a834457559a80114&page=1&offset=100&apikey=YourApiKeyTokenEach result includes token ID, contract address, and metadata links—ideal for NFT marketplaces or collector dashboards.
Filter NFT Inventory by Contract
To focus on a specific collection (e.g., Bored Ape Yacht Club), use addresstokennftinventory:
https://api.etherscan.io/v2/api?chainid=1&module=account&action=addresstokennftinventory&address=0x123432244443b54409430979df8333f9308a6040&contractaddress=0xed5af388653567af2f388e6224dc7c4b3241c544&page=1&offset=100&apikey=YourApiKeyTokenThis filters holdings by contract address, improving efficiency when scanning large wallets.
FAQ: Common Developer Questions
Q: Are all these endpoints available on testnets?
A: Most are limited to Ethereum Mainnet (chain ID 1). Check Etherscan’s documentation for testnet support.
Q: Can I automate daily balance checks?
A: Yes—combine cron jobs with API calls and store results in a database for trend analysis.
Q: What happens if I exceed rate limits?
A: You’ll receive an error response. Upgrade to API Pro for higher limits or implement retry logic with delays.
Q: How accurate is the holder count?
A: Etherscan indexes all transactions—data is highly accurate but may lag by a few blocks during peak loads.
👉 Start building powerful blockchain analytics tools with secure, scalable data access.
With these Etherscan API endpoints, you can unlock deep insights into token circulation, holder behavior, and NFT ownership. Whether you're developing a DeFi platform, auditing smart contracts, or creating a portfolio tracker, mastering these tools gives you a competitive edge in the Web3 ecosystem.