Usage Monitoring & Limits

Notify includes built-in usage monitoring and rate limiting to help you track and manage your email sending activity.

Viewing Usage Information


Dashboard

The Notify Dashboard provides a visual overview of your usage, including:

  • Current usage vs. limits
  • How much you're paying this month
  • Time until rate limit resets

API

You can also check your usage programmatically:

curl -X GET https://notify.cx/api/public/v1/usage \
  -H "x-api-key: your_api_key"

Response

{
  "success": true,
  "data": {
    "email_send_per_hour": {
      "limit": 100,
      "used": 73,
      "resets_in": 1680
    },
    "emails_sent_this_month": {
      "limit": 5000,
      "used": 4432,
      "resets_on": "2025-04-30T23:59:59Z"
    }
  }
}

Understanding Rate Limits


Notify applies rate limits at several levels:

  1. Monthly Email Limit: Total emails you can send each calendar month
  2. Hourly Email Limit: Maximum emails per hour (prevents sudden spikes)

Rate limits vary by plan tier. Check the pricing page for details about your plan's limits.

Rate Limit Headers


All API responses include rate limit information in the headers:

HeaderDescription
X-RateLimit-LimitTotal email limit for the current month
X-RateLimit-RemainingNumber of emails remaining for the current month
X-RateLimit-ResetUnix timestamp when the monthly rate limit will reset

These headers provide a convenient way to check your limits without making a separate API call.

Managing Your Usage


To avoid hitting limits unexpectedly:

  1. Monitor your usage regularly via the dashboard or API
  2. Set up alerts to notify you when you reach certain thresholds (e.g., 80% of monthly limit)
  3. Spread bulk sending over time to avoid hourly rate limits
  4. Plan for scale by upgrading your plan before hitting limits

Upgrading Limits


If you need higher limits:

  1. Visit the pricing page to upgrade to a higher tier
  2. For custom volume requirements, contact hello@notify.cx

Handling Rate Limit Errors


If you exceed your rate limits, the API will return a 429 (Too Many Requests) status code:

{
  "success": false,
  "error": "Monthly email limit exceeded",
  "code": "MONTHLY_LIMIT_EXCEEDED"
}

Your application should handle these errors gracefully by:

  1. Detecting the 429 status code or specific error code
  2. Implementing a backoff strategy or queuing system
  3. Resuming sending when limits reset