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:
- Monthly Email Limit: Total emails you can send each calendar month
- 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:
Header | Description |
---|---|
X-RateLimit-Limit | Total email limit for the current month |
X-RateLimit-Remaining | Number of emails remaining for the current month |
X-RateLimit-Reset | Unix 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:
- Monitor your usage regularly via the dashboard or API
- Set up alerts to notify you when you reach certain thresholds (e.g., 80% of monthly limit)
- Spread bulk sending over time to avoid hourly rate limits
- Plan for scale by upgrading your plan before hitting limits
Upgrading Limits
If you need higher limits:
- Visit the pricing page to upgrade to a higher tier
- 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:
- Detecting the 429 status code or specific error code
- Implementing a backoff strategy or queuing system
- Resuming sending when limits reset