Guides
Plans and limits
Understand free quota, paid pricing, per-email usage, and request limits. All plans use api.irondome.dev.
On this page
All plans use https://api.irondome.dev and the same check request and response. The server applies your account's current plan after policy publication. Your unified account key stays the same when you upgrade or downgrade.
Plans
| Plan | Allowance or price | Usage view |
|---|---|---|
| Free | 500 successful checks per UTC calendar month | Free usage API and dashboard |
| Pay as you go | $1 per 1,000 successful checks | Usage and billing |
Confirm paid access and billing status in your account before enabling paid production traffic. See manage your plan.
What counts as a check
Each successfully classified email consumes one unit, including disposable results and repeated checks of the same address.
For bulk requests, count successful items, not HTTP requests. A batch with 80 classified addresses and 20 invalid strings consumes 80 checks. Invalid items consume no units.
Health requests consume no checks. Reading usage does not classify an address. A timeout can occur after a check has completed and consumed usage.
Free quota
The allowance is shared across the organization's keys and free-plan integrations. Another key or Supabase installation does not create another allowance. It resets at 00:00 UTC on the first day of each calendar month.
Usage and quota policy update asynchronously. Recent checks can take time to appear, and concurrent traffic can take recorded usage above 500. This is not an atomic reservation or a guaranteed hard cutoff. Displayed remaining usage is an estimate.
An account whose policy reports exhaustion receives HTTP 429 monthly_quota_exceeded. Wait for reset or explicitly arrange paid access. A quota failure does not silently become a billable check.
Bulk admission is checked for the batch. The service does not shorten it to fit the displayed remaining allowance. Do not use concurrency or large batches to evade quota policy.
Request limits
| Operation | Limit |
|---|---|
| Single check | One email string; 1,024-byte UTF-8 JSON body |
| Bulk check | 1–100 emails strings; 65,536-byte UTF-8 JSON body |
| Body framing | Known-length body with Content-Length |
Only documented fields are accepted. See single checks, bulk checks, and errors.