Introduction 👋
Welcome to CHART-IMG exclusive developer REST API documentation.
Recent Changes 🕑
Dec 19, 2024
- The API has been deprecated and is no longer supported. Refer to Coinglass API Documentation.
Aug 27, 2024
- Update Snapshot Advanced Chart with improved stability and minor bug fixes.
Aug 19, 2024
- Updated Snapshot Advanced Chart with improved speed.
Aug 12, 2024
- Initial API release with coinalyze exchange support.
Base API Endpoint 🔗
https://api.chart-img.com
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. |


