Skip to content

API Reference


API Reference / RateLimiter

Class: RateLimiter

Defined in: src/client/RateLimiter.ts:21

Enforces Dhan's per-endpoint rate limits (RATE_LIMITS) on top of the generic read/write queue. A request with a tier waits on both: the generic queue first, then that tier's own, stricter spacing — so e.g. an option-chain call is still at least 3s behind the previous option-chain call, regardless of how many other requests are in flight.

Constructors

Constructor

new RateLimiter(config?): RateLimiter

Defined in: src/client/RateLimiter.ts:26

Parameters

config?

RateLimiterConfig = {}

Returns

RateLimiter

Methods

scheduleRead()

scheduleRead<T>(task): Promise<T>

Defined in: src/client/RateLimiter.ts:40

Type Parameters

T

T

Parameters

task

() => Promise<T>

Returns

Promise<T>


scheduleWrite()

scheduleWrite<T>(task): Promise<T>

Defined in: src/client/RateLimiter.ts:44

Type Parameters

T

T

Parameters

task

() => Promise<T>

Returns

Promise<T>


scheduleTier()

scheduleTier<T>(tier, isWrite, task): Promise<T>

Defined in: src/client/RateLimiter.ts:48

Type Parameters

T

T

Parameters

tier

"order_api" | "data_api" | "quote_api" | "option_chain" | "non_trading_api"

isWrite

boolean

task

() => Promise<T>

Returns

Promise<T>

Community project — not affiliated with Dhan. MIT License.