Coin OHLC
curl --request GET \
--url https://api.aisa.one/apis/v1/coingecko/coins/{id}/ohlc \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.aisa.one/apis/v1/coingecko/coins/{id}/ohlc"
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}/ohlc', 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}/ohlc",
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}/ohlc"
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}/ohlc")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/coingecko/coins/{id}/ohlc")
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[
[
1713398400000,
67000,
67500,
66900,
67234.12
]
]Historical
Coin OHLC
Candlestick rows for one coin — timestamp, open, high, low and close, with no field names.
GET
https://api.aisa.one/apis/v1
/
coingecko
/
coins
/
{id}
/
ohlc
Coin OHLC
curl --request GET \
--url https://api.aisa.one/apis/v1/coingecko/coins/{id}/ohlc \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.aisa.one/apis/v1/coingecko/coins/{id}/ohlc"
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}/ohlc', 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}/ohlc",
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}/ohlc"
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}/ohlc")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/coingecko/coins/{id}/ohlc")
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[
[
1713398400000,
67000,
67500,
66900,
67234.12
]
]Candlestick data for one coin as a bare array of rows, each row positional: timestamp in milliseconds, then open, high, low and close. There are no field names in the response and no volume. Candle width is derived from
Set this endpoint up in your agent →
days, which is required. Use it for candle or technical analysis. For a price line together with market cap and traded volume use get_coingecko_coins_id_market_chart instead.
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. The
commands per client, and what each call costs, are on
aisa.one/mcp.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
CoinGecko coin ID (e.g., bitcoin, ethereum). Get the list via /coins/list.
Query Parameters
Target currency for price (e.g., usd, eur, btc). See /simple/supported_vs_currencies.
1, 7, 14, 30, 90, 180, 365.
full or a value from 0 to 18 to specify decimal places for currency price values.
Response
200 - application/json
Array of OHLC rows: [timestamp, open, high, low, close].