Klines API
KlinesAPI is a high-speed REST API that delivers corporate-action adjusted end-of-day (EOD) OHLCV data for every NSE instrument since 2010.
It includes 27+ chainable technical indicators, supports full-market screening in a single query, and updates daily by 10 PM IST.
Designed for algorithmic traders and researchers who need reliable, clean historical data without the hassle of manual adjustments or rate limits.
trending_upData from 2010
bar_chart27+ Indicators
all_inclusiveAll NSE instruments
updateDaily by 10 PM IST
verified Solves Real Problems
Slow API and high limits?
If your current workflow feels sluggish because Google Finance, Yahoo Finance, or a broker endpoint keeps slowing down or rate limiting, KlinesAPI gives you an async-ready, high-speed REST API with 1000 free requests a month. That means faster pulls, fewer bottlenecks, and a cleaner pipeline for screening and backtesting.
Data is available only for few years?
Many market data tools only give a short window of history, which makes long horizon backtests incomplete. KlinesAPI provides full data since 2010, so you can test across multiple market cycles, compare regime changes, and build strategies with deeper historical context.
Unadjusted raw data making analysis a mess?
Raw EOD series can become misleading when corporate actions are ignored. KlinesAPI provides bonus, rights, splits, and demerger adjusted data, so historical price action stays usable for analysis. Dividends are not adjusted because the impact is negligible, which keeps the series cleaner without unnecessary distortion.
High API costs from other APIs?
Some providers push pricing into expensive monthly plans that are hard to justify for research, prototyping, or small production workloads. KlinesAPI is designed to keep the spend controllable with a request-based model, so your cost matches actual usage instead of forcing a heavy subscription.
Unable to scan the full market quickly?
A single query can scan all NSE instruments, so you can find opportunities across the entire market without stitching together dozens of manual pulls. That makes screening simpler, faster, and much easier to automate.
auto_awesome What's Included
Corporate-action adjusted prices
Every dataset accounts for splits, bonus issues, rights offerings, and demergers, so your series stays continuous and suitable for analysis.
Live symbol change tracking
Tickers that get renamed just work. Updates happen daily so backtests and screeners do not break silently when symbols change.
27 chainable indicators
SMA, EMA, WMA, RMA, TEMA, HMA, VWAP, pivot levels, Heikin-Ashi, and more. Chain indicators, offset them by days, and build complex multi-condition screens in a single request.
Async and high-throughput pulls
Built for concurrent async requests, so you can pull hundreds of symbols at once without the slowdown and failure cycles common in spreadsheet-based workflows.
24-hour cache at no cost
Identical queries within 24 hours are served from cache and charged zero credits, which makes repeated analysis in the same day cheaper and faster.
receipt_long Pricing
Recharge and request usage are shown together so the pricing stays easy to read. Every ₹1 recharge gives 2 paid requests or 50 credits as per your requirement, while the free monthly request allowance is included in the plan itself. Credits remain separate from requests and never expire.
workspace_premium Recharge plans
| Plan | Recharge Amount | Credits | Requests (Include both paid and free here itself) | Other perks | Notes |
|---|---|---|---|---|---|
| Test user | ₹1 - ₹999 | [50 credits per ₹1 + 1000 free monthly requests] or | 2 paid requests per ₹1 | Access to all endpoints and indicators | Max 3 test recharges per lifetime. After that, a minimum ₹1000 recharge is required to continue as a normal user. |
| Normal plan | <₹5000 | [50 credits per ₹1 + 1000 free monthly requests] or | 2 paid requests per ₹1 | All endpoints and indicators. Bug reports rewarded with 7500 credits. Standard queue support. | Best for steady usage below the super-tier threshold. |
| Super plan | >=₹5000 | [50 credits per ₹1 + 2000 free monthly requests] or | 2 paid requests per ₹1 | All normal benefits. Priority support queue. SLA delays credit 7500 per day. Bug reports rewarded with 25000 credits. | Best for higher volume use. |
calculate Consumption calculation
Credits and Requests are converted back and forth automatically to meet JIT approach.
Base deduction — Symbol query
Credits = (output cells / 500) × multiplier). Example: 200 rows × 3 columns = 600 cells / 500 * 1.5 multiplier = 1.8 credits = ₹0.036
Base deduction — All-symbol scan (no symbol filter)
Credits = 42 × trading days in range × multiplier. Example: 1 day × 1.2 multiplier = 50.4 credits = ₹1.01
Multipliers
Operational cost multiplier — 0.01 per filter.
Compute cost multiplier (CCM) — based on indicator complexity. Both multipliers stack multiplicatively on the base.
Compute cost multiplier (CCM) — based on indicator complexity. Both multipliers stack multiplicatively on the base.
Grace periods
Identical queries within 24 hours are served from cache at no charge.
Grace applies to credits only. Every request counts toward the monthly request limit regardless of grace.
Request deduction
1 request is deducted for every query irrespective of grace period.
help
Frequently Asked Questions
How is the data adjusted in KlinesAPI?
Prices are adjusted for splits, bonus issues, rights offerings, and demergers
to keep the series continuous. Dividends are not adjusted as their impact is
typically negligible for most backtesting needs.
What indicators are available?
27+ indicators including SMA, EMA, WMA, RMA, TEMA, HMA, VWAP, pivot levels,
and Heikin-Ashi. They are fully chainable with offsets.
How much does it cost?
1000 free requests per month. Additional usage is recharge-based:
₹1 = 2 paid requests or 50 credits. Super plan (₹5000+) gets
2000 free requests/month + priority support.
Is the data suitable for live trading?
No. The data is intended for research and backtesting only. It should not be
used to make actual investment decisions.
info Important Notes
All recharges are non-refundable regardless of whether credits or requests are consumed.
Credits and requests do not expire. Be advised to pay only on just-in-time basis.
Data is adjusted with reasonable accuracy and is intended for research and backtesting only.
Results should not be used to make investment decisions.
DSL Guide
The complete KlinesAPI DSL reference used by columns=,
expr=, variables, custom functions, and scanner conditions.
Formulas and function definitions below are taken from the same definitions used by the Builder.
functions0 DSL functions
database0 Raw columns
analytics0 Indicators & metrics
scheduleOffsets supported
codeDefinitions & Syntax
table_viewRaw Columns
analyticsIndicators & Metrics
functionsDSL Functions
tuneOperators
scheduleTemporal Model & Offsets
show_chartCharts
Symbol or Index
query_stats
Select a symbol or index above, then click Load Chart.
historyHistorical Scan
Date
Time
Freshly Picked?
Condition Filter
Backtest
scienceLabs
Return Method
Bake Strategy for X day. Enter
No strategy queued yet. Configure a query in Builder
(advanced filter, target = all) or run a scan in Epick,
then tap "Test Strategy" / "Test in Labs".
edit_note
In your email, include a comprehensive note outlining your intended use case. Specify the average number of URL requests per month and any additional usage details. This helps determine the most suitable pricing plan for you.
api Endpoint
Base URL
—
my_location Query Target
All Symbols
Multi Symbols
Single Symbol
Instrument filter
instrument=
Industry filter
industry=
date_range Date & Mode
Date Range
Last N Days
Next N Days
view_column Columns
Ranges expand server-side; inclusive and can span historical or forward offsets.
filter_alt Add Simple Filter
Filters on raw database columns at SQL level.
For metric-based conditions, use Advanced Filters.
>
<
≥
≤
=
≠
functions Advanced Filters (expr=)
Expression (type naturally — suggestions appear as you write)
Operators
>
<
≥
≤
==
!=
+
-
*
/
**
%
&&
||
(
)
backspace
CLR
Raw columns (tap for offset options)
Metrics & values
data_object Define Let Variable
Assign a short name to a reusable expression. Use
#name in expr=, columns=, or custom function bodies.
References stay linked to the variable instead of copying its expression.
Operators
+
-
*
/
**
%
&&
||
(
)
backspace
CLR
Raw columns (tap for offset options)
Metrics & values
functions Define Function
Create a reusable DSL function. Example: zindex(x,y,z) computes one expression that you can call from your scanner condition.
Functions are automatically included before expr= when the request is built.
Quick insert
tune Output & Pagination
CSV output
filetype=csv
Pagination:
When fetching large datasets page by page, pass the date from the last row of your previous response as
last_date.
When scanning all symbols (no symbol filter), also pass
last_symbol.
calculate Metric Builder
—
history Column Offset
—
tag Insert Number
info Notice
Meta Information