Email verification widget for web forms
Create a free accountPlans and credits
What it does
The widget checks the email typed in a form before it is submitted and shows a message ("This email is ok" / "This email is invalid"). It runs in the visitor's browser with a widget key that only works on the domain authorized for it, so it can be public in the page. Each verification uses one credit from the account.
Limits that protect the credits:
- each visitor IP can make 20 verifications per day per domain; after that the widget shows "You performed many validations";
- a widget key works only from its authorized domain (and
localhostfor testing) and is refused by the REST API and bulk endpoints.
For server-side verification (signup endpoints, imports), use the REST API with a normal API key instead: https://www.easyemailverification.com/agents.md
Step 1: create a widget key
- You need an Easy Email Verification account: https://dashboard.easyemailverification.com/register?utm_source=widget_guide (the free plan includes 50 verifications a day).
- In the dashboard, open Integration → Form Integration and click Create a new Form integration.
- Enter an Origin name (any label) and the Authorized domain: the domain of the website with the form, for example
example.com. - Copy the widget key from the list.
Step 2: add the script to the site
Paste this just before the closing </body> tag of every page that has the form, with your widget key and authorized domain:
<script type="text/javascript" src="https://dashboard.easyemailverification.com/form-assets/easy_v1.1.min.js"></script>
<script type="text/javascript">
easyObj = {
api_key: '<your widget key>',
domain_name: '<your authorized domain>',
valid_message: "This email is ok",
invalid_message: "This email is invalid"
};
EasyApi.init();
</script>
The widget key is meant to be in the page (it only works on the authorized domain). Never put a normal API key in browser code.
Step 3: make sure the email field is detected
By default the widget watches inputs with type="email" or name="email" (or id="email"). If the form uses other names, set the selectors in easyObj:
easyObj = {
api_key: '<your widget key>',
domain_name: '<your authorized domain>',
email_field: "input[type='emailx'], input[name='emailx']",
button_id: "button[type='submit'], input[type='submit']",
valid_message: "This email is ok",
invalid_message: "This email is invalid"
};
Step 4: test
Open the page on the authorized domain (or localhost), type an address you know and leave the field: the message appears under it. Then type an invalid one, such as john@gmial-invalid-domain.com.
If something isn't working
- "Origin is different from the authorized": the page is not on the authorized domain; fix the domain in Form Integration (or test on
localhost). - Nothing happens: the script must be after the form in the page, and the field must match
type="email",name="email"or theemail_fieldselector. - "You performed many validations": the 20-per-day limit for that visitor IP was reached.
- "Running out of your credit limit": plans at https://www.easyemailverification.com/en-US/pricing
Still stuck? Write to support@easyemailverification.com.
More ways to verify emails
- ActiveCampaign email verification
- Mautic email verification
- Zoho CRM email verification
- Check a single address for free
- All integrations
Using an AI assistant? It can follow this guide with you: give it widget.md.