Skip to main content

Hi.

 

We are getting KlaviyoLimitError even though we can see that the usage is 95% of the plan.

 

Thanks.

Hello @bikashlama,

Thank you for sharing your question with the Klaviyo Community.

First, can you confirm if your send would put you over your sending limit for the month for your plan?

If not, can you send screenshots of the error you are receiving exactly? This will give us a better idea of how to resolve the issue you are describing.


Hi @dov.derin

Below is the our usage data.

 

And this is the error that we get.

 

"message":"Request failed with status code: 429","stack":"KlaviyoRateLimitError: Request failed with status code: 429

 

Thanks.


Hi @bikashlama,

Thanks for sharing that information. 

Can you confirm if you are seeing this error when you are sending a flow or campaign or both? If you are sending a campaign, how many recipients are included in that campaign send? Lastly, where in the Klaviyo UI are you  seeing this notification exactly?

 


Hi @dov.derin,

We are seeing this error when we are using klaviyo api to add user to klaviyo. This is how we are adding users to klaviyo. We are using klaviyo’s node-klaviyo module

await klaviyoClient.public.identify({
		email: data.email,
		properties: {
			$first_name: data.firstname,
			$last_name: data.lastname,
			$country: data.country,
			$phone_number: data.phone
		}
	});

The error that I posted is from our logs. But not from the Klaviyo UI.

 

Sorry, if I didn’t make things clear in the beginning.


Hello @bikashlama,

The error message you highlighted of "message":"Request failed with status code: 429","stack":"KlaviyoRateLimitError: Request failed with status code: 429 seems to show a rate limit error. 

Each API enforced its own different rate limit. Despite hitting this, you should be able to locate a 'retry-after' in the response which would indicate when you can make the next request.

Hope this helps! Have a great day!

David


Thanks @david.to . We will handle this error and delay the request for any which will be returned back with this response.


Hi @david.to ,

 

Sorry to come back to you again. :)

 

While I was reading the documentation at first I see this,

 

We’ve architected Klaviyo to make it easy to push data to us and use that data with ease and without limitation.

 

https://help.klaviyo.com/hc/en-us/articles/360038289052-Using-Data-in-Klaviyo#apis5

 

However, it also says that it has limitation of 350 requests per second:

Klaviyo's Track and Identify APIs have a recommended limit of 350 requests per second - since our rate-limits are elastic, we do not publish a hard-limit. For our REST APIs (all APIs that are not Track or Identify) we provide a timestamp for when the next request will be accepted in rate-limit API responses to make it easy to efficiently retry if you do hit a limit.

 

And the node package that we are using https://www.npmjs.com/package/node-klaviyo uses the REST APIs. So, before I start exploring other options, could you recommend if there is any other alternative without limitation or it’s just the same whichever approach we follow.

 

Thanks.


Hey @bikashlama,

It would actually be the same with whatever approach you decide to take. All of Klaviyo’s endpoints have a rate limit and there wouldn’t be a way around this. 

David


Reply