Many tokens in one call
curl --request GET \
--url https://api.raze.bot/v1/tokens \
--header 'x-api-key: <api-key>'import requests
url = "https://api.raze.bot/v1/tokens"
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://api.raze.bot/v1/tokens', 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.raze.bot/v1/tokens",
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://api.raze.bot/v1/tokens"
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://api.raze.bot/v1/tokens")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.raze.bot/v1/tokens")
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{
"data": [
{
"chain": "<string>",
"address": "<string>",
"name": "<string>",
"symbol": "<string>",
"decimals": 123,
"image": "<string>",
"banner": "<string>",
"description": "<string>",
"socials": {
"twitter": "<string>",
"telegram": "<string>",
"website": "<string>",
"discord": "<string>"
},
"createdAt": 123,
"creator": "<string>",
"totalSupply": 123,
"circulatingSupply": 123,
"priceUsd": 123,
"marketCapUsd": 123,
"liquidityUsd": 123,
"holders": 123,
"stats": {
"1m": {
"priceChangePercent": 123,
"volumeUsd": 123,
"buyVolumeUsd": 123,
"sellVolumeUsd": 123,
"buys": 123,
"sells": 123,
"trades": 123
},
"5m": {
"priceChangePercent": 123,
"volumeUsd": 123,
"buyVolumeUsd": 123,
"sellVolumeUsd": 123,
"buys": 123,
"sells": 123,
"trades": 123
},
"1h": {
"priceChangePercent": 123,
"volumeUsd": 123,
"buyVolumeUsd": 123,
"sellVolumeUsd": 123,
"buys": 123,
"sells": 123,
"trades": 123
},
"6h": {
"priceChangePercent": 123,
"volumeUsd": 123,
"buyVolumeUsd": 123,
"sellVolumeUsd": 123,
"buys": 123,
"sells": 123,
"trades": 123
},
"24h": {
"priceChangePercent": 123,
"volumeUsd": 123,
"buyVolumeUsd": 123,
"sellVolumeUsd": 123,
"buys": 123,
"sells": 123,
"trades": 123
}
},
"pool": {
"address": "<string>",
"dex": "<string>",
"quoteToken": "<string>",
"quoteSymbol": "<string>",
"liquidityUsd": 123
},
"launchpad": {
"name": "<string>",
"progressPercent": 123,
"graduated": true,
"graduatedAt": 123,
"graduatedPool": "<string>"
},
"safety": {
"top10Percent": 123,
"devPercent": 123,
"snipersPercent": 123,
"bundlersPercent": 123,
"insidersPercent": 123,
"botsPercent": 123,
"freshWalletsPercent": 123,
"bluechipPercent": 123,
"creatorLaunches": 123,
"honeypot": true,
"mintRenounced": true,
"freezeRenounced": true,
"buyTaxPercent": 123,
"sellTaxPercent": 123
}
}
]
}{
"error": {
"code": "bad_request",
"message": "unknown chain 'xyz', use one of: sol, eth, bsc, base, robinhood"
}
}Tokens
Get many tokens
Price, market cap, liquidity, holders, supply, stats and main pool for up to 50 tokens across
chains, in the order asked; unknown tokens are left out. safety, socials and launchpad
are filled when a recent single-token read already has them, otherwise null; the
single-token endpoint always has all of it.
GET
/
v1
/
tokens
Many tokens in one call
curl --request GET \
--url https://api.raze.bot/v1/tokens \
--header 'x-api-key: <api-key>'import requests
url = "https://api.raze.bot/v1/tokens"
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://api.raze.bot/v1/tokens', 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.raze.bot/v1/tokens",
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://api.raze.bot/v1/tokens"
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://api.raze.bot/v1/tokens")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.raze.bot/v1/tokens")
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{
"data": [
{
"chain": "<string>",
"address": "<string>",
"name": "<string>",
"symbol": "<string>",
"decimals": 123,
"image": "<string>",
"banner": "<string>",
"description": "<string>",
"socials": {
"twitter": "<string>",
"telegram": "<string>",
"website": "<string>",
"discord": "<string>"
},
"createdAt": 123,
"creator": "<string>",
"totalSupply": 123,
"circulatingSupply": 123,
"priceUsd": 123,
"marketCapUsd": 123,
"liquidityUsd": 123,
"holders": 123,
"stats": {
"1m": {
"priceChangePercent": 123,
"volumeUsd": 123,
"buyVolumeUsd": 123,
"sellVolumeUsd": 123,
"buys": 123,
"sells": 123,
"trades": 123
},
"5m": {
"priceChangePercent": 123,
"volumeUsd": 123,
"buyVolumeUsd": 123,
"sellVolumeUsd": 123,
"buys": 123,
"sells": 123,
"trades": 123
},
"1h": {
"priceChangePercent": 123,
"volumeUsd": 123,
"buyVolumeUsd": 123,
"sellVolumeUsd": 123,
"buys": 123,
"sells": 123,
"trades": 123
},
"6h": {
"priceChangePercent": 123,
"volumeUsd": 123,
"buyVolumeUsd": 123,
"sellVolumeUsd": 123,
"buys": 123,
"sells": 123,
"trades": 123
},
"24h": {
"priceChangePercent": 123,
"volumeUsd": 123,
"buyVolumeUsd": 123,
"sellVolumeUsd": 123,
"buys": 123,
"sells": 123,
"trades": 123
}
},
"pool": {
"address": "<string>",
"dex": "<string>",
"quoteToken": "<string>",
"quoteSymbol": "<string>",
"liquidityUsd": 123
},
"launchpad": {
"name": "<string>",
"progressPercent": 123,
"graduated": true,
"graduatedAt": 123,
"graduatedPool": "<string>"
},
"safety": {
"top10Percent": 123,
"devPercent": 123,
"snipersPercent": 123,
"bundlersPercent": 123,
"insidersPercent": 123,
"botsPercent": 123,
"freshWalletsPercent": 123,
"bluechipPercent": 123,
"creatorLaunches": 123,
"honeypot": true,
"mintRenounced": true,
"freezeRenounced": true,
"buyTaxPercent": 123,
"sellTaxPercent": 123
}
}
]
}{
"error": {
"code": "bad_request",
"message": "unknown chain 'xyz', use one of: sol, eth, bsc, base, robinhood"
}
}Up to 50 tokens, on any mix of chains, in one call:
?ids=sol:<mint>,bsc:<address>,…. The answer keeps your order and leaves out tokens nobody knows.
Price, market cap, liquidity, holders, supply, stats and main pool are always there. safety, socials and launchpad are filled only when a recent single-token read already has them, otherwise null: use this route for lists and watchlists, the single route for a token page.Authorizations
ApiKeyHeaderBearerApiKeyQuery
Query Parameters
Up to 50 chain:address pairs, comma separated
Example:
"sol:DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263,bsc:0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82"
Response
Tokens, in the order asked
Show child attributes
Show child attributes
⌘I