Rate Limit being hit and status code 429 returned. anyone hitting it without making 10000 calls?

Hi All,
My script has been working for a small number of data points incoming and being processed by my script. However, once that number scaled, I started to get back status code 429 from the Pipedrive API.
My script doesn’t get near the 10,000 requests/day limit. So it must be the 20 requests per second limit that is being hit.

In this case, the advice would be to add a wait() mechanism or has anyone had other methods?

And why does it seem to be cumulative? I am pretty sure I did not hit the 20 requests per second in any given 20 seconds but maybe over the course of an hour, the requests per second average out to higher than 20 requests per second?