This task can be performed using MailTester Ninja
Know which emails are real before you hit send, no credits needed
Best product for this task
MailTester Ninja
tech
Email verification that asks each mail server whether the mailbox is real, flags throwaway and catch-all addresses, stores nothing, and charges a flat weekly price.

Need to check addresses inside an app, AI agent, form, or automation? This guide shows how to connect MailTester Ninja through a GET endpoint, JSON responses, OpenAPI, npm, PyPI, or no-code tools, then verify that your completed setup reduces invalid addresses before sending.
Prepare your verification workflow
Before you write code, decide what should happen after each verdict.
- Choose the input source: a signup form, CRM export, CSV, agent action, or automation trigger.
- Define the acceptable results. For example, continue only with
deliverable, while reviewingdead,throwaway, andcatch-all. - Decide where the result will go. You might save it beside the address, return it to a form, or route it to a review step.
- Create a small test set containing a normal address, an invalid address, and any disposable or catch-all examples you are permitted to test.
MailTester Ninja asks the owning mail server whether a mailbox exists, without sending a message. It stores nothing and returns a plain verdict with a reason. This makes it suitable for applications that need a quick email verification API check before continuing.

Call the GET endpoint and inspect JSON
For a direct integration, use the MailTester Ninja GET endpoint described in your account instructions. Pass the address as the endpoint parameter, authenticate as required, and parse the JSON response.
A generic request pattern looks like this:
curl "https://mailtester.ninja/api/[email protected]"
Do not hard-code this example into production until you confirm the current endpoint path and authentication details in your MailTester Ninja account.
Your application should:
- URL-encode the email address.
- Send the GET request over HTTPS.
- Check the HTTP status before parsing the body.
- Read the verdict and reason from the email checker API JSON response.
- Store only the result your workflow needs.
Treat catch-all as uncertain rather than automatically deliverable. Also add a timeout, retry policy, and logging that excludes the full address where possible. A successful API response means the check completed, not that every address will convert or deliver.
Choose code, OpenAPI, or an SDK
If your team uses generated clients, import the supplied email verification OpenAPI definition into your API tool. It can help create request models and standardize the integration across services.
For JavaScript, use the MailTester Ninja email verifier npm package if it fits your runtime. Python teams can use the email verifier PyPI package, then wrap the request in a small function that returns a consistent internal object.
Your wrapper should expose fields such as:
{
"email": "[email protected]",
"verdict": "deliverable",
"reason": "mailbox accepted"
}
Keep the provider-specific response mapping inside that wrapper. This makes it easier to connect an email verification API for forms, an AI agent, or a backend queue without rewriting decision logic.
Connect forms, agents, and no-code tools
For a form, verify after submission and before adding the address to your mailing list. Show a clear correction message for malformed or dead addresses, and avoid exposing technical server details.
For an AI agent, define verification as a tool with one input, email, and a small set of allowed outputs. The agent should never claim an address is certain when the result is catch-all or otherwise inconclusive.
For no-code automation, connect the trigger to the GET request, parse the JSON, then branch on the verdict. This works as an email verification API for no code, including workflows built with Make. It can also serve as an email verifier Zapier alternative when your automation tool supports HTTP requests.
Verify the setup and monitor the outcome.
