Indicators›Chart patterns›Double Top
GET/indicator/doubletop

Double Top

Category: Chart patterns · Updated November 2026


The TAAPI.IO Double Top API returns h1 timestamp, h1 price, l1 timestamp, l1 price values for the Double Top indicator as JSON, for crypto pairs and US stocks. Send an exchange, symbol and timeframe to get real-time or historical data, with no candles to download and no calculations to maintain.

SpecValue
EndpointGET https://v2.taapi.io/indicator/doubletop
Outputsh1_timestamp, h1_price, l1_timestamp, l1_price, h2_timestamp, h2_price and more
MarketsBinance, Binance Futures, Bybit, Gate.io, Kraken and US stocks
Timeframes1m to 1w
DeliveryREST, bulk and WebSocket

Get Double Top with one API call

This request returns Double Top for BTCUSDT on 1-hour Binance candles. Add your API key to run it here.

curl -G https://v2.taapi.io/indicator/doubletop \
  -H "Authorization: Bearer YOUR_API_KEY" \
  --data-urlencode "exchange=binance" \
  --data-urlencode "symbol=BTCUSDT" \
  --data-urlencode "timeframe=1h"

Double Top API response

This response came from the live API on 9 November 2026. Long lists are shortened here.

200 OK
{
  "h1_timestamp": [1791738000],
  "h1_price": [84199],
  "l1_timestamp": [1791752400],
  "l1_price": [83529.47],
  "h2_timestamp": [1791784800],
  "h2_price": [84352],
  "neckline_level": [83529.47],
  "neckline_right_timestamp": [1791806400],
  "breakout_occurred": [true],
  "is_confirmed": [true],
  "breakout_timestamp": [1791806400],
  "breakout_price": [83050.80750000001],
  "breakout_neckline_price": [83529.47],
  "projection_price": [82859.94],
  "direction": ["bearish"],
  "status": ["confirmed"],
  "status_reason": ["breakout_below_neckline"],
  "pattern_index": [4],
  "timestamp": [1794218400]
}
FieldTypeDescription
h1_timestampnumber[]Unix timestamp of the first top (H1).
h1_pricenumber[]Price level at the first top (H1).
l1_timestampnumber[]Unix timestamp of the neckline valley (L1) between the two tops.
l1_pricenumber[]Price level at the neckline valley (L1).
h2_timestampnumber[]Unix timestamp of the second top (H2).
h2_pricenumber[]Price level at the second top (H2).
neckline_levelnumber[]The price level of the horizontal support neckline (body low of L1).
neckline_right_timestampnumber[]Timestamp denoting where the neckline extends to on the right.
breakout_occurredboolean[]Boolean flag (true/false) indicating if price successfully broke below the neckline.
is_confirmedboolean[]Explicit boolean flag (true/false) indicating if the Double Top pattern is fully confirmed (synonymous with breakout_occurred).
breakout_timestampnumber[]Unix timestamp of the candle that triggered the confirmation breakdown.
breakout_pricenumber[]The closing price of the candle that triggered the confirmation breakdown.
breakout_neckline_pricenumber[]The specific price of the neckline at the exact moment of the breakout.
projection_pricenumber[]The theoretical downside price target calculated by subtracting the pattern's height from the neckline.
directionstring[]The inherent bias of the pattern. Always 'bearish' for a Double Top.
statusstring[]The current state of the pattern: 'forming', 'confirmed', or 'invalidated'.
status_reasonstring[]Context detailing why the pattern holds its current status (e.g. 'awaiting_breakout').
pattern_indexnumber[]A sequential integer index uniquely identifying this specific pattern instance.
timestampinteger[]Unix time of each candle, in seconds

Double Top API parameters

