Amazon SES Blog

All about SES daily quota

by Samuel Minter | on | in How-To* | Permalink | Comments |  Share

Every SES account has a quota limiting the number of messages that can be sent daily. Here are some of the most common questions we hear about this quota:

Why do you have a daily quota?

Quite simply, the daily quota is a mechanism to limit the potential damage if an account starts sending spam. Even if you have a long-established history of permitted sending, it is not impossible for something to happen (say, a compromised account) that would result in unpermitted sending from your account. So we want to make sure each customer has enough room to send the email they want to send, yet cap it to prevent sending problems from getting out of control.

How do I tell what my quota is?

Brand-new accounts in the sandbox have a quota of 200 messages per day. Once you have asked for and been granted production access, the default quota is 50,000 messages per day, which is more than enough for most of our customers. After you have been successfully sending awhile, or if you ask for and are granted an increase, your quota may be higher. To check your quota at any time you can check the SES console or use our GetSendQuota API.

Is my daily quota related to my TPS limit?

Yes. While there is no specific mathematical relationship between a daily quota and TPS limit, we raise these limits in tandem, because a higher daily quota generally needs to be supported by a higher TPS. There are some use cases that require a high TPS that do not need a high daily quota, but if we raise one, we will raise the other as well.

When does my daily quota reset?

It doesn’t. “Daily” in this case does not mean midnight to midnight in your time zone, or any time zone. It is a rolling 24-hour period. We’re always looking at the 24 hours immediately prior to the current moment. If during that time you have sent less than your quota, you can send more, up to whatever you have left of your quota. If you have already sent your full allowed amount, you can’t send more until some of that sending “rolls off” of the 24-hour window.

What happens if I keep sending after I’ve used up my quota?

If you have exceeded your quota, any additional attempts to send will result in an error. You should be watching for these errors and, if appropriate, retrying your send after some of your sending has rolled off the 24-hour window and you have quota available for more sending. Details of the errors that are returned can be found here.

If I copy lots of people in one message, does this count as one or many?

The quota limit is based on the number of recipients, not the number of emails. So if you send a single email to 50 addresses, it counts as 50 toward your quota, not as one.

Are there specific quota levels?

Generally we set quotas at nice even numbers like 50,000. You might occasionally see a quota that isn’t a round number, but it is nothing to worry about, and is usually just a transitional state as your quota is adjusting upward.

How do I increase my quota?

After you have been sending awhile, under certain circumstances our system will detect that you may need more quota and will start increasing your quota automatically. If however your current quota is less than you need or anticipate needing shortly, then you should not wait for an automatic adjustment, you should submit a request for an increased quota here. Your request will be reviewed and we will get back to you within one business day… usually less. Make sure to include as much information as possible about your use case, what you intend to do with the quota, and why you need the specific amount requested. (Don’t just ask for a huge number because you don’t want to deal with limits.) You are asking us to trust you to responsibly use the higher quota, so the more detail you give us, the better we can understand what your needs are as we evaluate your request. If you don’t already have a long history of good sending with us, or you are asking for a really large increase over your existing quota, this becomes especially important. Because each user is different we will evaluate each request on a case-by-case basis.