Get ERC20 token metadata by contract
curl --request GET \
--url https://deep-index.moralis.io/api/v2.2/erc20/metadata \
--header 'X-API-Key: <api-key>'import requests
url = "https://deep-index.moralis.io/api/v2.2/erc20/metadata"
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://deep-index.moralis.io/api/v2.2/erc20/metadata', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://deep-index.moralis.io/api/v2.2/erc20/metadata",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://deep-index.moralis.io/api/v2.2/erc20/metadata"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://deep-index.moralis.io/api/v2.2/erc20/metadata")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://deep-index.moralis.io/api/v2.2/erc20/metadata")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"address": "0x6982508145454ce325ddbe47a25d4ec3d2311933",
"name": "Kylin Network",
"symbol": "KYL",
"decimals": "18",
"created_at": "<string>",
"possible_spam": "false",
"address_label": "Binance 1",
"logo": "https://cdn.moralis.io/eth/0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c.png",
"logo_hash": "ee7aa2cdf100649a3521a082116258e862e6971261a39b5cd4e4354fcccbc54d",
"thumbnail": "https://cdn.moralis.io/eth/0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c_thumb.png",
"total_supply": "420689899999994793099999999997400",
"total_supply_formatted": "420689899999994.7930999999999974",
"implementations": [
{
"chainId": "0x1",
"address": "0x6982508145454ce325ddbe47a25d4ec3d2311933",
"chain": "eth",
"chainName": "Ethereum"
}
],
"fully_diluted_valuation": "3407271444.05",
"block_number": "<string>",
"validated": 123,
"verified_contract": false,
"categories": [
"stablecoin"
],
"links": {
"bitbucket": "<string>",
"discord": "<string>",
"facebook": "<string>",
"github": "<string>",
"instagram": "<string>",
"linkedin": "<string>",
"medium": "<string>",
"reddit": "<string>",
"telegram": "<string>",
"tiktok": "<string>",
"twitter": "<string>",
"website": "<string>",
"youtube": "<string>"
},
"circulating_supply": "4206864.7489303",
"market_cap": "3407271444.05"
}
]Metadata & Info
Token Metadata
Retrieve metadata (name, symbol, decimals, logo) for an ERC20 token contract, as well as off-chain metadata, total supply, categories, logos, spam status and more.
GET
/
erc20
/
metadata
Get ERC20 token metadata by contract
curl --request GET \
--url https://deep-index.moralis.io/api/v2.2/erc20/metadata \
--header 'X-API-Key: <api-key>'import requests
url = "https://deep-index.moralis.io/api/v2.2/erc20/metadata"
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://deep-index.moralis.io/api/v2.2/erc20/metadata', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://deep-index.moralis.io/api/v2.2/erc20/metadata",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://deep-index.moralis.io/api/v2.2/erc20/metadata"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://deep-index.moralis.io/api/v2.2/erc20/metadata")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://deep-index.moralis.io/api/v2.2/erc20/metadata")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"address": "0x6982508145454ce325ddbe47a25d4ec3d2311933",
"name": "Kylin Network",
"symbol": "KYL",
"decimals": "18",
"created_at": "<string>",
"possible_spam": "false",
"address_label": "Binance 1",
"logo": "https://cdn.moralis.io/eth/0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c.png",
"logo_hash": "ee7aa2cdf100649a3521a082116258e862e6971261a39b5cd4e4354fcccbc54d",
"thumbnail": "https://cdn.moralis.io/eth/0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c_thumb.png",
"total_supply": "420689899999994793099999999997400",
"total_supply_formatted": "420689899999994.7930999999999974",
"implementations": [
{
"chainId": "0x1",
"address": "0x6982508145454ce325ddbe47a25d4ec3d2311933",
"chain": "eth",
"chainName": "Ethereum"
}
],
"fully_diluted_valuation": "3407271444.05",
"block_number": "<string>",
"validated": 123,
"verified_contract": false,
"categories": [
"stablecoin"
],
"links": {
"bitbucket": "<string>",
"discord": "<string>",
"facebook": "<string>",
"github": "<string>",
"instagram": "<string>",
"linkedin": "<string>",
"medium": "<string>",
"reddit": "<string>",
"telegram": "<string>",
"tiktok": "<string>",
"twitter": "<string>",
"website": "<string>",
"youtube": "<string>"
},
"circulating_supply": "4206864.7489303",
"market_cap": "3407271444.05"
}
]Query Parameters
The chain to query
Available options:
eth, 0x1, polygon, 0x89, bsc, 0x38, avalanche, 0xa86a, cronos, 0x19, arbitrum, 0xa4b1, chiliz, 0x15b38, gnosis, 0x64, base, 0x2105, optimism, 0xa, linea, 0xe708, moonbeam, 0x504, moonriver, 0x505, flow, 0x2eb, ronin, 0x7e4, lisk, 0x46f, pulse, 0x171, sei, 0x531, monad, 0x8f Response
200 - application/json
Get the metadata for a given ERC20 token contract address (name, symbol, decimals, logo).

