Candlestick screeners
This API returns the Nifty 500 stocks that formed a given candlestick pattern on the previous trading session’s daily candle.
USE CASE
Shortlist Nifty 500 stocks that formed a Hammer, Morning Star or Bullish Engulfing pattern, as reversal candidates for the next session.
Note
This API takes only screener_id. The stocks scanned, the columns returned and the sort are fixed. Sending any other parameter returns HTTP 400.
Details
- Send your App ID and access token in the Authorization header as
APP_ID:ACCESS_TOKEN. Only GET is supported. - This API is part of the Data APIs and works with access tokens of all app types (100, 102 and 200).
- There are 23 Candlestick screeners. 13 bullish: Dragonfly Doji, Inverted Hammer, Hammer, White Marubozu, Bullish Harami, Bullish Harami Cross, Bullish Engulfing Pattern, Piercing Line, Upside Tasuki Gap, Morning Star, Three White Soldiers, Bullish Kicking, Bullish Abandoned Baby. 10 bearish: Black Marubozu, Hanging Man, Shooting Star, Bearish Harami, Bearish Engulfing, Dark Cloud Cover, Bearish Harami Cross, Bearish Abandoned Baby, Identical Three Crows, Downside Tasuki Gap.
- Take the
screener_idfromscreeners_candlestickin the Configuration API. - Every screener scans the Nifty 500 (
iw010). - Every screener returns the same 7 columns:
symbolticker(symbol),week_change_p(week change %),sma_5(day SMA 5),ema_5(day EMA 5),sma_10(day SMA 10),net_bullish_candlestick(day candlestick strength: bullish minus bearish) andprev_close(previous day close). - Rows are sorted by 1-day change: highest first for bullish patterns, lowest first for bearish patterns. The 1-day change itself is not returned.
- The response holds
header(one object per column:unique_key,description,data_type),body(one array per row, values in header order),total_count(number of rows returned) andlast_update_time(Unix epoch seconds).bodyis empty when no stock formed the pattern. - How fresh the data is: patterns are found on the previous trading session's daily candle. Results are computed once, at 09:15 IST, and stay the same until 09:15 of the next trading day.
last_update_timeshows 09:15 of the current day.prev_closeis the close of that candle, that is, the previous trading day's close.
Plan limits
Standard plan
- 50 requests per day
Prime plan
- As per Prime API rate limits: 10 requests per second, 500 per minute and 5,00,000 per day
For rate limits and all other plan details, see Plans & rate limits.
Request Attributes
| Attribute | Data Type | Description |
|---|---|---|
screener_id* | string | Mandatory. Screener id from the screeners_candlestick array. Only the screener_id query parameter is accepted. |
Response Attributes
| Attribute | Data Type | Description |
|---|---|---|
s | string | ok / error |
code | int | This is the code to identify specific responses |
message | string | This is the message to identify the specific error responses |
data | object | Result payload with header, body, error, and last_update_time |
Screener ids
The id is not always the name in lower case (for example Bullish Abandoned Baby is abandoned_baby_bottom), so take it from this table or from Configuration.
| Screener | screener_id | Data Type |
|---|---|---|
| Dragonfly Doji | dragonfly_doji | Bullish |
| Inverted Hammer | inverted_hammer | Bullish |
| Hammer | hammer | Bullish |
| White Marubozu | white_marubozu | Bullish |
| Bullish Harami | bullish_harami | Bullish |
| Bullish Harami Cross | bullish_harami_cross | Bullish |
| Bullish Engulfing Pattern | bullish_engulfing_pattern | Bullish |
| Piercing Line | piercing_line | Bullish |
| Upside Tasuki Gap | upside_tasuki_gap | Bullish |
| Morning Star | morning_star | Bullish |
| Three White Soldiers | three_white_soldiers | Bullish |
| Bullish Kicking | bullish_kicking | Bullish |
| Bullish Abandoned Baby | abandoned_baby_bottom | Bullish |
| Black Marubozu | black_marubozu | Bearish |
| Hanging Man | hanging_man | Bearish |
| Shooting Star | shooting_star | Bearish |
| Bearish Harami | bearish_harami | Bearish |
| Bearish Engulfing | bearish_engulfing | Bearish |
| Dark Cloud Cover | dark_cloud_cover | Bearish |
| Bearish Harami Cross | bearish_harami_cross | Bearish |
| Bearish Abandoned Baby | abandoned_baby_top | Bearish |
| Identical Three Crows | identical_three_crows | Bearish |
| Downside Tasuki Gap | downside_tasuki_gap | Bearish |
Example request
screener_id=hammer
Errors
| HTTP | code | When | message |
|---|---|---|---|
| 400 | -50 | screener_id missing | screener_id is required |
| 400 | -50 | screener_id unknown, or taken from another Screeners API | invalid screener_id |
| 400 | -50 | Any other parameter | unsupported query parameter: NAME |
| 401 | -16 | Missing or wrong token | Could not authenticate the user |
| 405 | -50 | Method other than GET | method not allowed; use GET |
| 429 | Rate limit crossed | Wait, then retry |
In the message above, NAME stands for the parameter you sent.
Notes
- Unlike Standard screeners, the response does not return the applied settings or
fetch_time.