Skip to content

API Reference


API Reference / Instruments

Class: Instruments

Defined in: src/resources/Instruments.ts:72

Segment-wise instrument (scrip master) lookups.

GET /v2/instrument/{segment} returns CSV, not JSON, and a single segment can run to hundreds of thousands of rows — so parsed segments are cached in memory and every lookup goes through that cache.

Constructors

Constructor

new Instruments(httpClient, config?): Instruments

Defined in: src/resources/Instruments.ts:77

Parameters

httpClient

HttpClient

config?

InstrumentsConfig = {}

Returns

Instruments

Methods

bySegment()

bySegment(exchangeSegment): Promise<Instrument[]>

Defined in: src/resources/Instruments.ts:85

Every instrument in a segment, cached for InstrumentsConfig.cacheTtlMs.

Parameters

exchangeSegment

string

Returns

Promise<Instrument[]>


clearCache()

clearCache(exchangeSegment?): void

Defined in: src/resources/Instruments.ts:112

Drops cached segments so the next lookup re-downloads.

Parameters

exchangeSegment?

string

Returns

void


find()

find(exchangeSegment, symbol, options?): Promise<Instrument | undefined>

Defined in: src/resources/Instruments.ts:128

First instrument in a segment matching symbol.

Equities are matched on UNDERLYING_SYMBOL when present, indices and derivatives on SYMBOL_NAME, which is what makes find("IDX_I", "NIFTY") and find("NSE_EQ", "RELIANCE") both resolve.

Parameters

exchangeSegment

string

symbol

string

options?

InstrumentSearchOptions = ...

Returns

Promise<Instrument | undefined>


findBySecurityId()

findBySecurityId(exchangeSegment, securityId): Promise<Instrument | undefined>

Defined in: src/resources/Instruments.ts:139

Instrument with this security id inside a segment.

Parameters

exchangeSegment

string

securityId

string | number

Returns

Promise<Instrument | undefined>


search(query, options?): Promise<Instrument[]>

Defined in: src/resources/Instruments.ts:154

Search across several segments at once, returning up to limit matches. Used by the dhan_search_instruments agent tool to resolve a free-text symbol to a security id.

Parameters

query

string

options?

InstrumentSearchOptions & object = {}

Returns

Promise<Instrument[]>


findAnywhere()

findAnywhere(symbol, options?): Promise<Instrument | undefined>

Defined in: src/resources/Instruments.ts:180

First match for symbol across segments, in the order given.

Parameters

symbol

string

options?

InstrumentSearchOptions & object = {}

Returns

Promise<Instrument | undefined>

Community project — not affiliated with Dhan. MIT License.