Quickstart
Signitize checks the email address a user types into your signup form, before you create the account. One request returns three fields:
| Field | Problem it solves |
|---|---|
email | One account per inbox. The canonical email: every alias of one inbox gives the same value. |
disposable | No throwaway signups. true for temporary and throwaway mail domains. |
deliverable | No mistyped or made-up addresses. false when the address can never receive mail. |
1. Get an API key
- Click Get API key at the top of this page, or go to Pricing and pick a plan.
- Enter your name and email. We send you a one-time link.
- Open the link and click Reveal my API key. Copy the key right away: it is shown only once and we do not store it.
Keys look like sk_live_7Hq2LmX9pR4tVb8Kc1NwZ3yF6dJs0GaE5uQoWiTn. Keep yours on your server, for example in an environment variable called SIGNITIZE_API_KEY. Never ship it in browser or mobile app code.
2. Make your first request
Send the address to POST https://api.signitize.io/v1/check:
- cURL
- Node.js
- Python
curl https://api.signitize.io/v1/check \
-H "Authorization: Bearer $SIGNITIZE_API_KEY" \
-H "Content-Type: application/json" \
// Node.js 18+ (built-in fetch)
const response = await fetch('https://api.signitize.io/v1/check', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.SIGNITIZE_API_KEY}`,
'Content-Type': 'application/json',
},
signal: AbortSignal.timeout(5000),
})
const body = await response.json()
console.log(response.status, body)
// 200 { email: '[email protected]', disposable: false, deliverable: true }
import os
import requests
response = requests.post(
"https://api.signitize.io/v1/check",
headers={"Authorization": f"Bearer {os.environ['SIGNITIZE_API_KEY']}"},
timeout=5,
)
body = response.json()
print(response.status_code, body)
# 200 {'email': '[email protected]', 'disposable': False, 'deliverable': True}
3. Read the response
emailis the canonical email. Store it in a unique column of your users table.disposable: truemeans a throwaway domain. Reject the signup.deliverable: falsemeans the address can never receive mail. Ask the user to fix it.
Then send your usual verification email to the address the user typed, not to email.
:::danger Before you go live
If Signitize is slow or down, your signup must still succeed. Use a 5-second timeout, create the account as pending when Signitize doesn't answer, and recheck it later: Never block a signup.
:::
Next steps
- Never block a signup: keep your signup working during outages, and recheck those users afterwards. Read this before launch.
- Check an email: the fields, examples and how to use the result in your signup flow.
- Rate limits & usage headers: the monthly quota, the per-second limit and what counts as a check.
- API reference: try the API live from your browser with your key.