API ERROR "Quota Exceeded" "Request Throttled"

I keep getting this error on Keap when I make a single api key. It worked a few times running it as a script but when I run it on my local server it gives me this error:

{‘code’: ‘429’, ‘message’: ‘Quota Exceeded’, ‘status’: ‘Request Throttled’, ‘details’: None}

Can someone please help this is quite urgent because my new customers need a reliable system to receive emails & updates

I am using Keap Max Classic

Thank you.

Good morning!

That message indicates that you are sending requests too quickly to our APIs. If you are using a Service Account Key or Personal Access Token for your requests do note that the limits are lower than if you follow our OAuth2 Access Code flow.


Hi @TomScott ,

We’re using the service token to write a form to the leads area. We have a sleep(1) before every call and we still get intermittent 429s. We’re trying to understand if we have 5 queries per second, why this would happen?

For transparency into the precise mechanism the throttle is controlled by a SpikeArrest policy in our proxy.

We are using a configuration property of UseEffectiveCount=true that allows for “bursty” traffic, with the Rate=5ps for Service Account Keys.

@TomScott Still doesn’t understand why we would hit 5 requests per second when we are not. Maybe it queues on your end?

We are rebuilding everything to log our form into a local DB, and then every minute do our API work, with 5 seconds between every call, and wait another minute to do the next one.

If you could help me further clarify what we may be missing, that would be great.

I’m not sure why you would be seeing any performance below the 5ps mark that we have configured, unless you are consuming the same key via multiple threads simultaneously. I would recommend logging the headers that are returned on each call to see exactly how fast you are consuming call quotas.