getting started
Test addresses
Reserved test.isbusinessemail.com addresses return fixed results with no key and never count toward quotas. Use them in docs, CI and smoke tests.
Every address below returns a fixed, predictable result. They need no API key and are never counted toward any quota, so they’re safe in CI, smoke tests, demos and documentation.
| Address | category |
recommendation (b2b) |
What’s special |
|---|---|---|---|
business@test.isbusinessemail.com |
business |
allow |
A plain company address |
personal@test.isbusinessemail.com |
personal |
block |
Shared-domain provider, is_free_provider: true |
disposable@test.isbusinessemail.com |
disposable |
block |
is_disposable: true |
relay@test.isbusinessemail.com |
relay |
block |
is_relay: true |
education@test.isbusinessemail.com |
education |
allow |
is_business: true |
invalid@test.isbusinessemail.com |
invalid |
block |
Can’t receive mail |
unknown@test.isbusinessemail.com |
unknown |
review |
Too little evidence to decide |
m365@test.isbusinessemail.com |
business |
allow |
Microsoft 365 detected, auth: "federated" via Okta, with a placeholder tenant ID |
workspace@test.isbusinessemail.com |
business |
allow |
Google Workspace detected |
blocked@test.isbusinessemail.com |
any | block |
is_blocked: true: blocked under every policy, whatever the category |
role@test.isbusinessemail.com |
business |
review |
info@-style role account, is_role_account: true |
Examples
# No key needed
curl -sG https://api.isbusinessemail.com/v1/check \
--data-urlencode "email=m365@test.isbusinessemail.com"
# Same thing with POST, as you'd call it in production
curl -s https://api.isbusinessemail.com/v1/check \
-H "Content-Type: application/json" \
-d '{"email":"role@test.isbusinessemail.com"}'
Test addresses also work when you send a key, so your production code path can be tested end to end without spending quota.
A CI smoke test
#!/usr/bin/env bash
set -euo pipefail
api=https://api.isbusinessemail.com/v1/check
expect() {
local email=$1 want=$2
got=$(curl -sf "$api" -H "Content-Type: application/json" \
-d "{\"email\":\"$email\"}" | jq -r .recommendation)
[[ "$got" == "$want" ]] || { echo "FAIL $email: got $got, want $want"; exit 1; }
echo "ok $email → $got"
}
expect business@test.isbusinessemail.com allow
expect personal@test.isbusinessemail.com block
expect disposable@test.isbusinessemail.com block
expect unknown@test.isbusinessemail.com review
Unit tests for your signup logic
Use the test addresses to cover every branch of your own code: allow, review, block, did_you_mean, Workspace vs Microsoft 365 connector pre-selection. For failure paths (timeouts, 429, 5xx), mock the HTTP client; test addresses always succeed.