<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Rate limits API in APIs &amp; Integrations</title>
    <link>https://community.hubspot.com/t5/APIs-Integrations/Rate-limits-API/m-p/1004476#M74919</link>
    <description>&lt;P&gt;Hi Dylan,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Great suggestions from&amp;nbsp;&lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/175751"&gt;@TDwebdev&lt;/a&gt;&amp;nbsp;on methods you can implement to handle rate limits and to optimise within the rate limit envelope.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You mention 150 per second but I think you mean 150 per &lt;STRONG&gt;10&lt;/STRONG&gt; seconds, if you are implementing a private app in a Pro or Enterprise Hub. (&lt;A href="https://developers.hubspot.com/beta-docs/guides/apps/api-usage/usage-details" target="_blank" rel="noopener"&gt;See rate limits&lt;/A&gt;)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;We create public apps for HubSpot, which are limited even further to 100 per 10 seconds.&lt;/P&gt;
&lt;P&gt;If we ever exceed that rate we see 429 errors so we back off accordingly.&lt;/P&gt;
&lt;P&gt;Our certified apps must have less than 5% of API requests exceeding rate limits,&amp;nbsp;so it can be a challenge. HubSpot leaves it to the developer to improve the code to keep within rate limits.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Our main solution is a "token bucket" method, where we issue tokens to any parts of our application that need to call the HubSpot API. The app requests the number of tokens (API calls) coming up and our token bucket handler limits the number of tokens it issues per 10 seconds. This allows parallel processes that together remain within the envelope. As already suggested for item 2, you should implement a rate-limiting function and then optimise your data within that envelope.&lt;/P&gt;
&lt;P&gt;Optimising includes using batch requests and only syncing when the data requires it.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;best&lt;/P&gt;
&lt;P&gt;Pete&lt;/P&gt;</description>
    <pubDate>Thu, 11 Jul 2024 02:20:25 GMT</pubDate>
    <dc:creator>HubDoPete</dc:creator>
    <dc:date>2024-07-11T02:20:25Z</dc:date>
    <item>
      <title>Rate limits API</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/Rate-limits-API/m-p/1002704#M74854</link>
      <description>&lt;P&gt;Hello everyone,&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;I'm currently facing an issue with synchronization using the HubSpot API. As some of you might know, HubSpot has a rate limit of 150 requests per second. I have two data sources from two different environments, which makes it challenging to manage and stay within the 150 requests per second limit.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;I’m wondering if anyone in the community has encountered a similar issue. If so, could you share how you managed to synchronize data without exceeding the request limit? Any suggestions or potential solutions would be greatly appreciated.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thank you in advance for your help and advice!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 09 Jul 2024 12:16:35 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/Rate-limits-API/m-p/1002704#M74854</guid>
      <dc:creator>DGrumellon</dc:creator>
      <dc:date>2024-07-09T12:16:35Z</dc:date>
    </item>
    <item>
      <title>Re: Rate limits API</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/Rate-limits-API/m-p/1002803#M74861</link>
      <description>&lt;P&gt;Hi DGrumellon,&lt;/P&gt;
&lt;P&gt;I've faced similar challenges with the HubSpot API rate limits. Here are a few strategies that might help you manage your synchronization without exceeding the 150 requests per second limit:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;P&gt;&lt;STRONG&gt;Batch Requests&lt;/STRONG&gt;: Group multiple requests into a single batch request if the API endpoint supports it. This can reduce the number of requests made within a short period.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;STRONG&gt;Rate Limiting Library&lt;/STRONG&gt;: Implement a rate-limiting library or function in your code to ensure you don't exceed the allowed rate. This can queue requests and release them at a controlled rate.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;STRONG&gt;Time-based Throttling&lt;/STRONG&gt;: Introduce delays between requests. For example, if you know you'll hit the limit, you can pause for a second or two to allow the rate limit to reset.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;STRONG&gt;Asynchronous Processing&lt;/STRONG&gt;: Use asynchronous processes to handle requests. This allows you to better manage the flow of requests and avoid hitting the rate limit.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;STRONG&gt;Error Handling and Retries&lt;/STRONG&gt;: Implement robust error handling to catch rate limit errors and retry the request after a delay. Most APIs return a specific error code when the rate limit is exceeded, which you can use to trigger a retry.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;STRONG&gt;Optimize Data Synchronization&lt;/STRONG&gt;: Review your synchronization logic to ensure that only necessary data is being synchronized. Reducing the amount of data can help lower the number of requests.&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;By combining these strategies, you should be able to manage your data synchronization more effectively and stay within HubSpot's rate limits.&lt;/P&gt;
&lt;P&gt;Hope this helps!&lt;/P&gt;</description>
      <pubDate>Tue, 09 Jul 2024 14:20:26 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/Rate-limits-API/m-p/1002803#M74861</guid>
      <dc:creator>TDwebdev</dc:creator>
      <dc:date>2024-07-09T14:20:26Z</dc:date>
    </item>
    <item>
      <title>Re: Rate limits API</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/Rate-limits-API/m-p/1004476#M74919</link>
      <description>&lt;P&gt;Hi Dylan,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Great suggestions from&amp;nbsp;&lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/175751"&gt;@TDwebdev&lt;/a&gt;&amp;nbsp;on methods you can implement to handle rate limits and to optimise within the rate limit envelope.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You mention 150 per second but I think you mean 150 per &lt;STRONG&gt;10&lt;/STRONG&gt; seconds, if you are implementing a private app in a Pro or Enterprise Hub. (&lt;A href="https://developers.hubspot.com/beta-docs/guides/apps/api-usage/usage-details" target="_blank" rel="noopener"&gt;See rate limits&lt;/A&gt;)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;We create public apps for HubSpot, which are limited even further to 100 per 10 seconds.&lt;/P&gt;
