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.