# PatternsRadar — NSE stock screener with backtesting

> PatternsRadar is a free NSE stock screener. Scan 3,700+ stocks on delivery %, F&O and fundamentals, then backtest any scan over 30 years of history.

Canonical: https://dev.patternsradar.com/

PatternsRadar is a free NSE stock screener. Scan 3,700+ stocks on delivery %, F&O and fundamentals, then backtest any scan over 30 years of history.

## Describe the setup. Get every stock that matches.

Click the scan together from blocks, or write it out. Both are the same query and you can switch between them mid-thought. Then replay it across thirty years of split-adjusted NSE dailies and see what the matches actually did next. Delivery percentage is a field you can screen on here. So is futures open interest, and so are fundamentals valued as the market knew them on the scan date.

PatternsRadar is a stock screener for the National Stock Exchange of India, built by Bitmask (https://bitmask.in). Screen 3,700+ NSE instruments across 30 years of split-adjusted daily history on 153 scannable fields, indicators and candlestick patterns, delivery percentage among them. Then replay any scan over the last 250 sessions to see its hit rate before you trust it. End-of-day only, NSE only. Latest session: 2026-09-25.

Works over MCP. Connect Claude, Codex, opencode or any MCP client and scan from the agent. [Set up the MCP server](https://dev.patternsradar.com/docs/mcp.md).

The database, as of 25 Sept 2026: 3,740 instruments, 83,77,407 daily bars, history from 1995.

## The last session, in the data

NSE, top 250 by turnover, as of 25 Sept 2026.

- Top gainers: [HEROMOTORS](https://dev.patternsradar.com/s/HEROMOTORS.md) HEROMOTORS 141.69 (+19.99%), [ANTELOPUS](https://dev.patternsradar.com/s/ANTELOPUS.md) Antelopus Selan Energy Limited 1,261.70 (+11.56%), [AHCL](https://dev.patternsradar.com/s/AHCL.md) Anlon Healthcare Limited 31.51 (+9.98%), [DEEPA](https://dev.patternsradar.com/s/DEEPA.md) DEEPA 213.12 (+9.75%), [FCL](https://dev.patternsradar.com/s/FCL.md) Fineotex Chemical Limited 60.48 (+7.87%), [WHIRLPOOL](https://dev.patternsradar.com/s/WHIRLPOOL.md) Whirlpool of India Limited 918.90 (+7.67%)
- Top losers: [SSRETAIL](https://dev.patternsradar.com/s/SSRETAIL.md) SSRETAIL 728.20 (-10.30%), [OLAELEC](https://dev.patternsradar.com/s/OLAELEC.md) Ola Electric Mobility Limited 38.48 (-9.50%), [MEESHO](https://dev.patternsradar.com/s/MEESHO.md) Meesho Limited 217.06 (-6.78%), [ESDS](https://dev.patternsradar.com/s/ESDS.md) ESDS 1,760.50 (-5.00%), [JINDWORLD](https://dev.patternsradar.com/s/JINDWORLD.md) Jindal Worldwide Limited 46.76 (-4.90%), [TFCILTD](https://dev.patternsradar.com/s/TFCILTD.md) Tourism Finance Corporation of India Limited 138.31 (-3.59%)
- Most traded: [POLICYBZR](https://dev.patternsradar.com/s/POLICYBZR.md) PB Fintech Limited 1,166.00, turnover ₹4849.4Cr, [WHIRLPOOL](https://dev.patternsradar.com/s/WHIRLPOOL.md) Whirlpool of India Limited 918.90, turnover ₹2567.7Cr, [SSRETAIL](https://dev.patternsradar.com/s/SSRETAIL.md) SSRETAIL 728.20, turnover ₹2506.6Cr, [RELIANCE](https://dev.patternsradar.com/s/RELIANCE.md) Reliance Industries Limited 1,226.00, turnover ₹1610.8Cr, [HDFCBANK](https://dev.patternsradar.com/s/HDFCBANK.md) HDFC Bank Limited 735.60, turnover ₹1460.4Cr, [HEROMOTORS](https://dev.patternsradar.com/s/HEROMOTORS.md) HEROMOTORS 141.69, turnover ₹1454.0Cr

## 52-week high breakout, run when this page was built

A close at the highest level in a year, on volume half again its own 20-day average. The Darvas entry, written out.

```sift
where close is highest in 52w and rel_volume > 1.5
```

6 matches on 25 Sept 2026, found in 2.19s. [Run this scan yourself](https://dev.patternsradar.com/screener/52-week-high-breakout.md).

## Two ways to build the same scan.

Blocks and text are the same query seen from two sides. Click it together, or type it out, and switch whenever you like.

Blocks:

- **Nothing to memorise.** Every field, operator, period and lookback is a menu on the block itself. All 104 fields, indicators and patterns are reachable by clicking.
- **It draws whatever the language accepts.** Nested ANY groups, NOT, crossings with a lookback, sort and limit. There is no scan you can write that this cannot show you.
- **Undo and redo, per edit.** Walk a threshold up and down and watch what it does to the match count.

Code:

- **Autocomplete that knows where you are.** It offers only what can legally go in the slot you are on. The options that leave a hole reopen the menu on it, so picking “crosses above” picks the whole condition.
- **Wrong before you run it.** The parser runs in your browser, so an unknown field is underlined with the fix as you type. The same parser validates on the server before anything executes.
- **View SQL shows the statement that ran.** The actual query, LAG() windows and all. “Crosses above 30” stops being magic once you have seen it.

The switch above is the switch in the app. It does not translate or approximate: blocks and text are two renderings of one parsed query, so you can start by clicking, finish by typing, and go back without retyping a thing.

[Read the full language reference](https://dev.patternsradar.com/docs/sift.md), or start from one of 142 shipped scans (https://dev.patternsradar.com/scans.md).

## Then find out whether it has ever worked.

Every scan replays. The query runs as of each session in a window you choose, every match becomes a signal, and the panel reports what those signals did next: win rate, median move, payoff, and the excess over the index. It runs as one query rather than one per day, so a thirty-year replay comes back in 90–140 ms.

52-week high breakout, replayed when this page was built: Replayed over the last 250 sessions: 1,944 signals; 49% / 52% / 52% closed higher after 1/5/20 sessions, with a median move of -0.0% / +0.2% / +0.5%. A sketch, not a backtest — close-to-close, no costs or slippage, today's universe.

What you can change:

- **Window:** Six months to 30 years, which is 10 to 7,500 sessions, back to the first bar in 1995.
- **Horizons:** Up to 4 forward windows at once, each anywhere from 1 to 60 sessions.
- **Entry:** At the signal bar's own close, or at the next session's open. The second is the earliest fill anyone reading an end-of-day scan could actually take.
- **Exits:** A stop-loss and a target in percent turn the replay into a trade simulation, and every trade is labelled stop, target or time.
- **Benchmark:** Excess return against any of 7 NSE indices. Or against none, when the raw move is what you want.
- **Output:** An equity curve, a monthly breakdown, a return histogram and every individual trade. Each one exports as CSV.

There is no annual backtest quota and no depth withheld by tier: every window, horizon and exit rule above is on the Free plan, bounded only by a daily allowance each plan states. Close-to-close, with no brokerage, slippage or position sizing, and universe membership measured as of today — a survivorship lean, stated rather than fixed.

[Replay this scan yourself](https://dev.patternsradar.com/screener/52-week-high-breakout.md). [What it measures, exactly](https://dev.patternsradar.com/methodology.md).

## Built on the parts of the data other screeners drop.

- **Delivery data, as a first-class field:** What fraction of the day's volume actually changed hands rather than being squared off intraday. Screen on it, sort by it, put it in a condition.
- **Thirty years, split- and bonus-adjusted:** 8.3 million daily bars going back to January 1995, with corporate actions already applied. A 52-week high means what it says across a split, and a replay can reach across several regimes instead of one bull run.
- **Scan any past session:** Every scan is parameterised on a date. Run tonight's screen against a Tuesday in 2019 and see what it would have found.
- **Dividends by ex-date, back to 2012:** Yield, growth, CAGR, paying years and streak, over any span from one to ten years, split-adjusted to match the close. "Yielded over 3% for five straight years" compiles.
- **F&O signals on the cash screen:** Futures open interest, OI change, basis and put-call ratios, as scan fields, for the ~200 stocks that have derivatives. "Price up with OI up" is one line here.
- **Fundamentals that respect the filing date:** P/E, market cap, growth, shareholding and sector, each valued as the market knew it on the scan date. A replayed fundamental screen cannot peek at results before they were filed.
- **Alerts after every close:** Watch a saved scan and it runs itself against each evening's data. New matches arrive as one digest email a day, never one email per scan, and as a signed webhook on Max.
- **An API and an MCP server:** Every plan gets a key that drives both. The MCP endpoint hands Claude Code or Codex the whole query language, so an agent can write and run scans without being taught the syntax.

## Or skip the browser entirely.

The screener is one client of an API you can call yourself, from a script, a cron job, or a coding agent speaking the Model Context Protocol. Pick your client below. The config goes in as it stands, once you have swapped in a key.

- **The agent teaches itself the language:** A sift_reference tool serves the complete query reference, generated from the same catalog the compiler reads. Claude Code or Codex writes a correct scan without you explaining the syntax.
- **Everything the screener does:** Ten tools: run scans, replay hit-rate, look up symbols and bars, read and save the scans on your account. They go through the same code paths the browser does.
- **One key, both doors:** A key authenticates REST and MCP alike, on every plan including Free. Shown once, stored as a hash, revoked instantly.

[Set up the MCP server](https://dev.patternsradar.com/docs/mcp.md). [API reference](https://dev.patternsradar.com/docs/api.md). Keys are free on every plan.

## What it will not do

Worth knowing before you sign up rather than after.

- **No intraday:** Daily bars only. There is no 5-minute anything, and alerts fire after the close.
- **Fundamentals still filling in:** P/E, market cap, growth and shareholding are point-in-time and screenable. The filings backfill is still running, so a stock whose results have not been parsed yet shows no P/E at all rather than a guessed one.
- **F&O is aggregates:** Futures OI, OI change, basis, rollover and put-call ratios, per stock, for the ~200 stocks with listed derivatives. There is no per-strike option-chain screening.
- **NSE only:** No BSE listings and no US tickers.
- **No costs in the replay:** It simulates stops, targets and entry timing. It does not simulate brokerage, slippage or position sizing, and it measures the universe as of today, which leans survivorship-positive.
- **No portfolio:** It finds candidates. What you do next is your business.

## Screening is free. You pay for the alerts.

Every plan gets the whole screener, all 30 years of history, and API and MCP access. Paid tiers add one thing: PatternsRadar watches your scans for you and emails you after each close.

Screening is free with no account. Pro (₹400/month) adds end-of-day email alerts; Max (₹2,000/month) adds webhooks and higher limits. Every plan, including Free, has REST API and MCP access.

### Free

The whole screener, and room to keep a few scans.

- Price: ₹0 (free, no card)
- Status: Available

| Limit | On this plan | What it means |
|---|---|---|
| Scans | 200 a day | How many times a day you can run a scan across the market. The count starts again at midnight. |
| Replays | 20 a day | A replay runs a scan back over past years to show how often it actually worked. This is how many you can run in a day. |
| Matches per scan | 500 | The most stocks one scan hands back. If more than this match, you see the top few. |
| Saved scans | 5 | How many scans you can keep in your account. At the limit, saving another is refused — nothing you have already saved is ever deleted. |
| Email alerts | None | How many of your saved scans can email you when they find something. One message each evening after the market closes — there is nothing intraday. |
| Webhooks | no | Instead of an email, we can post the results straight to a web address of yours, so your own software can act on them. |
| Run history | 7 days | How far back you can look at your own past runs and what they found. |
| Scan rate | 20 a minute | How many scans you can start within a single minute. Scanning is the expensive part, so it has its own speed limit. |
| API rate | 60 a minute | How many ordinary requests you can make in a minute — opening a page, reading a saved scan, looking a stock up. |
| REST API access | yes | Lets you call PatternsRadar from your own scripts with an API key. Using the website yourself is never affected by this. |
| API keys | 2 | How many API keys you can hold at once. Revoke an old one to make room for another. |
| MCP server | yes | Lets an AI assistant such as Claude connect to your account and run scans for you. |

### Pro (most useful)

An email every evening after the close.

- Price: ₹400/month
- Status: Available

| Limit | On this plan | What it means |
|---|---|---|
| Scans | 1,000 a day | How many times a day you can run a scan across the market. The count starts again at midnight. |
| Replays | 100 a day | A replay runs a scan back over past years to show how often it actually worked. This is how many you can run in a day. |
| Matches per scan | 1,000 | The most stocks one scan hands back. If more than this match, you see the top few. |
| Saved scans | 100 | How many scans you can keep in your account. At the limit, saving another is refused — nothing you have already saved is ever deleted. |
| Email alerts | on 50 saved scans | How many of your saved scans can email you when they find something. One message each evening after the market closes — there is nothing intraday. |
| Webhooks | no | Instead of an email, we can post the results straight to a web address of yours, so your own software can act on them. |
| Run history | 90 days | How far back you can look at your own past runs and what they found. |
| Scan rate | 100 a minute | How many scans you can start within a single minute. Scanning is the expensive part, so it has its own speed limit. |
| API rate | 300 a minute | How many ordinary requests you can make in a minute — opening a page, reading a saved scan, looking a stock up. |
| REST API access | yes | Lets you call PatternsRadar from your own scripts with an API key. Using the website yourself is never affected by this. |
| API keys | 5 | How many API keys you can hold at once. Revoke an old one to make room for another. |
| MCP server | yes | Lets an AI assistant such as Claude connect to your account and run scans for you. |

### Max

Higher limits, plus a webhook when a scan fires.

- Price: ₹2,000/month
- Status: Available

| Limit | On this plan | What it means |
|---|---|---|
| Scans | 2,400 a day | How many times a day you can run a scan across the market. The count starts again at midnight. |
| Replays | 240 a day | A replay runs a scan back over past years to show how often it actually worked. This is how many you can run in a day. |
| Matches per scan | 2,000 | The most stocks one scan hands back. If more than this match, you see the top few. |
| Saved scans | 500 | How many scans you can keep in your account. At the limit, saving another is refused — nothing you have already saved is ever deleted. |
| Email alerts | on 200 saved scans | How many of your saved scans can email you when they find something. One message each evening after the market closes — there is nothing intraday. |
| Webhooks | yes | Instead of an email, we can post the results straight to a web address of yours, so your own software can act on them. |
| Run history | 1 year | How far back you can look at your own past runs and what they found. |
| Scan rate | 240 a minute | How many scans you can start within a single minute. Scanning is the expensive part, so it has its own speed limit. |
| API rate | 600 a minute | How many ordinary requests you can make in a minute — opening a page, reading a saved scan, looking a stock up. |
| REST API access | yes | Lets you call PatternsRadar from your own scripts with an API key. Using the website yourself is never affected by this. |
| API keys | 10 | How many API keys you can hold at once. Revoke an old one to make room for another. |
| MCP server | yes | Lets an AI assistant such as Claude connect to your account and run scans for you. |

## Common questions

### Is PatternsRadar free?

Yes, and you do not need an account. The whole scan library, all 30 years of history and the hit-rate replay cost nothing, because the thing I most want you to try before paying for anything is the replay, and putting it behind a signup would defeat that. Paid plans add end-of-day alerts on the scans you keep, webhooks, and higher API limits, from ₹400 a month.

### How does alerting work?

NSE closes at 15:30. That evening the day's data is loaded and every scan you are watching runs against it. You get one email a day listing every scan that fired. If you would rather only hear about names that were not in yesterday's list, there is a setting for that.

### What does “end of day” mean?

Alerts on daily bars, sent after the close. There is no intraday data and no live feed, so nothing here fires while the market is open. That is a real limitation. You should know it before you pay.

### What happens if I cancel?

It runs to the end of the period you have already paid for. Nothing you saved gets deleted. Scans over the free limit stay readable, and you can edit them again the moment you are back on a paid plan.

[Compare plans in full](https://dev.patternsradar.com/pricing.md).

## Where to go

- [Scan library](https://dev.patternsradar.com/scans.md): 142 prebuilt scans, each with its query, an explanation and a backtest
- [Glossary](https://dev.patternsradar.com/learn.md): 57 indicators, fields and patterns, each with a working scan
- [Sift language reference](https://dev.patternsradar.com/docs/sift.md)
- [API reference](https://dev.patternsradar.com/docs/api.md) and [MCP server](https://dev.patternsradar.com/docs/mcp.md)
- [Blog](https://dev.patternsradar.com/blog.md), [Comparisons](https://dev.patternsradar.com/compare.md), [Pricing](https://dev.patternsradar.com/pricing.md), [About](https://dev.patternsradar.com/about.md), [Methodology](https://dev.patternsradar.com/methodology.md), [All NSE stocks](https://dev.patternsradar.com/stocks.md), [The screener](https://dev.patternsradar.com/screener.md)
- Machine-readable: [llms.txt](https://dev.patternsradar.com/llms.txt), [llms-full.txt](https://dev.patternsradar.com/llms-full.txt) and [sitemap.md](https://dev.patternsradar.com/sitemap.md), every markdown document by section

Every public page on this site has a markdown twin: append `.md` to its URL, or request the page with `Accept: text/markdown`.

---

Price and delivery data from the [eod2](https://github.com/BennyThadikaran/eod2) dataset: National Stock Exchange of India end-of-day files, split- and bonus-adjusted, updated after each close. Not affiliated with or endorsed by NSE. PatternsRadar is a research tool. Nothing here is investment advice or a recommendation to buy or sell anything.
