Get multi metadata
curl --request GET \
--url https://demo-api.mobula.io/api/1/multi-metadataimport requests
url = "https://demo-api.mobula.io/api/1/multi-metadata"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://demo-api.mobula.io/api/1/multi-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://demo-api.mobula.io/api/1/multi-metadata",
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://demo-api.mobula.io/api/1/multi-metadata"
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://demo-api.mobula.io/api/1/multi-metadata")
.asString();require 'uri'
require 'net/http'
url = URI("https://demo-api.mobula.io/api/1/multi-metadata")
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{
"data": [
{
"data": {
"id": 123,
"name": "<string>",
"symbol": "<string>",
"contracts": [
"<string>"
],
"blockchains": [
"<string>"
],
"decimals": [
123
],
"twitter": "<string>",
"website": "<string>",
"logo": "<string>",
"price": 123,
"market_cap": 123,
"liquidity": 123,
"volume": 123,
"description": "<string>",
"kyc": "<string>",
"audit": "<string>",
"total_supply_contracts": [
"<string>"
],
"circulating_supply_addresses": [
"<string>"
],
"total_supply": 123,
"circulating_supply": 123,
"discord": "<string>",
"max_supply": 123,
"chat": "<string>",
"tags": [
"<string>"
],
"investors": [
{
"lead": true,
"name": "<string>",
"type": "<string>",
"image": "<string>",
"country_name": "<string>",
"description": "<string>"
}
],
"distribution": [
{
"percentage": 123,
"name": "<string>"
}
],
"release_schedule": [
{
"allocation_details": {},
"tokens_to_unlock": 123,
"unlock_date": 123
}
],
"cexs": [
{
"logo": "<string>",
"name": "<string>",
"id": "<string>"
}
],
"listed_at": "<string>",
"deployer": "<string>",
"source": "<string>",
"rank": 123,
"others": {},
"dexscreener_listed": true,
"dexscreener_header": "<string>",
"dexscreener_ad_paid": true,
"live_status": "<string>",
"live_thumbnail": "<string>",
"livestream_title": "<string>",
"live_reply_count": 123,
"telegram": "<string>",
"twitterRenameCount": 123,
"twitterRenameHistory": [
{
"username": "<string>",
"last_checked": "<string>"
}
]
}
}
]
}Metacore
Get Metadata (batch)
GET
/
1
/
multi-metadata
Get multi metadata
curl --request GET \
--url https://demo-api.mobula.io/api/1/multi-metadataimport requests
url = "https://demo-api.mobula.io/api/1/multi-metadata"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://demo-api.mobula.io/api/1/multi-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://demo-api.mobula.io/api/1/multi-metadata",
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://demo-api.mobula.io/api/1/multi-metadata"
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://demo-api.mobula.io/api/1/multi-metadata")
.asString();require 'uri'
require 'net/http'
url = URI("https://demo-api.mobula.io/api/1/multi-metadata")
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{
"data": [
{
"data": {
"id": 123,
"name": "<string>",
"symbol": "<string>",
"contracts": [
"<string>"
],
"blockchains": [
"<string>"
],
"decimals": [
123
],
"twitter": "<string>",
"website": "<string>",
"logo": "<string>",
"price": 123,
"market_cap": 123,
"liquidity": 123,
"volume": 123,
"description": "<string>",
"kyc": "<string>",
"audit": "<string>",
"total_supply_contracts": [
"<string>"
],
"circulating_supply_addresses": [
"<string>"
],
"total_supply": 123,
"circulating_supply": 123,
"discord": "<string>",
"max_supply": 123,
"chat": "<string>",
"tags": [
"<string>"
],
"investors": [
{
"lead": true,
"name": "<string>",
"type": "<string>",
"image": "<string>",
"country_name": "<string>",
"description": "<string>"
}
],
"distribution": [
{
"percentage": 123,
"name": "<string>"
}
],
"release_schedule": [
{
"allocation_details": {},
"tokens_to_unlock": 123,
"unlock_date": 123
}
],
"cexs": [
{
"logo": "<string>",
"name": "<string>",
"id": "<string>"
}
],
"listed_at": "<string>",
"deployer": "<string>",
"source": "<string>",
"rank": 123,
"others": {},
"dexscreener_listed": true,
"dexscreener_header": "<string>",
"dexscreener_ad_paid": true,
"live_status": "<string>",
"live_thumbnail": "<string>",
"livestream_title": "<string>",
"live_reply_count": 123,
"telegram": "<string>",
"twitterRenameCount": 123,
"twitterRenameHistory": [
{
"username": "<string>",
"last_checked": "<string>"
}
]
}
}
]
}Query details
| Name | Type | Description |
|---|---|---|
ids | string | Comma-separated list of asset IDs to filter. |
assets | string | Comma-separated list of asset names to filter. |
blockchains | string | Blockchain name(s) to filter results. |
symbols | string | Comma-separated list of token symbols to filter. |
- You can query metadata for multiple assets at the same time. Input the names of the assets or the contract addresses with the respective blockchains as parameters. The market data asset query pattern is explained in great details here, with blockchain format, etc.
- We will map the first blockchain with the first contract address found, and so on.
- It is also possible to query using symbols - in that situation mobula sorts all assets with the same symbol and returns the one with the highest market cap - particularly useful if you need to map data coming from CEX trading pairs - if symbol is used, asset isn’t mandatory anymore.
Some assets have enriched data about fundraising, tokenomics, investors, etc., which you can explore on mobula.io. Note that some assets may not have the id field due to them not being listed on Mobula.
Usage Examples
- Query by multiple
Asset Addresses&blockchains
curl -X GET "https://demo-api.mobula.io/api/1/multi-metadata?assets=HJgXhTq1rBBiU7VTBxJx8Cij2sfbf83s6tQw9PwcBAGS,6sPDCfGt164EyyBiQHq8xEW9pfvEMo4nMBkVMmGtbonk,6k11opv4n5p2yZ8ynz5fWBGRiNVhDc8heKELkWmSUMUi,8HsnjF5mGbCq8UKonbgbWrWJ56x9tKzWtS6g7uY8j6oT,DMX14Kw1i4aRxJ8pFjPT5tYbkWvmAunHoPcWaMdrBAGS,Ca1DCtktV6KTPok1bPhbGsyjgfm9f5VjequkigxNbonk,FrFkyRDK7K7oBabEvKcFjGRbT245cnNWn2XPiW4nbonk,CNPP463F7BqSWCMNAiHs94fgmVNoDgdyZbwGE2ZhBAGS,4ebiC8RsXbjr9hNsQZawtuNHq6YjeBtrn43JMD2rBAGS,GY7yB6ovfskQMyrXMRDa4cKPtFBABFac8qREcYosPdDv,3fnuuHNgU5LMbSjAmjZHhBoVXxFVNUmU8BvAbC1Zpump,7WfpjLpsMEhjfGzYmGNtWcx2MZ7hXDV66WztZg2dbunt,7J4ejHLtT6pCv4ec173d6HtMGa9HxSwd34596w4kBAGS,AkuqhZHDofE7V1dAyh6M4tUWabhyuNJ2dexwnVVsjups,FZqHDGiCWAQgoWnx7bnW5SGU7SdSqy75ZNryJH9Bbonk,0x22fA7FD918A4364dE63Be573D8982af47D9cb6bA,7nxtyHMp799UU7e6wHHSeVyqzpcjR6LSgZjD2Z1UCjQL,7CfWgC7jVVfbHbATtyvDjq4M1VCutM3b7HEpgGRCbonk,B3JwWkg1dujrvQJi4VExFgXK8r1pMFrvJodi24tmbonk&blockchains=solana,solana,solana,solana,solana,solana,solana,solana,solana,solana,solana,solana,solana,solana,solana,1,solana,solana,solana"
- Query by multiple
ids
curl -X GET "https://demo-api.mobula.io/api/1/multi-metadata?ids=2,3"
Asset Names
curl -X GET "https://demo-api.mobula.io/api/1/multi-metadata?assets=ethereum,solana,avalanche"
⌘I