NAV
shell

Introduction 👋

Welcome to CHART-IMG exclusive developer REST API documentation.

Recent Changes 🕑

Dec 19, 2024

Aug 27, 2024

Aug 19, 2024

Aug 12, 2024

Base API Endpoint 🔗

Authentication 🔒

For authenticated requests, include a personal API key in the x-api-key header for POST requests. For GET requests, the API key can be included either in the request header or as a query parameter named key.

Request Limit ⚠️

All requests follow typical HTTP response status codes for success, failure, and error.

Coinalyze Market

Exchange IDs

Response Example:

{
  "updatedAt": "2024-08-11T12:00:00.000Z",
  "payload": [
    "BINANCE",
    "BIT2C",
    "BITFINEX",
    "BITFLYER",
    "BITFOREX",
    "BITHUMB",
    "BITMEX",
    "BITSTAMP",
    "BTCMARKETS",
    "BYBIT",
    "COINBASE",
    "DERIBIT",
    "DYDX",
    "GATEIO",
    "GEMINI",
    "HUOBI",
    "INDEPENDENT_RESERVE",
    "KRAKEN",
    "LUNO",
    "MERCADO_BITCOIN",
    "OKX",
    "PHEMEX",
    "POLONIEX",
    "VERTEX",
    "WOONETWORK"
  ]
}

Request Example:

https://api.chart-img.com/v3/coinalyze/exchange/list?key=YOUR_API_KEY
curl -G https://api.chart-img.com/v3/coinalyze/exchange/list \
  -H "x-api-key: YOUR_API_KEY" \
  -o coinalyze-exchange-list.json

This endpoint retrieves coinalyze exchange IDs.

HTTP Request

GET /v3/coinalyze/exchange/list

Request Header

Parameter Type Required Description
x-api-key String Yes authentication API access key

You can include your API key in the query string key instead of the request header.

HTTP Response

Content-Type

application/json

Response Body Data

Parameter Type Description
updatedAt DateTime (ISO8601) / null when the payload is last updated
payload String[] / null list of coinalyze exchange ids

Exchange Symbols

Response Example:

{
  "updatedAt": "2024-08-12T00:56:42.521Z",
  "payload": [
    "1000BONKUSDC.P",
    "1000BONKUSDT.P",
    "1000LUNCUSDT.P",
    "1000PEPEUSDC.P",
    "1000PEPEUSDT.P",
    "1000RATSUSDT.P",
    "1000SATSFDUSD",
    "1000SATSTRY",
    "1000SATSUSDC",
    "1000SATSUSDT",
    "1000SATSUSDT.P",
    "1000SHIBUSDC.P",
    "1000SHIBUSDT.P",
    "1000XECUSDT.P",
    "1INCHBTC",
    "1INCHUSDT",
    "1INCHUSDT.P",
    ...
  ]
}

Request Example:

https://api.chart-img.com/v3/coinalyze/exchange/binance?key=YOUR_API_KEY
curl -G https://api.chart-img.com/v3/coinalyze/exchange/binance \
  -H "x-api-key: YOUR_API_KEY" \
  -o coinalyze-exchange-symbols.json

This endpoint retrieves coinalyze exchange symbols.

HTTP Request

GET /v3/coinalyze/exchange/<EXCHANGE_ID>

Request URL

Parameter Type Required Description
EXCHANGE_ID String Yes coinalyze exchange ID

Request Header

Parameter Type Required Description
x-api-key String Yes authentication API access key

HTTP Response

Content-Type

application/json

Response Body Data

Parameter Type Description
updatedAt DateTime (ISO8601) / null when the payload is last updated
payload Object[] / null list of coinalyze exchange symbols

Coinalyze Snapshot

Advanced Chart

This endpoint captures coinalyze exchange advanced chart image.

Request Example:

{
  "symbol": "BINANCE:BTCUSD.P",
  "interval": "12h",
  "theme": "dark",
  "studies": ["Open Interest", "Buy / Sell Volume"]
}
curl -X POST https://api.chart-img.com/v3/coinalyze/advanced-chart \
  -H "x-api-key: YOUR_API_KEY" \
  -H "content-type: application/json" \
  -d "{\"symbol\":\"BINANCE:BTCUSD.P\",\"interval\":\"12h\",\"theme\":\"dark\",\"studies\":[\"Open Interest\",\"Buy \/ Sell Volume\"]}" \
  -o advanced-01.png

Request Example:

{
  "symbol": "BINANCE:ETHUSDT",
  "interval": "15m",
  "theme": "dark",
  "studies": ["Aggregated Long/Short Accounts Ratio", "Buy Sell Pressure"]
}
curl -X POST https://api.chart-img.com/v3/coinalyze/advanced-chart \
  -H "x-api-key: YOUR_API_KEY" \
  -H "content-type: application/json" \
  -d "{\"symbol\":\"BINANCE:ETHUSDT\",\"interval\":\"15m\",\"theme\":\"dark\",\"studies\":[\"Aggregated Long\/Short Accounts Ratio\",\"Buy Sell Pressure\"]}" \
  -o advanced-02.png

