Skip to content
Sign Up

Email Verification REST API

The NullBounce REST API enables real-time synchronous email validation directly in your registration forms, SaaS checkouts, webhook workers, and backend pipelines.


  1. Sign up for a free NullBounce account (includes 100 free test credits).
  2. Go to the API Keys page in your dashboard.
  3. Click Add API Key, enter a label (e.g. Production Backend), and copy your generated token.

All API requests must be transmitted over HTTPS. Authenticate by passing your secret key in the Authorization HTTP header with the Token prefix:

Authorization: Token YOUR_API_KEY
Content-Type: application/json
Accept: application/json

  • Standard throughput: Up to 10 requests per second (600 requests/minute).
  • If your application exceeds this threshold, the API responds with HTTP status code 429 Too Many Requests.
  • Need higher concurrency for massive streaming pipelines? Contact support for dedicated throughput provisioning.

By design, our verification endpoints do not allow cross-origin browser requests (CORS).


Verifies a single email address in real time via RFC syntax audit, DNS/MX check, and live SMTP mailbox handshake.

{
"email": "alex@company.com"
}
Terminal window
curl --request POST \
--url https://app.nullbounce.com/api/v1/validate/ \
--header 'accept: application/json' \
--header 'authorization: Token YOUR_API_KEY' \
--header 'content-type: application/json' \
--data '{"email": "alex@company.com"}'
{
"email": "alex@company.com",
"result": "Safe",
"status_text": "Valid",
"substatus_text": null,
"is_disposable": false,
"is_role": false,
"is_free": false
}
ParameterTypePossible ValuesDescription
emailStringEmail stringThe verified address normalized.
resultStringSafe, Invalid, Risky, UnknownFinal high-level verdict. Use this for instant binary accept/reject decisions.
status_textStringValid, Invalid, Catch-All, UnknownTechnical deliverability state from the MTA handshake.
substatus_textString / nullMailbox Not Found, No Smtp, etc.Granular rejection reason if deliverability failed.
is_disposableBooleantrue / falsetrue if domain belongs to a burner email service (e.g. Mailinator).
is_roleBooleantrue / falsetrue for departmental inboxes (info@, support@).
is_freeBooleantrue / falsetrue for consumer webmail (Gmail, Yahoo, Outlook.com).

You can test a live validation request right here (enter your API key and an email):


Returns the total remaining credit balance for your account.

Terminal window
curl --request GET \
--url https://app.nullbounce.com/api/v1/balance/ \
--header 'authorization: Token YOUR_API_KEY'

The response body contains an integer representing available verification credits:

432351

Status CodeReasonMeaning
200 OKSuccessThe request succeeded and returned a validation payload.
400 Bad RequestInvalid InputMalformed JSON or missing required email parameter.
402 Payment RequiredNo CreditsYour account credit balance is depleted. Top up in Plans & Upgrade.
403 ForbiddenInvalid TokenThe API token is invalid, revoked, or missing the Token prefix.
415 Unsupported TypeWrong HeadersRequest header Content-Type must be application/json.
429 Too Many RequestsRate LimitYou exceeded 10 requests/second. Implement exponential backoff.
500 Server ErrorInternal ErrorUnexpected server failure. Retry the request with backoff.

Automating without code? You can connect NullBounce directly to your CRM, web forms, and Google Sheets using our official verified community node in n8n.
👉 Explore the n8n Integration Guide