&lt;P&gt;If we ever exceed that rate we see 429 errors so we back off accordingly.&lt;/P&gt;
&lt;P&gt;Our certified apps must have less than 5% of API requests exceeding rate limits,&amp;nbsp;so it can be a challenge. HubSpot leaves it to the developer to improve the code to keep within rate limits.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Our main solution is a "token bucket" method, where we issue tokens to any parts of our application that need to call the HubSpot API. The app requests the number of tokens (API calls) coming up and our token bucket handler limits the number of tokens it issues per 10 seconds. This allows parallel processes that together remain within the envelope. As already suggested for item 2, you should implement a rate-limiting function and then optimise your data within that envelope.&lt;/P&gt;
&lt;P&gt;Optimising includes using batch requests and only syncing when the data requires it.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;best&lt;/P&gt;
&lt;P&gt;Pete&lt;/P&gt;</description>
      <pubDate>Thu, 11 Jul 2024 02:20:25 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/Rate-limits-API/m-p/1004476#M74919</guid>
      <dc:creator>HubDoPete</dc:creator>
      <dc:date>2024-07-11T02:20:25Z</dc:date>
    </item>
    <item>
      <title>Betreff: Rate limits API</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/Rate-limits-API/m-p/1014686#M75246</link>
      <description>&lt;P&gt;Hi Dylan,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;all good recommendations from our DevPartners which can be used as good example how to set things up. Another option, with a Price behind, would be our API Add-On which would increase the the amount to 200 / 10 Seconds on a call limit.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If its an another Web App for ERP, Invoice Tools etc. i would just Check out if our Marketplaces Apps can solve this for you? Many Native Integrations are already there, which should heavily decrease the workloard of API Calls.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best&lt;/P&gt;
&lt;P&gt;York&lt;/P&gt;</description>
      <pubDate>Tue, 23 Jul 2024 14:46:47 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/Rate-limits-API/m-p/1014686#M75246</guid>
      <dc:creator>York</dc:creator>
      <dc:date>2024-07-23T14:46:47Z</dc:date>
    </item>
    <item>
      <title>Re: Rate limits API</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/Rate-limits-API/m-p/1198987#M84253</link>
      <description>&lt;P data-start="0" data-end="91"&gt;Hi DGrumellon,&lt;/P&gt;
&lt;P data-start="0" data-end="91"&gt;I feel your pain two sources pushing at the same time can spike bursts fast.&lt;/P&gt;
&lt;P data-start="0" data-end="91"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P data-start="93" data-end="1064"&gt;A couple of concrete things that work reliably. First, treat HubSpot as one shared “token bucket” across both environments: put a single rate-limiter in front of every call and honor 429 + Retry-After so concurrent jobs never exceed the burst window.&lt;/P&gt;
&lt;P data-start="93" data-end="1064"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P data-start="93" data-end="1064"&gt;Since limits were recently raised (private apps now 190 calls/10s; with the capacity pack up to 250/10s), validate your portal’s ceiling and plan your queues to that exact number&lt;/P&gt;
&lt;P data-start="93" data-end="1064"&gt;(&lt;A href="https://developers.hubspot.com/changelog/increasing-our-api-limits" target="_blank"&gt;https://developers.hubspot.com/changelog/increasing-our-api-limits&lt;/A&gt; )&lt;/P&gt;
&lt;P data-start="93" data-end="1064"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P data-start="93" data-end="1064"&gt;Second, cut call volume with batch/object APIs: upsert in chunks, batch read with idProperty, and prefer search with larger page sizes to avoid record-by-record loops&lt;/P&gt;
&lt;P data-start="93" data-end="1064"&gt;(&lt;A href="https://developers.hubspot.com/docs/api-reference/crm-objects-v3/guide" target="_blank"&gt;https://developers.hubspot.com/docs/api-reference/crm-objects-v3/guide&lt;/A&gt; )&lt;/P&gt;
&lt;P data-start="93" data-end="1064"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P data-start="93" data-end="1064"&gt;If your sources can emit deltas, pair this with a “changed since last sync” strategy keyed on hs_lastmodifieddate&amp;nbsp;&amp;nbsp;to keep bursts flat. Quick question: are you on a private app and do you have the API Limit Increase pack enabled?&lt;/P&gt;
&lt;P data-start="93" data-end="1064"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P data-start="1066" data-end="1188"&gt;If consistency between HubSpot and your finance or ops system is the gap, Stacksync keeps them mirrored as changes happen.&lt;/P&gt;</description>
      <pubDate>Wed, 10 Sep 2025 16:00:08 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/Rate-limits-API/m-p/1198987#M84253</guid>
      <dc:creator>RubenBurdin</dc:creator>
      <dc:date>2025-09-10T16:00:08Z</dc:date>
    </item>
  </channel>
</rss>