Request Example:

{
  "symbol": "BINANCE:LINKUSDT",
  "interval": "4h",
  "theme": "dark",
  "studies": [
    "Aggregated Liquidations STABLECOIN-margined Contracts",
    "Aggregated Funding Rate"
  ]
}
curl -X POST https://api.chart-img.com/v3/coinalyze/advanced-chart \
  -H "x-api-key: YOUR_API_KEY" \
  -H "content-type: application/json" \
  -d "{\"symbol\":\"BINANCE:LINKUSDT\",\"interval\":\"4h\",\"theme\":\"dark\",\"studies\":[\"Aggregated Liquidations STABLECOIN-margined Contracts\",\"Aggregated Funding Rate\"]}" \
  -o advanced-03.png

HTTP Request

POST /v3/coinalyze/advanced-chart

Request Header

Parameter Type Required Description
x-api-key String Yes authentication API access key

Request Body (Optional)

The default values will be used to generate the chart if no request body is provided.

Content-Type

application/json

Parameter Type Default Description
symbol String BINANCE:BTCUSDT.P set chart symbol
interval String 1D set chart interval [1m, 5m, 15m, 30m, 1h, 2h, 4h, 6h, 12h, 1D, 1W, 1M]
width Integer 800 set chart image width in pixels (Min: 400, Max: 2048)
height Integer 600 set chart image height in pixels (Min: 300, Max: 1920)
theme String light set chart theme color [light, dark]
timezone String Etc/UTC set chart timezone
format String png set chart image format [png, jpeg]
studies String[] [] set chart to include multiple study indicators*symbol/interval dependent
watermark String - set custom watermark text
watermarkSize Integer 16 set watermark text size [16, 32, 64, 128]
watermarkOpacity Float 1.0 set watermark text opacity (Min: 0.1, Max: 1.0)

If default values are the same, there is no need to include them in the request.

HTTP Response

Content-Type

image/png, image/jpeg, application/json

Supported Studies

Study
Aggregated CVD Futs. COIN-margined Contracts
Aggregated CVD Futs. STABLECOIN-margined Contracts
Aggregated CVD Futures
Aggregated CVD Spot
Aggregated Funding Rate
Aggregated Liquidations COIN-margined Contracts
Aggregated Liquidations Profile Visible Range COIN-margined Contracts
Aggregated Liquidations Profile Visible Range STABLECOIN-margined Contracts
Aggregated Liquidations STABLECOIN+COIN-margined Contracts
Aggregated Liquidations STABLECOIN-margined Contracts
Aggregated Long/Short Accounts Ratio
Aggregated Open Interest COIN-margined Contracts
Aggregated Open Interest Delta COIN-margined Contracts
Aggregated Open Interest Delta Profile Visible Range COIN-margined Contracts
Aggregated Open Interest Delta Profile Visible Range STABLECOIN+COIN-margined Contracts
Aggregated Open Interest Delta Profile Visible Range STABLECOIN-margined Contracts
Aggregated Open Interest Delta STABLECOIN+COIN-margined Contracts
Aggregated Open Interest Delta STABLECOIN-margined Contracts
Aggregated Open Interest STABLECOIN+COIN-margined Contracts
Aggregated Open Interest STABLECOIN-margined Contracts
Aggregated Predicted Funding Rate
Buy / Sell Count
Buy / Sell Volume
Buy Sell Pressure
Funding Rate
Funding Rate OHLC
Liquidations
Liquidations Profile Visible Range
Long/Short Accounts Ratio
Long/Short Accounts Ratio Top Traders
Long/Short Positions Ratio Top Traders
Longs Liquidation
Open Interest
Open Interest Delta
Open Interest Delta Profile Visible Range
Open Interest/Market Cap Ratio
Predicted Funding Rate
Predicted Funding Rate OHLC
Shorts Liquidation

Additional studies can be added upon request.

Supported Timezone

