---
title: "Get Adx"
method: GET
path: "/api/v1/indicators/adx"
tags: ["Indicators"]
---

# Get Adx

`GET /api/v1/indicators/adx`

## Request

- Base URL: `https://cryptodataapi.com`
- URL: `https://cryptodataapi.com/api/v1/indicators/adx`
- Auth: API key in header `X-API-Key`

ADX(14) + DMI per asset on daily, 4h or 1h bars (Pro tier).

The same Wilder ADX/+DI/-DI the SIGNUM trend radar colours from, served as numbers per
interval: ``interval=1d`` matches ``/indicators/signum-rgg`` ``adx``, ``4h`` its
``h4_adx`` (completed bars on the UTC 00/04/08/12/16/20 grid of
``/hyperliquid/candles?interval=4h``) and ``1h`` its ``intraday_adx``. Recomputed hourly
(:05 UTC) for the whole universe, so a universe-wide read costs nothing.

Per row: ``adx``, ``plus_di``, ``minus_di``; ``direction`` (+DI vs -DI); ``strength``
against SIGNUM's bands (``strong`` >= 25, ``weak`` < 20); ``color`` (the SIGNUM state on
that interval); ``bar_open`` and ``final``. A row whose interval read is unavailable
(too few bars, or a stale intraday series) carries nulls and sorts last.

``history=N`` attaches the last N completed bars per row. For 4h and 1h that is a live
candle pull per symbol (memoised 30 minutes), so it needs ``coin`` with at most 5
symbols. An unrecognised query parameter is a 400.

Example gates: ``?coin=BTC&interval=4h`` -> ``items[0].adx > 25``;
``?interval=1d&min_adx=25&source=hyperliquid_perp`` -> every trending HL perp.

## Query parameters

- `coin` string, nullable: Comma list of symbols (BTC,ETH,kPEPE); omit for the whole universe. Symbols the universe does not cover are listed in `not_covered`.
- `symbol` string, nullable: Alias for `coin`. Send one or the other.
- `interval` '1d' | '4h' | '1h': Bar width: 1d and 4h read COMPLETED bars; 1h includes the bar forming at the hourly sweep (`final: false`)
- `source` 'binance_spot' | 'hyperliquid_perp', nullable
- `min_adx` number, nullable: Only rows with adx >= this
- `history` integer: Attach the last N completed bars per row (1d: up to 60; 4h: up to 90; 1h: up to 500). 4h/1h history needs `coin` with at most 5 symbols.
- `sort` 'adx' | 'symbol'
- `order` 'asc' | 'desc'
- `limit` integer
- `offset` integer

## Response `200`

Successful Response

- AdxResponse
  - `interval` '1d' | '4h' | '1h', required
  - `period` integer, required
  - `thresholds` AdxThresholds, required
    - `strong` number, required
    - `weak` number, required
  - `items` AdxItem[], required
    - `symbol` string, required
    - `source` 'binance_spot' | 'hyperliquid_perp', required
    - `adx` number, nullable
    - `plus_di` number, nullable
    - `minus_di` number, nullable
    - `direction` 'up' | 'down', nullable: up when +DI > -DI, down when -DI > +DI; null when level or unavailable
    - `strength` 'strong' | 'moderate' | 'weak', nullable: strong: adx >= 25; weak: adx < 20; moderate in between (SIGNUM's bands)
    - `color` 'red' | 'grey' | 'green', nullable: SIGNUM colour on this interval
    - `bar_open` string, nullable: ISO OPEN time of the bar the value is read from
    - `final` boolean, required: true = read from a completed bar (1d, 4h); false = 1h, which includes the bar that was forming at the hourly sweep
    - `history` AdxBar[], nullable: The last `history` COMPLETED bars, oldest first; only with ?history=N
      - `time` string, required: ISO OPEN time of the bar
      - `adx` number, nullable
      - `plus_di` number, nullable
      - `minus_di` number, nullable
      - `color` 'red' | 'grey' | 'green', nullable
  - `count` integer, required
  - `universe_size` integer, required
  - `offset` integer
  - `not_covered` string[], nullable
  - `timestamp` string, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/cryptodataapi/apis/crypto-data-api.md) · [All operations](https://skmtc.dev/cryptodataapi/apis/crypto-data-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cryptodataapi/apis/crypto-data-api/revisions/8628b754ca81?raw)
