Get market multi data
curl --request GET \
--url https://demo-api.mobula.io/api/1/market/multi-dataimport requests
url = "https://demo-api.mobula.io/api/1/market/multi-data"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://demo-api.mobula.io/api/1/market/multi-data', 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/market/multi-data",
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/market/multi-data"
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/market/multi-data")
.asString();require 'uri'
require 'net/http'
url = URI("https://demo-api.mobula.io/api/1/market/multi-data")
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": {},
"dataArray": [
{
"key": "<string>",
"id": 123,
"name": "<string>",
"symbol": "<string>",
"decimals": 123,
"logo": "<string>",
"rank": 123,
"price": 123,
"market_cap": 123,
"market_cap_diluted": 123,
"volume": 123,
"volume_change_24h": 123,
"volume_7d": 123,
"liquidity": 123,
"ath": 123,
"atl": 123,
"off_chain_volume": 123,
"is_listed": true,
"price_change_1h": 123,
"price_change_24h": 123,
"price_change_7d": 123,
"price_change_1m": 123,
"price_change_1y": 123,
"total_supply": 123,
"circulating_supply": 123,
"contracts": [
{
"address": "<string>",
"blockchainId": "<string>",
"blockchain": "<string>",
"decimals": 123
}
]
}
]
}Get Market Data (batch)
Get market data for multiple crypto token
GET
/
1
/
market
/
multi-data
Get market multi data
curl --request GET \
--url https://demo-api.mobula.io/api/1/market/multi-dataimport requests
url = "https://demo-api.mobula.io/api/1/market/multi-data"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://demo-api.mobula.io/api/1/market/multi-data', 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/market/multi-data",
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/market/multi-data"
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/market/multi-data")
.asString();require 'uri'
require 'net/http'
url = URI("https://demo-api.mobula.io/api/1/market/multi-data")
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": {},
"dataArray": [
{
"key": "<string>",
"id": 123,
"name": "<string>",
"symbol": "<string>",
"decimals": 123,
"logo": "<string>",
"rank": 123,
"price": 123,
"market_cap": 123,
"market_cap_diluted": 123,
"volume": 123,
"volume_change_24h": 123,
"volume_7d": 123,
"liquidity": 123,
"ath": 123,
"atl": 123,
"off_chain_volume": 123,
"is_listed": true,
"price_change_1h": 123,
"price_change_24h": 123,
"price_change_7d": 123,
"price_change_1m": 123,
"price_change_1y": 123,
"total_supply": 123,
"circulating_supply": 123,
"contracts": [
{
"address": "<string>",
"blockchainId": "<string>",
"blockchain": "<string>",
"decimals": 123
}
]
}
]
}Deprecated EndpointThis endpoint is deprecated. Please use the new v2 endpoints instead:
- /api/2/asset/details (POST) — Batch asset-level data for multiple assets in a single request
- /api/2/token/details (POST) — Batch token-level data for multiple tokens in a single request
Query details
Input in “asset” the name of the asset you want to query, or the contract address while adding the blockchain as a second parameter. The market data asset query pattern is explained in great details here, with blockchain format, etc.| Parameter | Type | Required | Description |
|---|---|---|---|
asset | string | Yes | The asset identifier to query. This can be the token’s name or the contract address. |
blockchain | string | Cond. | The blockchain network name or ID where the asset resides. Required if querying by contract address. |
shouldFetchPriceChange | string | No | Timeframe for price change calculation. Example: "24h" returns price change over the last 24 hours. |
symbol | string | Cond. | Token ticker symbol. If duplicates exist, returns the first match. Use contract + blockchain for accuracy. |
ids | number | Cond. | The Asset Unique Identifier to query. |
Need more than 500 assets? You can use the /all
endpoint to get all assets listed on Mobula (curated, not all DeFi tokens)
Data details
Price data is computed using Octopus, Mobula’s market data engine. You can have a high-level overview of how it’s computing DeFi prices here.volume is on-chain volume, and off_chain_volume is - as name implies, the off-chain volume.
Usage Examples
- Query by Symbols and Blockchain
curl -X GET "https://api.mobula.io/api/1/market/multi-data?symbols=PEPE,CULT&blockchains=ethereum,ethereum"
- Query by Contract Address of Token.
curl -X GET "https://api.mobula.io/api/1/market/multi-data?assets=0x0000000000c5dc95539589fbd24be07c6c14eca4,0x6982508145454ce325ddbe47a25d4ec3d2311933&blockchains=ethereum,ethereum"
- Query by Query Native Token. (ETH,SOL)
curl -X GET "https://api.mobula.io/api/1/market/multi-data?assets=0xEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE,0xEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE&blockchains=ethereum,solana"
- Query by Asset ids.
curl -X GET "https://api.mobula.io/api/1/market/data?shouldFetchPriceChange=24h&id=100"
Query Parameters
Comma-separated asset IDs
Comma-separated token symbols
Comma-separated blockchain IDs
Comma-separated token addresses or names