Timezone Country UTC Offset
Africa/Cairo EG UTC +02:00
Africa/Johannesburg ZA UTC +02:00
Africa/Lagos NG UTC +01:00
America/Argentina/Buenos_Aires AR UTC -03:00
America/Bogota CO UTC -05:00
America/Caracas VE UTC -04:00
America/Chicago US UTC -06:00
America/El_Salvador SV UTC -06:00
America/Juneau US UTC -09:00
America/Lima PE UTC -05:00
America/Los_Angeles US UTC -08:00
America/Mexico_City MX UTC -06:00
America/New_York US UTC -05:00
America/Phoenix US UTC -07:00
America/Santiago CL UTC -03:00
America/Sao_Paulo BR UTC -03:00
America/Toronto CA UTC -05:00
America/Vancouver CA UTC -08:00
Asia/Almaty KZ UTC +06:00
Asia/Ashkhabad TM UTC +05:00
Asia/Bahrain BH UTC +03:00
Asia/Bangkok TH UTC +07:00
Asia/Chongqing CN UTC +08:00
Asia/Dubai AE UTC +04:00
Asia/Hong_Kong HK UTC +08:00
Asia/Ho_Chi_Minh VN UTC +07:00
Asia/Jakarta ID UTC +07:00
Asia/Jerusalem IL UTC +02:00
Asia/Karachi PK UTC +05:00
Asia/Kathmandu NP UTC +05:45
Asia/Kolkata IN UTC +05:30
Asia/Kuwait KW UTC +03:00
Asia/Manila PH UTC +08:00
Asia/Muscat OM UTC +04:00
Asia/Qatar QA UTC +03:00
Asia/Riyadh SA UTC +03:00
Asia/Seoul KR UTC +09:00
Asia/Shanghai CN UTC +08:00
Asia/Singapore SG UTC +08:00
Asia/Taipei TW UTC +08:00
Asia/Tehran IR UTC +03:30
Asia/Tokyo JP UTC +09:00
Atlantic/Reykjavik IS UTC
Australia/ACT AU UTC +11:00
Australia/Adelaide AU UTC +10:30
Australia/Brisbane AU UTC +10:00
Australia/Perth AU UTC +08:00
Australia/Sydney AU UTC +11:00
Europe/Amsterdam NL UTC +01:00
Europe/Athens GR UTC +02:00
Europe/Belgrade RS UTC +01:00
Europe/Berlin DE UTC +01:00
Europe/Bratislava SK UTC +01:00
Europe/Brussels BE UTC +01:00
Europe/Bucharest RO UTC +02:00
Europe/Budapest HU UTC +01:00
Europe/Copenhagen DK UTC +01:00
Europe/Dublin IE UTC
Europe/Helsinki FI UTC +02:00
Europe/Istanbul TR UTC +03:00
Europe/Lisbon PT UTC
Europe/London GB UTC
Europe/Luxembourg LU UTC +01:00
Europe/Madrid ES UTC +01:00
Europe/Malta MT UTC +01:00
Europe/Moscow RU UTC +03:00
Europe/Oslo NO UTC +01:00
Europe/Paris FR UTC +01:00
Europe/Riga LV UTC +02:00
Europe/Rome IT UTC +01:00
Europe/Stockholm SE UTC +01:00
Europe/Tallinn EE UTC +02:00
Europe/Vilnius LT UTC +02:00
Europe/Warsaw PL UTC +01:00
Europe/Zurich CH UTC +01:00
Pacific/Auckland NZ UTC +13:00
Pacific/Chatham NZ UTC +13:45
Pacific/Fakaofo TK UTC +13:00
Pacific/Honolulu US UTC -10:00
Pacific/Norfolk NF UTC +12:00
US/Mountain US UTC -06:00

Advanced Chart To Storage

This endpoint captures an advanced chart image from coinalyze and saves it to public storage.

Response Example:

{
  "url": "https://r2.chart-img.com/20241210/coinalyze/advanced-chart/e9e6106e-21de-4aa8-b951-94e6a3c00a78.png",
  "size": 52869,
  "cors": "*",
  "etag": "9a7942d2b104b5b95e941ab37920b9e9",
  "expireAt": "2024-12-10T14:21:16.788Z",
  "createdAt": "2024-08-12T14:21:16.952Z"
}

Request Example:

{
  "theme": "dark",
  "interval": "1h",
  "timezone": "America/New_York",
  "studies": ["Aggregated Liquidations STABLECOIN+COIN-margined Contracts"]
}
curl -X POST https://api.chart-img.com/v3/coinalyze/advanced-chart/storage \
  -H "x-api-key: YOUR_API_KEY" \
  -H "content-type: application/json" \
  -d "{\"theme\":\"dark\",\"interval\":\"1h\",\"timezone\":\"America\/New_York\",\"studies\":[\"Aggregated Liquidations STABLECOIN+COIN-margined Contracts\"]}" \
  -o advanced-01.json

HTTP Request

POST /v3/coinalyze/advanced-chart/storage

Request Header

Parameter Type Required Description
x-api-key String Yes authentication API access key

Request Body (Optional)

For reference, please read the request body of the Advanced Chart, as it is identical.

Content-Type

application/json

HTTP Response

Content-Type

application/json

Response Body

Parameter Type Description
url String url of the public chart image
size Integer size of the image in byte
cors String cors
etag String image etag
expireAt String when the image will be deleted
createdAt String when the image is created

Errors

Response Example (400)

{
  "message": "Invalid Request"
}

Response Example (422)

{
  "message": "Invalid Symbol"
}
{
  "errors": [
    {
      "type": "field",
      "value": "14h",
      "msg": "must be supported",
      "path": "interval",
      "location": "body"
    }
  ]
}
Status Type Description
400 Bad Request Could not process the request due to an error in the content type, usually related to an invalid JSON format in the request body.
403 Forbidden Could not authenticate the API key provided.
404 Not Found Could not find the resource or page.
422 Not Acceptable Could not process the request due to invalid body parameters or semantic errors such as exchange not supporting symbols, intervals and studies.
429 Too Many Request Exceed the usage limit or the rate limit.
500 Server Error Could not process the request due to an error, or the server may be temporarily unavailable due to technical issues.
504 Process Timeout Could not process the request due to timeout error. Try your request again.