Introduction
AlgoCharts API is a vanilla-PHP, freemium Algorand price and market info API. Build for free and if you need to scale up, buy API keys using $comand.
You make AlgoCharts: Request new endpoints, make suggestions, get support or report bugs on Telegram or mail.
AlgoCharts values your time and is committed to never changing endpoints. New ones will be deployed rather than modifying existing ones.
Authentication
curl -X 'GET' 'https://user:password@algocharts.net/api/' \
-H 'accept: application/json'
AlgoCharts API generous rate limits are included in HTTP headers, using this standard proposal syntax.
AlgoCharts API uses Basic Auth, so it does not require cookies, session identifiers, or login pages; and works simply adding user:password to request.
Endpoints
Get liquidity and pool address
require 'uri'
require 'net/http'
uri = URI('https://algocharts.net/api/pools/?asset_in=330109984&asset_out=0')
res = Net::HTTP.get_response(uri)
import requests
x = requests.get('https://algocharts.net/api/pools/?asset_in=330109984&asset_out=0')
curl -X 'GET' 'https://algocharts.net/api/pools/?asset_in=330109984&asset_out=0' \
-H 'accept: application/json'
fetch("https://algocharts.net/api/pools/?asset_in=330109984&asset_out=0").then(
(response) => response.json()
);
The above command returns JSON structured like this:
{
"status": 200,
"status_message": "OK",
"data": {
"liquidity CoMManDCoin": 8438.79,
"liquidity Algorand": 3120.572557,
"pool address": "MZYTV5BPC7QN7USJZMBASBQG2B5ES4IDXKIIBG2WYVTPNFM4TX5MBMQYTA"
}
}
This endpoint returns liquidity and pool address by given market and ASA.
HTTP Request
GET http://algocharts.net/api/pools/
Query Parameters
Parameter | Default | Description |
---|---|---|
asset_in | ASA identifier. | |
asset_out | 0 | Defaults to 0 (Algo), if not specified. |
market | tinyman | Possible values: algofi, pactfi, tinyman Specifies the DEX. |
Get historic prices
require 'uri'
require 'net/http'
uri = URI('https://algocharts.net/api/historic/?asset_in=388502764&asset_out=0&market=&chart=1mon')
res = Net::HTTP.get_response(uri)
import requests
x = requests.get('https://algocharts.net/api/historic/?asset_in=388502764&asset_out=0&market=&chart=1mon')
curl -X 'GET' 'https://algocharts.net/api/historic/?asset_in=388502764&asset_out=0&market=&chart=1mon' \
-H 'accept: application/json'
fetch(
"https://algocharts.net/api/historic/?asset_in=388502764&asset_out=0&market=&chart=1mon"
).then((response) => response.json());
The above command returns JSON structured like this:
{
"status": 200,
"status_message": "Found",
"data": [
"0.00000021",
"0.00000022",
...
]
}
This endpoint returns historic prices for a given market, ASA and interval. (defaults to 2 day chart)
HTTP Request
GET http://algocharts.net/api/historic/
Query Parameters
Parameter | Default | Description |
---|---|---|
asset_in | ASA identifier. | |
asset_out | 0 | Defaults to 0 (Algo), if not specified. |
market | tinyman | Possible values: algofi, pactfi, tinyman Specifies the DEX. |
chart | 15min | Possible values: 15min, 1mon, 1year Shows the chart for the selected interval, respectively: 2 days, 1 month, 1 year Default is 15min (2 days). |
dates | 0 | Possible values: 0, 1 Includes dates. |
Get historic prices in OHLC format for candle charts
require 'uri'
require 'net/http'
uri = URI('https://algocharts.net/api/historic-ohlc/?asset_in=330109984')
res = Net::HTTP.get_response(uri)
import requests
x = requests.get('https://algocharts.net/api/historic-ohlc/?asset_in=330109984')
curl -X 'GET' 'https://algocharts.net/api/historic-ohlc/?asset_in=330109984' \
-H 'accept: application/json'
fetch("https://algocharts.net/api/historic-ohlc/?asset_in=330109984").then(
(response) => response.json()
);
The above command returns JSON structured like this:
{
"status": 200,
"status_message": "Found",
"data": [
{
"open": "0.30942929",
"high": "0.32059438",
"low": "0.30942929",
"close": "0.32059438",
"timestamp": "11/05/2022 21:00"
},
...
]
}
This endpoint returns historic prices in OHLC format for candle charts for a given market, ASA and interval. (defaults to 2 day chart)
HTTP Request
GET http://algocharts.net/api/historic-ohlc/
Query Parameters
Parameter | Default | Description |
---|---|---|
asset_in | ASA identifier. | |
asset_out | 0 | Defaults to 0 (Algo), if not specified. |
market | tinyman | Possible values: algofi, pactfi, tinyman Specifies the DEX. |
chart | 15min | Possible values: 15min, 1mon, 1year Shows the chart for the selected interval, respectively: 2 days, 1 month, 1 year Default is 15min (2 days). |
dates | 0 | Possible values: 0, 1 Includes dates. |
Get avaliable trading pairs for a given ASA
require 'uri'
require 'net/http'
uri = URI('https://algocharts.net/api/pairs/?asset_in=569120128&market=algofi')
res = Net::HTTP.get_response(uri)
import requests
x = requests.get('https://algocharts.net/api/pairs/?asset_in=569120128&market=algofi')
curl -X 'GET' 'https://algocharts.net/api/pairs/?asset_in=569120128&market=algofi' \
-H 'accept: application/json'
fetch(
"https://algocharts.net/api/pairs/?asset_in=569120128&market=algofi"
).then((response) => response.json());
The above command returns JSON structured like this:
{
"status": 200,
"status_message": "OK",
"data": ["0", "478549868", "511484048"]
}
This endpoint returns the avaliable trading pairs for a given market and ASA.
HTTP Request
GET http://algocharts.net/api/pairs/
Query Parameters
Parameter | Default | Description |
---|---|---|
asset_in | ASA identifier. | |
asset_out | 0 | Defaults to 0 (Algo), if not specified. |
market | tinyman | Possible values: algofi, pactfi, tinyman Specifies the DEX. |
Get calculation of total prices of each ASA held by wallet
require 'uri'
require 'net/http'
uri = URI('https://algocharts.net/api/pf/?algoaddr=4ZK3UPFRJ643ETWSWZ4YJXH3LQTL2FUEI6CIT7HEOVZL6JOECVRMPP34CY')
res = Net::HTTP.get_response(uri)
import requests
x = requests.get('https://algocharts.net/api/pf/?algoaddr=4ZK3UPFRJ643ETWSWZ4YJXH3LQTL2FUEI6CIT7HEOVZL6JOECVRMPP34CY')
curl -X 'GET' 'https://algocharts.net/api/pf/?algoaddr=4ZK3UPFRJ643ETWSWZ4YJXH3LQTL2FUEI6CIT7HEOVZL6JOECVRMPP34CY' \
-H 'accept: application/json'
fetch(
"https://algocharts.net/api/pf/?algoaddr=4ZK3UPFRJ643ETWSWZ4YJXH3LQTL2FUEI6CIT7HEOVZL6JOECVRMPP34CY"
).then((response) => response.json());
The above command returns JSON structured like this:
{
"status": 200,
"status_message": "OK",
"data": [
{
"name": "PLANET✅",
"assetid": 27165954,
"amount": 497603.378024,
"algotokenvalue": 0.06839,
"usdtokenvalue": 0.000000,
"algototalvalue": 34035.26,
"usdtotalvalue": 0.00,
"pricechange": 11.12
},
...
]
}
This endpoint returns the calculation of total prices of each ASA held by given wallet address.
HTTP Request
GET http://algocharts.net/api/pf/
Query Parameters
Parameter | Default | Description |
---|---|---|
algoaddr | Specifies algorand address. |
Early Endpoints
Get avaliable exchange rates for given asset
require 'uri'
require 'net/http'
uri = URI('https://algocharts.net/api/?asset_in=330109984&asset_out=0')
res = Net::HTTP.get_response(uri)
import requests
x = requests.get('https://algocharts.net/api/?asset_in=330109984&asset_out=0')
curl -X 'GET' 'https://algocharts.net/api/?asset_in=330109984&asset_out=0' \
-H 'accept: application/json'
fetch(
"https://algocharts.net/api/?asset_in=330109984&asset_out=0"
).then((response) => response.json());
The above command returns JSON structured like this:
{ "status": 200, "status_message": "Found", "data": "0.37962708291064245" }
This endpoint returns exchange rates for given asset.
HTTP Request
GET http://algocharts.net/api/
Query Parameters
Parameter | Default | Description |
---|---|---|
asset_in | ASA identifier. | |
asset_out | 0 | Defaults to 0 (Algo), if not specified. |
market | tinyman | Possible values: algofi, pactfi, tinyman Specifies the DEX. |
Get exchange rate for given assets, 24h price change, USD asset value and USD Algorand value
require 'uri'
require 'net/http'
uri = URI('https://algocharts.net/apiv2/?asset_in=569120128&asset_out=0')
res = Net::HTTP.get_response(uri)
import requests
x = requests.get('https://algocharts.net/apiv2/?asset_in=569120128&asset_out=0')
curl -X 'GET' 'https://algocharts.net/apiv2/?asset_in=569120128&asset_out=0' \
-H 'accept: application/json'
fetch(
"https://algocharts.net/apiv2/?asset_in=569120128&asset_out=0"
).then((response) => response.json());
The above command returns JSON structured like this:
{
"status": 200,
"status_message": "Found",
"data": [
0.0006146708531971857, 2.1305880465348666, 0.00028194871289421915,
0.4586986863419247
]
}
This endpoint returns exchange rate for given assets, 24h price change, USD asset value and USD Algorand value.
HTTP Request
GET http://algocharts.net/apiv2/
Query Parameters
Parameter | Default | Description |
---|---|---|
asset_in | ASA identifier. | |
asset_out | 0 | Defaults to 0 (Algo), if not specified. |
market | tinyman | Possible values: algofi, pactfi, tinyman Specifies the DEX. |
Get array with all trading assets with liquidity over 500 Algo, and an array containing asset id, name, price, USD price, Algorand liquidity, last hour price change, last 24 hours price change and market cap
require 'uri'
require 'net/http'
uri = URI('https://algocharts.net/apiv3/')
res = Net::HTTP.get_response(uri)
import requests
x = requests.get('https://algocharts.net/apiv3/')
curl -X 'GET' 'https://algocharts.net/apiv3/' \
-H 'accept: application/json'
fetch("https://algocharts.net/apiv3/").then((response) => response.json());
The above command returns JSON structured like this:
{
"status": 200,
"status_message": "OK",
"data": [
[
"137020565",
"Buy Token",
"0.052460911555",
"0.0000",
"44757",
"0.00",
"0.20",
"0"
],
...
]
}
This endpoint returns array with all trading assets with liquidity over 500 Algo, and an array containing asset id, name, price, USD price, Algorand liquidity, last hour price change, last 24 hours price change and market cap.
HTTP Request
GET http://algocharts.net/apiv3/
Query Parameters
Parameter | Default | Description |
---|---|---|
market | tinyman | Possible values: algofi, pactfi, tinyman Specifies the DEX. |
Errors
The AlgoCharts API uses the following error codes:
Error Code | Meaning |
---|---|
400 | Bad Request -- Your request is invalid. |
401 | Unauthorized -- Your API key is wrong. |
404 | Not Found -- The specified data could not be found. |
429 | Too Many Requests -- You're requesting too many data! |
500 | Internal Server Error -- We had a problem with our server. Try again later. |
503 | Service Unavailable -- We're temporarily offline for maintenance. Please try again later. |