Get Address ERC20 Token Holding
curl --request GET \
--url 'https://api.etherscan.io/v2/api?apikey='import requests
url = "https://api.etherscan.io/v2/api?apikey="
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.etherscan.io/v2/api?apikey=', 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://api.etherscan.io/v2/api?apikey=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://api.etherscan.io/v2/api?apikey="
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.etherscan.io/v2/api?apikey=")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.etherscan.io/v2/api?apikey=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"status": "1",
"message": "OK",
"result": [
{
"TokenAddress": "0xffffffff2ba8f66d4e51811c5190992176930278",
"TokenName": "Furucombo",
"TokenSymbol": "COMBO",
"TokenQuantity": "1861606940000000000",
"TokenDivisor": "18",
"TokenPriceUSD": "0.000891470000000000"
},
{
"TokenAddress": "0x53a1e9912323b8016424d6287286e3b6de263f76",
"TokenName": "PUTIN Token",
"TokenSymbol": "PTT",
"TokenQuantity": "3500000000000000000000",
"TokenDivisor": "18",
"TokenPriceUSD": "0.000000000000000000"
}
]
}
Tokens
Get Address ERC20 Token Holding
Retrieves the list of ERC-20 tokens and balances held by a specified address.
GET
/
v2
/
api
Get Address ERC20 Token Holding
curl --request GET \
--url 'https://api.etherscan.io/v2/api?apikey='import requests
url = "https://api.etherscan.io/v2/api?apikey="
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.etherscan.io/v2/api?apikey=', 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://api.etherscan.io/v2/api?apikey=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://api.etherscan.io/v2/api?apikey="
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.etherscan.io/v2/api?apikey=")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.etherscan.io/v2/api?apikey=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"status": "1",
"message": "OK",
"result": [
{
"TokenAddress": "0xffffffff2ba8f66d4e51811c5190992176930278",
"TokenName": "Furucombo",
"TokenSymbol": "COMBO",
"TokenQuantity": "1861606940000000000",
"TokenDivisor": "18",
"TokenPriceUSD": "0.000891470000000000"
},
{
"TokenAddress": "0x53a1e9912323b8016424d6287286e3b6de263f76",
"TokenName": "PUTIN Token",
"TokenSymbol": "PTT",
"TokenQuantity": "3500000000000000000000",
"TokenDivisor": "18",
"TokenPriceUSD": "0.000000000000000000"
}
]
}
This is a PRO endpoint, available to the Standard Plan and above
This endpoint is throttled to 2 calls/second regardless of API Pro tier.
{
"status": "1",
"message": "OK",
"result": [
{
"TokenAddress": "0xffffffff2ba8f66d4e51811c5190992176930278",
"TokenName": "Furucombo",
"TokenSymbol": "COMBO",
"TokenQuantity": "1861606940000000000",
"TokenDivisor": "18",
"TokenPriceUSD": "0.000891470000000000"
},
{
"TokenAddress": "0x53a1e9912323b8016424d6287286e3b6de263f76",
"TokenName": "PUTIN Token",
"TokenSymbol": "PTT",
"TokenQuantity": "3500000000000000000000",
"TokenDivisor": "18",
"TokenPriceUSD": "0.000000000000000000"
}
]
}
Authorizations
Enter your Etherscan API key, or set one up if you don't have one.
Query Parameters
Chain ID to query, eg 1 for Ethereum, 42161 for Arbitrum from our supported chains.
Set to account for this endpoint.
Set to addresstokenbalance for this endpoint.
Address to check for token holdings.
Page number for pagination.
Number of records per page. Use the page parameter for subsequent records.
Response
200 - application/json
Successful response
1 if the request returned data, 0 otherwise. A status of 0 can indicate an error or a valid request that returned no records.
OK on success, otherwise an error description such as NOTOK. See common error messages.
Show child attributes
Show child attributes