Skip to content

Limits & Plans โ€‹

Fresh ๐ŸŒฑ

AgentMail is built for high-volume agent workflows. Limits vary by plan.

Sending limits by plan โ€‹

PlanEmails per monthInboxesCustom domains
Free3,0003None
Developer10,0001010
Startup150,000150150
EnterpriseCustomCustomCustom

API rate limits โ€‹

All API endpoints are rate-limited per API key. Exceeding the limit returns 429 Too Many Requests with a Retry-After header indicating how long to wait.

Retry pattern (exponential-ish backoff honoring Retry-After):

typescript
async function sendWithRetry(client, inboxId, params, maxRetries = 3) {
  for (let attempt = 0; attempt < maxRetries; attempt++) {
    try {
      return await client.inboxes.messages.send(inboxId, params);
    } catch (error) {
      if (error.statusCode === 429 && attempt < maxRetries - 1) {
        const retryAfter = parseInt(error.headers?.["retry-after"] || "5");
        await new Promise((r) => setTimeout(r, retryAfter * 1000));
      } else {
        throw error;
      }
    }
  }
}

Deliverability strategy at scale โ€‹

  • Spread volume: sending 10 emails across 100 inboxes beats 1000 from one inbox.
  • Register multiple custom domains and split volume across them.
  • Warm new domains and inboxes gradually before ramping volume.