Coin Historical Chart Data within Time Range by Token Address
curl --request GET \
--url https://api.aisa.one/apis/v1/coingecko/coins/{id}/contract/{contract_address}/market_chart/range \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.aisa.one/apis/v1/coingecko/coins/{id}/contract/{contract_address}/market_chart/range"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.aisa.one/apis/v1/coingecko/coins/{id}/contract/{contract_address}/market_chart/range', 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.aisa.one/apis/v1/coingecko/coins/{id}/contract/{contract_address}/market_chart/range",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.aisa.one/apis/v1/coingecko/coins/{id}/contract/{contract_address}/market_chart/range"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.aisa.one/apis/v1/coingecko/coins/{id}/contract/{contract_address}/market_chart/range")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/coingecko/coins/{id}/contract/{contract_address}/market_chart/range")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"prices": [
[
1735689600000,
1.000540738607754
],
[
1735776000000,
0.9995995563541714
]
],
"market_caps": [
[
1735689600000,
43945617394.42927
],
[
1735776000000,
43740787028.36501
]
],
"total_volumes": [
[
1735689600000,
6544488766.849924
],
[
1735776000000,
5447401746.320422
]
]
}Historical
Coin Historical Chart Data within Time Range by Token Address
Historical series between two explicit timestamps for a token identified by contract address.
GET
https://api.aisa.one
/
apis
/
v1
/
coingecko
/
coins
/
{id}
/
contract
/
{contract_address}
/
market_chart
/
range
Coin Historical Chart Data within Time Range by Token Address
curl --request GET \
--url https://api.aisa.one/apis/v1/coingecko/coins/{id}/contract/{contract_address}/market_chart/range \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.aisa.one/apis/v1/coingecko/coins/{id}/contract/{contract_address}/market_chart/range"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.aisa.one/apis/v1/coingecko/coins/{id}/contract/{contract_address}/market_chart/range', 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.aisa.one/apis/v1/coingecko/coins/{id}/contract/{contract_address}/market_chart/range",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.aisa.one/apis/v1/coingecko/coins/{id}/contract/{contract_address}/market_chart/range"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.aisa.one/apis/v1/coingecko/coins/{id}/contract/{contract_address}/market_chart/range")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/coingecko/coins/{id}/contract/{contract_address}/market_chart/range")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"prices": [
[
1735689600000,
1.000540738607754
],
[
1735776000000,
0.9995995563541714
]
],
"market_caps": [
[
1735689600000,
43945617394.42927
],
[
1735776000000,
43740787028.36501
]
],
"total_volumes": [
[
1735689600000,
6544488766.849924
],
[
1735776000000,
5447401746.320422
]
]
}Historical series between two explicit points in time for a token identified by contract address.
Set this endpoint up in your agent →
id is the asset platform and contract_address the token; from and to are Unix timestamps in seconds while response timestamps are in milliseconds. Returns prices, market_caps and total_volumes as timestamp-and-value pairs. Use it when you have an address and a fixed window. For a trailing window use get_coingecko_token_market_chart; if you hold a CoinGecko id rather than an address use get_coingecko_coins_id_market_chart_range.
First time? Point any MCP client at
https://mcp.aisa.one/mcp — Claude
Code, Codex, Cursor, VS Code and the rest. Authorization is OAuth: the client
opens a browser, you click Allow once, and there is no key to paste. Your
agent then reaches every endpoint through five tools: search,
list_categories and get_details are free, use and batch_use are
billed per call. Setup per client is in
Connect via MCP; the live tool list and what each call
costs are on aisa.one/mcp.Cost and request rules
Published reference values are not an account-specific quote or a settled charge. For endpoints supporting X-AISA-Cost-Mode: quote, obtain a free quote for your exact request before execution; reconcile the settled cost with response metadata and Usage Logs. USD amounts use 1,000,000 integer micro-USD per dollar.- Default request reference estimate (USD): 0.008
- Declared unit rate (USD): 0.0
- Billing unit: provider_credit
- Cost contract: plan_units
- Settlement evidence source: request_snapshot
Declared request billing units
- Units: 1
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Starting date in ISO date string (YYYY-MM-DD or YYYY-MM-DDTHH:MM) or UNIX timestamp.
Use ISO date string for best compatibility.
Data interval, leave empty for auto granularity.
Available options:
1m, 5m, hourly, daily Decimal place for currency price value.
Available options:
full, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 Ending date in ISO date string (YYYY-MM-DD or YYYY-MM-DDTHH:MM) or UNIX timestamp.
Use ISO date string for best compatibility.
Target currency of market data.
*refers to /simple/supported_vs_currencies.
Response
Coin historical chart data within time range by token address