Chartink APIchartink.com ↗
Access NSE/BSE stock fundamentals, OHLCV technical data, and custom screeners via the Chartink API. Search symbols, run scan clauses, and pull financial metrics.
What is the Chartink API?
The Chartink API exposes 5 endpoints covering Indian equity market data from NSE and BSE, including fundamental metrics, technical OHLCV data, and custom stock screenings. The run_stock_screener endpoint accepts Chartink scan clause syntax to filter stocks by price, volume, or any supported technical condition, returning matching symbols with close price, percentage change, and volume. The remaining endpoints cover symbol lookup, fundamentals, and technical chart data.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/d650ce4b-82c4-4521-b5c6-0c67105247cd/get_all_listed_symbols' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace chartink-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""
Chartink India Stock Market API — typed SDK usage
Get your API key from: https://parse.bot/settings
Find high-volume stocks, inspect fundamentals, and retrieve technical data.
"""
from parse_apis.chartink_india_stock_market_api import Chartink, Stock, Timeframe, SymbolNotFound
chartink = Chartink()
# Screen for high-volume stocks
for stock in chartink.stocks.screen(scan_clause="( {cash} ( latest volume > 10000000 ) )"):
print(stock.nsecode, stock.name, stock.close, stock.per_chg, stock.volume)
# Search by name
for match in chartink.stocks.search(query="RELIANCE"):
print(match.nsecode, match.name, match.bsecode)
# Get fundamentals for a specific stock (constructible by key)
reliance = chartink.stock(nsecode="RELIANCE")
fundamentals = reliance.get_fundamentals()
print(fundamentals.symbol, fundamentals.industry, fundamentals.market_cap, fundamentals.yearly_pe_ratio)
# Get technical OHLCV data with weekly timeframe
tech = reliance.get_technical_data(timeframe=Timeframe.WEEKLY, limit=50)
for group in tech.group_data:
print(group.name, group.results)
Retrieve all listed company symbols available on Chartink. Returns all NSE/BSE stocks with their code, name, latest close price, percentage change, and volume. Uses the screener engine internally with a permissive filter. The result set contains thousands of stocks — single-page response.
No input parameters required.
{
"type": "object",
"fields": {
"items": "array of stock objects each containing sr, nsecode, name, bsecode, close, per_chg, volume"
},
"sample": {
"data": {
"items": [
{
"sr": 1,
"name": "Mrf Limited",
"close": 123120,
"volume": 2687,
"bsecode": "500290",
"nsecode": "MRF",
"per_chg": 0.3
}
]
},
"status": "success"
}
}About the Chartink API
Symbol Discovery and Search
The get_all_listed_symbols endpoint returns the full universe of stocks available on Chartink, with each object containing nsecode, bsecode, name, close, per_chg, and volume. No parameters are required. The search_stock_symbol endpoint accepts a query string and performs a case-insensitive substring match against both the NSE code and company name, returning the same field set — useful for resolving a partial name to a tradeable ticker before calling other endpoints.
Fundamentals and Technical Data
get_stock_fundamentals takes a symbol (NSE ticker, e.g. RELIANCE) and returns an object keyed by metric name: Industry, Market Cap, Net Profit, Earnings Per Share, Yearly P/E Ratio, Book Value, and related financial indicators. get_stock_technical_data takes the same symbol input plus optional timeframe (Daily, Weekly, or Monthly) and limit parameters. The response includes a metaData array with column aliases and trade times, alongside groupData containing OHLCV arrays organized by group — suitable for charting or indicator calculation.
Custom Stock Screener
run_stock_screener is the most flexible endpoint. It accepts a scan_clause string using Chartink's filtering syntax — for example, ( {cash} ( latest close > 200 ) ) or conditions combining volume, moving averages, and price thresholds. The response lists all matching stocks with their NSE/BSE codes, close price, percentage change, and volume. This mirrors the screener functionality available on Chartink's web interface, letting you replicate or automate scans programmatically.
The Chartink API is a managed, monitored endpoint for chartink.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when chartink.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official chartink.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Screen NSE stocks by custom technical conditions using Chartink scan clause syntax via
run_stock_screener - Build a fundamental valuation dashboard using P/E ratio, EPS, Book Value, and Market Cap from
get_stock_fundamentals - Populate a stock watchlist by resolving partial company names to NSE/BSE codes with
search_stock_symbol - Feed OHLCV data from
get_stock_technical_datainto a backtesting or charting pipeline - Monitor daily price and volume changes across all listed NSE/BSE stocks using
get_all_listed_symbols - Automate alerting workflows by running recurring screener queries and comparing result sets over time
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Chartink have an official developer API?+
What does `run_stock_screener` return and how do I write a scan clause?+
nsecode, bsecode, name, close, per_chg, and volume — for every stock that matches the scan_clause you supply. Scan clauses follow Chartink's filter syntax, for example ( {cash} ( latest close > 200 ) ) or conditions referencing volume and moving averages. The endpoint mirrors the screener on Chartink's web interface, so clauses that work there will work here.Which timeframes are supported for technical OHLCV data?+
get_stock_technical_data supports Daily, Weekly, and Monthly via the timeframe parameter. Intraday timeframes (e.g. 5-minute, 15-minute candles) are not currently exposed. The API covers daily and higher-resolution aggregations. You can fork it on Parse and revise to add intraday timeframe support if that endpoint becomes available.Does the API return historical fundamental data or only the latest snapshot?+
get_stock_fundamentals returns a current snapshot of metrics like Market Cap, Net Profit, EPS, and P/E ratio for a given symbol — not a time series of historical quarterly or annual figures. The API covers present-state fundamentals. You can fork it on Parse and revise to add endpoints that surface historical financial statements if needed.Are BSE-only symbols supported, or is data primarily NSE-based?+
nsecode and bsecode fields where available, and get_all_listed_symbols covers the full Chartink-listed universe which includes both exchanges. However, the symbol input parameters for get_stock_fundamentals and get_stock_technical_data expect an NSE ticker. BSE-only symbols without an NSE code may not resolve correctly on those endpoints. You can fork it on Parse and revise to add BSE code-based lookups.