Indicators›Chart patterns›Inverse Cup and Handle
GET/indicator/cupandhandleinverse

Inverse Cup and Handle

Category: Chart patterns · Updated November 2026


The TAAPI.IO Inverse Cup and Handle API returns l1 timestamp, l1 price, hmax timestamp, hmax price values for the Inverse Cup and Handle 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/cupandhandleinverse
Outputsl1_timestamp, l1_price, hmax_timestamp, hmax_price, l2_timestamp, l2_price and more
MarketsBinance, Binance Futures, Bybit, Gate.io, Kraken and US stocks
Timeframes1m to 1w
DeliveryREST, bulk and WebSocket

Get Inverse Cup and Handle with one API call

This request returns Inverse Cup and Handle for BTCUSDT on 1-hour Binance candles. Add your API key to run it here.

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

Inverse Cup and Handle API response

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

200 OK
{
  "l1_timestamp": [],
  "l1_price": [],
  "hmax_timestamp": [],
  "hmax_price": [],
  "l2_timestamp": [],
  "l2_price": [],
  "handle_high_timestamp": [],
  "handle_high_price": [],
  "cup_pivot_timestamps": [],
  "cup_pivot_prices": [],
  "neckline_level": [],
  "neckline_right_timestamp": [],
  "breakout_occurred": [],
  "is_confirmed": [],
  "breakout_timestamp": [],
  "breakout_price": [],
  "breakout_neckline_price": [],
  "projection_price": [],
  "direction": [],
  "status": [],
  "status_reason": [],
  "pattern_index": [],
  "timestamp": [1794218400]
}

This response can be null or empty when there is nothing to report for the requested candles, so handle that case in your code.

FieldTypeDescription
l1_timestamparrayUnix timestamp of the left rim of the inverted cup (L1).
l1_pricearrayPrice level at the left rim of the inverted cup (L1).
hmax_timestamparrayUnix timestamp of the highest point at the top of the inverted cup (Hmax).
hmax_pricearrayPrice level at the highest point of the inverted cup (Hmax).
l2_timestamparrayUnix timestamp of the right rim of the inverted cup (L2).
l2_pricearrayPrice level at the right rim of the inverted cup (L2).
handle_high_timestamparrayUnix timestamp of the highest point within the inverted handle.
handle_high_pricearrayPrice level at the highest point within the inverted handle.
cup_pivot_timestampsarrayArray of timestamps plotting the interior zigzag path of the inverted cup's dome-shape.
cup_pivot_pricesarrayArray of prices plotting the interior zigzag path of the inverted cup's dome-shape.
neckline_levelarrayThe price level of the horizontal support neckline (lowest wick between L1 and L2).
neckline_right_timestamparrayTimestamp denoting where the neckline extends to on the right.
breakout_occurredarrayBoolean flag (true/false) indicating if price successfully broke below the neckline.
is_confirmedarrayExplicit boolean flag (true/false) indicating if the Inverse Cup and Handle pattern is fully confirmed (synonymous with breakout_occurred).
breakout_timestamparrayUnix timestamp of the candle that triggered the confirmation breakdown.
breakout_pricearrayThe closing price of the candle that triggered the confirmation breakdown.
breakout_neckline_pricearrayThe specific price of the neckline at the exact moment of the breakout.
projection_pricearrayThe theoretical downside price target calculated by subtracting the cup's height from the neckline.
directionarrayThe inherent bias of the pattern. Always 'bearish' for an Inverse Cup and Handle.
statusarrayThe current state of the pattern: 'forming', 'confirmed', or 'invalidated'.
status_reasonarrayContext detailing why the pattern holds its current status (e.g. 'awaiting_breakout').
pattern_indexarrayA sequential integer index uniquely identifying this specific pattern instance.
timestampinteger[]Unix time of each candle, in seconds

Inverse Cup and Handle 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'.
resultsintegerNo1Number of values to return, or max
backtrackintegerNo0Candles to skip from the most recent

What is Inverse Cup and Handle?

The Inverse Cup and Handle mirrors the classic pattern: a rounded top followed by a small rise and then a break to the downside. The endpoint returns the structure's lows and high, the handle, the neckline and a projected target.

Inverse Cup and Handle formula

OutputCalculation
TargetNeckline − height of the cup

How to read Inverse Cup and Handle 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 Inverse Cup and Handle from Python

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

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

Get historical Inverse Cup and Handle 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/cupandhandleinverse \
  -H "Authorization: Bearer YOUR_API_KEY" \
  --data-urlencode "exchange=binance" \
  --data-urlencode "symbol=BTCUSDT" \
  --data-urlencode "timeframe=1h" \
  --data-urlencode "results=100"

Get Inverse Cup and Handle for multiple symbols

Combine Inverse Cup and Handle 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": "cupandhandleinverse",
          "indicator": "cupandhandleinverse"
        },
        {
          "id": "rsi",
          "indicator": "rsi"
        }
      ]
    }
  ]
}'

Stream Inverse Cup and Handle 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": "cupandhandleinverse",
  "exchange": "binance",
  "symbol": "BTCUSDT",
  "interval": "1m",
  "indicator": "cupandhandleinverse"
}

Inverse Cup and Handle API FAQ

What does the Inverse Cup and Handle API return?

It returns l1_timestamp, l1_price, hmax_timestamp, hmax_price, l2_timestamp, l2_price, handle_high_timestamp, handle_high_price, cup_pivot_timestamps, cup_pivot_prices, 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 Inverse Cup and Handle 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 Inverse Cup and Handle settings can I change?

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

Can I get Inverse Cup and Handle 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.