Get Token
curl --request GET \
--url https://api.blockworks.com/query/tabular/tokens/{id} \
--header 'X-Blockworks-API-Key: <api-key>'import requests
url = "https://api.blockworks.com/query/tabular/tokens/{id}"
headers = {"X-Blockworks-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Blockworks-API-Key': '<api-key>'}};
fetch('https://api.blockworks.com/query/tabular/tokens/{id}', 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.blockworks.com/query/tabular/tokens/{id}",
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-Blockworks-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://api.blockworks.com/query/tabular/tokens/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Blockworks-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://api.blockworks.com/query/tabular/tokens/{id}")
.header("X-Blockworks-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blockworks.com/query/tabular/tokens/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Blockworks-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"bridgeID": "<bridgeID>",
"category": "<category>",
"chain": "<chain>",
"id": "<id>",
"issuerID": "<issuerID>",
"launchpadID": "<launchpadID>",
"name": "<name>",
"networkID": "<networkID>",
"networkSlug": "<networkSlug>",
"sector": "<sector>",
"slug": "<slug>",
"subsector": "<subsector>",
"symbol": "<symbol>",
"tokenAddress": "<tokenAddress>",
"tokenVersion": "<tokenVersion>",
"underlyingAssetID": "<underlyingAssetID>",
"underlyingTokenSlug": "<underlyingTokenSlug>"
},
"error": null,
"metadata": {
"matchedField": "id"
}
}{
"data": null,
"error": "unknown selection field \"nope\""
}{
"data": null,
"error": "this model requires authentication"
}{
"data": null,
"error": "this model requires the \"assets-dataset\" permission; see https://app.blockworks.com/account/api for the public API permissions you hold"
}{
"data": null,
"error": "no row found matching \"unknown\""
}Tokens
Get Token
One row per token contract per chain from the Blockworks Research token classification: chain and contract address, symbol, category, sector and subsector, the issuer, and for bridged or wrapped tokens the token and asset they represent. Deployments of one token on several chains share a slug.
GET
/
query
/
tabular
/
tokens
/
{id}
Get Token
curl --request GET \
--url https://api.blockworks.com/query/tabular/tokens/{id} \
--header 'X-Blockworks-API-Key: <api-key>'import requests
url = "https://api.blockworks.com/query/tabular/tokens/{id}"
headers = {"X-Blockworks-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Blockworks-API-Key': '<api-key>'}};
fetch('https://api.blockworks.com/query/tabular/tokens/{id}', 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.blockworks.com/query/tabular/tokens/{id}",
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-Blockworks-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://api.blockworks.com/query/tabular/tokens/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Blockworks-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://api.blockworks.com/query/tabular/tokens/{id}")
.header("X-Blockworks-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blockworks.com/query/tabular/tokens/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Blockworks-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"bridgeID": "<bridgeID>",
"category": "<category>",
"chain": "<chain>",
"id": "<id>",
"issuerID": "<issuerID>",
"launchpadID": "<launchpadID>",
"name": "<name>",
"networkID": "<networkID>",
"networkSlug": "<networkSlug>",
"sector": "<sector>",
"slug": "<slug>",
"subsector": "<subsector>",
"symbol": "<symbol>",
"tokenAddress": "<tokenAddress>",
"tokenVersion": "<tokenVersion>",
"underlyingAssetID": "<underlyingAssetID>",
"underlyingTokenSlug": "<underlyingTokenSlug>"
},
"error": null,
"metadata": {
"matchedField": "id"
}
}{
"data": null,
"error": "unknown selection field \"nope\""
}{
"data": null,
"error": "this model requires authentication"
}{
"data": null,
"error": "this model requires the \"assets-dataset\" permission; see https://app.blockworks.com/account/api for the public API permissions you hold"
}{
"data": null,
"error": "no row found matching \"unknown\""
}Authorizations
API key sent in the X-Blockworks-API-Key header; x-messari-api-key is accepted for existing integrations. The catalog endpoints and models open to everyone need no key.
Path Parameters
The Token ID identifying the row.
Query Parameters
Comma-separated fields to return; defaults to all fields.
Available options:
id, name, slug, chain, tokenAddress, symbol, category, sector, subsector, issuerID, underlyingTokenSlug, underlyingAssetID, bridgeID, tokenVersion, launchpadID, networkID, networkSlug