<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[API Rate Limit checks are not perfect]]></title><description><![CDATA[<p dir="auto">Team,</p>
<p dir="auto">This is a very old bug which we had reported this prior as well. Your api limit check component does not seem to functioning properly.</p>
<p dir="auto">We are observing intermittent HTTP 403 responses with the error message "Access denied because of exceeding access rate" on the Order Book endpoint, even though our actual request rate is well below the documented limit. We suspect this may be a bug in the rate-limit check on your side and would appreciate your investigation.</p>
<p dir="auto"><strong>Account details</strong></p>
<ul>
<li>Client Code: AAAJ371742</li>
<li>API Key: gq**8Ur4 (happy to share the full key over a secure channel if needed)</li>
<li>Source IP: single registered static IP</li>
</ul>
<p dir="auto"><strong>Endpoint</strong></p>
<ul>
<li>GET<br />
<a href="https://apiconnect.angelone.in/rest/secure/angelbroking/order/v1/getOrderBook" target="_blank" rel="noopener noreferrer nofollow ugc">https://apiconnect.angelone.in/rest/secure/angelbroking/order/v1/getOrderBook</a></li>
<li>Published rate limit (per <a href="https://smartapi.angelbroking.com/docs/RateLimit" target="_blank" rel="noopener noreferrer nofollow ugc">https://smartapi.angelbroking.com/docs/RateLimit</a>): 1 request / second / client</li>
</ul>
<p dir="auto">Observed behaviour Our service polls the order book every 3–4 seconds for this single account — i.e., ~0.25–0.33 req/s, which is roughly 3–4× below the published ceiling. <strong>Despite this, we routinely see 403 "exceeding access rate" responses.</strong> Representative timestamps from today's (2026-04-13) run, IST:</p>
<pre><code>12:21:06.xxx  403 "Access denied because of exceeding access rate"
12:30:38.xxx  403 "Access denied because of exceeding access rate"
12:30:59.xxx  403 "Access denied because of exceeding access rate"
12:31:11.xxx  403 "Access denied because of exceeding access rate"
12:31:14.xxx  403 "Access denied because of exceeding access rate"
12:31:44.xxx  403 "Access denied because of exceeding access rate"
</code></pre>
<p dir="auto">Between these errors, the client issued only one getOrderBook call every 3–4 seconds, with no bursts and no other endpoints being called at high frequency.</p>
<p dir="auto">Request headers on the failing calls (standard per your docs)</p>
<pre><code>Authorization: Bearer &lt;jwt&gt;
X-PrivateKey: &lt;apiKey&gt;
X-UserType: USER
X-SourceID: WEB
X-ClientLocalIP: &lt;local ip&gt;
X-ClientPublicIP: &lt;public ip&gt;
X-MACAddress: &lt;mac&gt;
Accept: application/json
Content-Type: application/json
</code></pre>
<p dir="auto">What we'd like confirmed</p>
<ul>
<li>Is the 1 req/s limit on getOrderBook measured per-client-code, per-API-key, or per-source-IP? The docs say "per client" — we want to confirm which identifier this is bucketed against.</li>
<li>Is the rate-limiter's sliding window implemented correctly? The error pattern (several 403s within the same minute, despite steady ~0.3 req/s traffic) suggests the counter may be leaking counts from unrelated windows or accounts.</li>
<li>Can you inspect server-side rate-limit telemetry for AAAJ371742 during 2026-04-13 12:20–12:32 IST and confirm whether the observed denials correspond to the actual measured rate for this client, or whether they are false positives?</li>
</ul>
]]></description><link>https://smartapi.angelone.in/smartapi/forum/topic/5560/api-rate-limit-checks-are-not-perfect</link><generator>RSS for Node</generator><lastBuildDate>Wed, 15 Apr 2026 13:55:20 GMT</lastBuildDate><atom:link href="https://smartapi.angelone.in/smartapi/forum/topic/5560.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 13 Apr 2026 10:18:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to API Rate Limit checks are not perfect on Mon, 13 Apr 2026 13:23:54 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://smartapi.angelone.in/smartapi/forum/uid/745">@algo_trading_50</a> We were testing with this account for the specific use-case and no other api endpoint was being invoked during the test.</p>
]]></description><link>https://smartapi.angelone.in/smartapi/forum/post/19061</link><guid isPermaLink="true">https://smartapi.angelone.in/smartapi/forum/post/19061</guid><dc:creator><![CDATA[namrata]]></dc:creator><pubDate>Mon, 13 Apr 2026 13:23:54 GMT</pubDate></item><item><title><![CDATA[Reply to API Rate Limit checks are not perfect on Mon, 13 Apr 2026 12:31:21 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://smartapi.angelone.in/smartapi/forum/uid/916">@namrata</a> Combined limit is 9 requests per second. It may be because, you might be fetching ltp data that may be exhausting the combined limit.</p>
]]></description><link>https://smartapi.angelone.in/smartapi/forum/post/19057</link><guid isPermaLink="true">https://smartapi.angelone.in/smartapi/forum/post/19057</guid><dc:creator><![CDATA[algo_trading_50]]></dc:creator><pubDate>Mon, 13 Apr 2026 12:31:21 GMT</pubDate></item></channel></rss>