NAV
shell ruby python javascript

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.