NameTypeRequiredDefaultDescription
exchangestringYes—binance, binancefutures, bybit, gateio, kraken or stocks
symbolstringYes—Pair or ticker, e.g. BTCUSDT or AAPL
timeframestringYes—1m 5m 15m 1h 4h 1d 1w
depthintegerNo10Lookback and lookforward period for pivot detection. Controls the width of structural swings.
deviationATRnumberNo1Minimum retracement required to form a valid structural swing, expressed as a multiple of ATR.
deviationTypestringNoatrType of deviation filter to use: 'atr' (Average True Range) or 'percent'.
sourcestringNowickWhether to use 'wick' (high/low) or 'body' (open/close) prices for pivot detection.
heikinashibooleanNoTrueSet to true to calculate pivots based on smoothed Heikin-Ashi candles rather than raw market prices.
atrPeriodintegerNo14The lookback period used for the Average True Range (ATR) calculation if deviationType is 'atr'.
topToleranceATRnumberNo0.75Maximum allowed price difference between the two tops, normalized by ATR.
minHeightATRnumberNo1.5Minimum required height of the pattern (first top down to neckline valley), normalized by ATR.
symmetryMinnumberNo0.3Minimum ratio of time spent forming the left side vs the right side of the pattern.
symmetryMaxnumberNo4Maximum ratio of time spent forming the left side vs the right side of the pattern.
breakoutLookaheadintegerNo20Number of candles to look ahead after the second top to confirm a breakdown.
necklineBuffernumberNo0.1ATR-based buffer below the neckline to filter out false breakdowns during formation.
resultsintegerNo1Number of values to return, or max
backtrackintegerNo0Candles to skip from the most recent

What is Double Top?

A Double Top is a bearish reversal pattern where price tests a high twice, pulls back in between, then breaks below the neckline. The endpoint returns both highs, the intervening low, the neckline and a projected target.

Double Top formula

OutputCalculation
NecklineLow between the two highs
TargetNeckline − (highs − neckline)

How to read Double Top in your code

SignalMeaningCondition
Forming or confirmedDetection statusstatus and is_confirmed
BreakoutPrice closed below the necklinebreakout_occurred is true
TargetMeasured-move projectionprojection_price

Limitations: Geometric pattern detection depends on pivot settings, so tune deviationATR and depth or lookback values on your own market. A confirmed pattern is not a guaranteed move. Nothing on this page is financial advice.

Read Double Top from Python

Use backtrack=1 to read the result as of the last closed candle.

curl -G https://v2.taapi.io/indicator/doubletop \
  -H "Authorization: Bearer YOUR_API_KEY" \
  --data-urlencode "exchange=binance" \
  --data-urlencode "symbol=BTCUSDT" \
  --data-urlencode "timeframe=1h" \
  --data-urlencode "backtrack=1"

Get historical Double Top values

Add results to return a series for backtesting or charting. The last element is the most recent candle.

curl -G https://v2.taapi.io/indicator/doubletop \
  -H "Authorization: Bearer YOUR_API_KEY" \
  --data-urlencode "exchange=binance" \
  --data-urlencode "symbol=BTCUSDT" \
  --data-urlencode "timeframe=1h" \
  --data-urlencode "results=100"

Get Double Top for multiple symbols

Combine Double Top with other indicators in one request. Each exchange, symbol and timeframe combination is one construct: Basic allows 1 per request, Pro 3 and Expert 10.

POST/bulk
curl -X POST https://v2.taapi.io/bulk \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "constructs": [
    {
      "id": "btc_1h",
      "exchange": "binance",
      "symbol": "BTCUSDT",
      "timeframe": "1h",
      "indicators": [
        {
          "id": "doubletop",
          "indicator": "doubletop"
        },
        {
          "id": "rsi",
          "indicator": "rsi"
        }
      ]
    }
  ]
}'

Stream Double Top in real time

Subscribe over WebSocket to receive new values every 5 seconds while the candle is forming. Streaming supports 1m, 5m, 15m and 1h, and uses interval where REST uses timeframe.

WSSwss://v2.taapi.io/streaming
{
  "type": "subscribe",
  "id": "doubletop",
  "exchange": "binance",
  "symbol": "BTCUSDT",
  "interval": "1m",
  "indicator": "doubletop"
}

Double Top API FAQ

What does the Double Top API return?

It returns h1_timestamp, h1_price, l1_timestamp, l1_price, h2_timestamp, h2_price, neckline_level, neckline_right_timestamp, breakout_occurred, is_confirmed, breakout_timestamp, breakout_price, breakout_neckline_price, projection_price, direction, status, status_reason, pattern_index, plus a timestamp for the request. Results are JSON.

Is the latest Double Top value final?

No. The newest value belongs to the candle still forming and can change until it closes. Add backtrack=1 to read the last closed candle.

Which Double Top settings can I change?

You can set depth, deviationATR, deviationType, source, heikinashi, atrPeriod. See the parameters table above for defaults.

Can I get Double Top for US stocks?

Yes. Use exchange=stocks with a ticker such as AAPL. US stocks are included on the Pro plan and above.

See the full list of indicators, or start for free.