Disposable
Temporary or throwaway email infrastructure.
Sign up, create a key in Settings, and send your first domain check.
curl -X POST 'https://disban.io/api/check' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"input":"mailinator.com"}'
Follow the agent quickstart → · OpenAPI schema · llms.txt
Responses include email, normalized_email, domain, domain_age_in_days, mx, mx_records, and the classification evidence. Email values are echoed only to the requester; history remains domain-only. Local-part case is preserved.
Uncollected signals return null: domain_authority, mx_providers, spf, dmarc, free_subdomain, role_account, spam, and did_you_mean. MX priorities also remain null until collected. A null disposable flag means unresolved, never clean. Public-domain and relay flags are true on positive matches and otherwise null. MX describes explicit mail exchangers; absent MX can still permit implicit SMTP routing.
Act on category, then inspect reason and
matched_on. Unknown means insufficient evidence, not
verified safety. Alias services remain a distinct category even if the
upstream checker's legacy disposable flag is true.
Temporary or throwaway email infrastructure.
A recognized consumer email provider.
A forwarding or privacy relay service.
Mail infrastructure for development and testing.
Infrastructure associated with domain parking.
Not enough evidence to assign another category.
Read mail_routing separately: invalid means no current public mail route; unknown means pending or unavailable verification. A routable domain does not prove a mailbox exists. Cold or expired routing checks wait up to 2.5 seconds. If verification cannot finish, the API returns HTTP 503 with code verification_unavailable and a Retry-After delay based on the cached DNS retry deadline (five seconds when no deadline is available). It does not return a successful pending verdict, charge a credit, or save a successful history entry. Batch failures include status 503 per entry. Retry with backoff and a bounded deadline. Previously inactive domains require review before an old disposable verdict can apply again.
Send {"inputs":["gmail.com","mailinator.com"]} to
POST /api/batch with the same Bearer header. Accepts up to
50 entries and returns results in input order. A failed lookup has an
error field; it is not a clean verdict.
400 Invalid input. Correct the domain or request body.
401 Missing, invalid, or revoked API key.
415 Send JSON with the application/json content type.
502 Upstream lookup failed. Retry transient errors.
GET /api/subscription with your Bearer key returns your plan, remaining monthly checks, and UTC reset time. A 429 response includes Retry-After. Each successful domain check costs one credit, including cache hits and batch entries. Failed checks are refunded. Changing plans preserves usage.
Call the API from your server. Store keys in environment variables, never in browser code. Each key belongs to one account. Revoke unused keys in Settings; revocation takes effect on the next request.
This is a local preview. The disban.io website and api.disban.io endpoint have not been deployed. Use the local URL above while testing.