# Welcome

Real-time data quality engine for GTM workflows

Welcome to the official Clearout documentation.

Clearout is a <mark style="color:$primary;">**real-time data quality engine**</mark> that helps sales, marketing, customer success, product, and operations (Go-To-Market) teams maintain their **contact data in a clean, accurate, and conversion-ready state**. It offers:

* Email verification at scale to **protect deliverability**, reduce bounces, and improve data hygiene
* **Discovering verified professional** email addresses with confidence.
* To build targeted prospect lists enriched with **pre-verified contact data**
* Real-time **form validation** for **email, phone, and name fields** to capture legitimate and intended leads while preventing spam, bots, and fake submissions.
* Power your workflows with rapid, **scalable REST APIs** and SDKs

This documentation is the **single source of truth** for setting up, integrating, and scaling your GTM workflows.

<h3 align="center"><strong>Where would you like to get started</strong>?</h3>

<p align="center">Over 100K businesses of all sizes trust our real-time and bulk data quality services.</p>

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="image">Cover image</th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Getting Started</strong></td><td>Set up your Clearout account, generate an API key, and verify your first email list or form submission</td><td><a href="/files/nQgWLF0I4osClY7B295Y">/files/nQgWLF0I4osClY7B295Y</a></td><td><a href="/pages/TokVO1xgRrreSNqEkL7A">/pages/TokVO1xgRrreSNqEkL7A</a></td></tr><tr><td><strong>Developers</strong></td><td>Integrate Clearout APIs to validate emails, protect forms, and automate real-time data quality checks.</td><td data-object-fit="cover"><a href="/files/87lEpgN43Kp2w1DtlRdj">/files/87lEpgN43Kp2w1DtlRdj</a></td><td><a href="/pages/k6Grq51Lbpjg4Lj5Sql1">/pages/k6Grq51Lbpjg4Lj5Sql1</a></td></tr><tr><td><strong>Integrations</strong></td><td>Connect Clearout with HubSpot, GoHighLevel, Zapier, and more to validate and clean data automatically.</td><td><a href="/files/hvfZiacPasVhuEgiMxNv">/files/hvfZiacPasVhuEgiMxNv</a></td><td><a href="/pages/XDZuQbWdnO0yFGBG1gT6">/pages/XDZuQbWdnO0yFGBG1gT6</a></td></tr><tr><td><strong>Email Verifier</strong></td><td>Verify email addresses in real time or in bulk to reduce bounces and protect sender reputation.</td><td><a href="/files/1uxZ5jTfVNUnMIee6zK9">/files/1uxZ5jTfVNUnMIee6zK9</a></td><td><a href="/pages/cebcsfR6Y1HeVzxhRk7r">/pages/cebcsfR6Y1HeVzxhRk7r</a></td></tr><tr><td><strong>Email Finder</strong></td><td>Find verified B2B email addresses to improve outreach accuracy and response rates.</td><td><a href="/files/IPyM0xCTFGs0Xq42HDOS">/files/IPyM0xCTFGs0Xq42HDOS</a></td><td><a href="/pages/u73SMGFU3ChmJ2Fftnbk">/pages/u73SMGFU3ChmJ2Fftnbk</a></td></tr><tr><td><strong>Form Guard</strong></td><td>Block fake leads, bots, and spam by validating email, phone, and name fields at form submission.</td><td><a href="/files/idhizr1jNuMiDngmWgIX">/files/idhizr1jNuMiDngmWgIX</a></td><td><a href="/pages/rXGOw2nHnrFS098BfLhM">/pages/rXGOw2nHnrFS098BfLhM</a></td></tr><tr><td><strong>Data Pulse</strong></td><td>Monitors and verifies email, phone, and name in real time for every new CRM contact, and syncs the enriched data back to the contact record</td><td><a href="/files/iMaHTHd5HRBniSdODMxY">/files/iMaHTHd5HRBniSdODMxY</a></td><td><a href="/pages/jfbeEA94CJg1FV89ly09">/pages/jfbeEA94CJg1FV89ly09</a></td></tr><tr><td><strong>Prospecting</strong></td><td>Build targeted prospect lists from LinkedIn with verified email addresses.</td><td><a href="/files/y8JUkgfhTKm5YapYVqrL">/files/y8JUkgfhTKm5YapYVqrL</a></td><td><a href="/pages/toAbAI2GSLuXUlLdMS1X">/pages/toAbAI2GSLuXUlLdMS1X</a></td></tr><tr><td><strong>Reverse Lookup</strong></td><td>Identify the company and contact details from an email address or LinkedIn URL using real-time reverse lookup.</td><td><a href="/files/L7ZOq8695zI9Mxoqu9AA">/files/L7ZOq8695zI9Mxoqu9AA</a></td><td><a href="/pages/hFwubgKNa6SeNljpne3c">/pages/hFwubgKNa6SeNljpne3c</a></td></tr><tr><td><strong>Clearout For Google Sheets</strong></td><td>Verify and clean email lists directly inside Google Sheets using the Clearout add-on.</td><td><a href="/files/vahqE57UtQkZSAqty3dl">/files/vahqE57UtQkZSAqty3dl</a></td><td><a href="/pages/56hVHTNzIHkfNvon7IrS">/pages/56hVHTNzIHkfNvon7IrS</a></td></tr><tr><td><strong>Clearout WordPress Plugin</strong></td><td>Validate email addresses on WordPress forms in real time using popular form plugins.</td><td><a href="/files/OnfcbfWMWJhu53nhhNNB">/files/OnfcbfWMWJhu53nhhNNB</a></td><td><a href="/pages/ebwvCK7Yi1GszmQDdE4P">/pages/ebwvCK7Yi1GszmQDdE4P</a></td></tr><tr><td><strong>Webhooks</strong></td><td>Receive real-time notifications for email verification, email finder, and Form Guard</td><td><a href="/files/AUYB4tuSDyVEFY6Ra2UF">/files/AUYB4tuSDyVEFY6Ra2UF</a></td><td><a href="/pages/VsoNlUaqyzIHVNuuiwUS">/pages/VsoNlUaqyzIHVNuuiwUS</a></td></tr><tr><td><strong>Support</strong></td><td>Get help with account setup, integrations, API usage, or product-related questions via email or chat support.</td><td><a href="/files/lAkBKUicgw7rpAcqJ7kJ">/files/lAkBKUicgw7rpAcqJ7kJ</a></td><td><a href="/pages/0jlzgf9SAHol1YbrmY32">/pages/0jlzgf9SAHol1YbrmY32</a></td></tr></tbody></table>

***


# Overview

Get started with Clearout platform features

Watch the quick start video below for a step-by-step guide on using Clearout's platform features.

You’ll learn how to:

* Create a [free Clearout account](https://app.clearout.io/dashboard/overview)
* Understand the core products
* Run your first email verification or enrichment activity

{% embed url="<https://www.youtube.com/watch?feature=youtu.be&v=RefIFTaYnDE>" %}
Get Started with Clearout
{% endembed %}


# Products

The Clearout Platform Tool Suite: An Overview

Clearout's platform offers multiple products designed to work **independently or together**. With unmatched accuracy, speed, and ease, these platform tools will elevate your GTM efforts.

{% columns %}
{% column width="50%" %}

<h3 align="center"><a href="/pages/UBVIEd2fHcFnYuzcAM4c">Email Verifier</a></h3>

* Goes beyond advance to deep check by resolving **catch-all emails and reducing unknown** results&#x20;
* Clearly democratize **risky, safe-to-send** email addresses&#x20;
* **Built for speed and scale**, supports bulk lists, real-time instant API verification, Webhooks
* Helps **protect sender reputation** and improve campaign performance

<a href="/pages/5k88Rqjq25suXZxHsbej" class="button secondary">Bulk Validation</a><a href="/pages/30b386ddb6cfa13c4acec0d77478f79d5f845734" class="button secondary">Real-time API</a>
{% endcolumn %}

{% column width="50%" %}
{% hint style="info" %}
Multi-layer checks to ensure high accuracy and deliverability

![clearout email verifier](/files/uXi07GSQ63EJSgsCMfRE)
{% endhint %}
{% endcolumn %}
{% endcolumns %}

***

{% columns %}
{% column width="50%" %}
{% hint style="info" %}
Accurate email discovery for reliable outreach at scale

![clearout email finder](/files/mBpTFjTEXQuMc0pruauW)
{% endhint %}
{% endcolumn %}

{% column width="50%" %}

<h3 align="center"><a href="/pages/a44DRk1XpErz32tDeRa9">Email Finder</a></h3>

* Discovers **business email addresses** using a name, domain, and/or company&#x20;
* **Results are pre-verified** and assigned a Confidence Score to indicate match accuracy
* Supports **large-scale bulk finding** with confidence level filtering

<a href="/pages/XMWueJswyPkdDaXaqQVk" class="button secondary">Bulk Finder</a><a href="/pages/7b22d5e21f842be901bf681c46a3ffd0b7aa734c" class="button secondary">Real-time API</a>
{% endcolumn %}
{% endcolumns %}

***

{% columns %}
{% column width="50%" %}

<h3 align="center"><a href="/pages/1zijW7iY0Gb9kcsmhgmz">Form Guard</a></h3>

* Block **spam, bots, and disposable** emails at the source
* Prevent **invalid or bad** contact data entering your forms
* **Provide real-time form validation** for higher-quality leads
* Support **email, phone, and name** field validation

<a href="/pages/1zijW7iY0Gb9kcsmhgmz" class="button secondary">Real-time protection</a>

{% endcolumn %}

{% column width="50%" %}
{% hint style="info" %}
Real-time protection against fake and invalid form submissions

![clearout form guard](/files/Y2TmG37XgZPw9wVyWXVI)
{% endhint %}
{% endcolumn %}
{% endcolumns %}

***

{% columns %}
{% column width="50%" %}
{% hint style="info" %}
Know your contacts reachability the moment they enter your CRM.

![](/files/Lb61bJRnhR56FNO3nL30)
{% endhint %}
{% endcolumn %}

{% column width="50%" %}

<h3 align="center"><a href="/pages/rmkM9o8vFa2yVeSRtqzD">Data Pulse</a></h3>

* **Real-time verification** - email, phone, and name checked the moment a contact is created
* **Automatic write-back** - results appended to the contact record as Clearout properties
* **Auto-pause and Smart resume** - pauses at zero credits, resumes on replenishment
* **Weekly report and insights** - data quality trends delivered to your inbox

<a href="/pages/rmkM9o8vFa2yVeSRtqzD" class="button secondary">Start Continues Monitoring</a>
{% endcolumn %}
{% endcolumns %}

***

{% columns %}
{% column width="50%" %}

<h3 align="center"><a href="/pages/GR2Ob6DzHhMxuCNnOGet">Prospecting</a></h3>

* **Find, enrich, and verify** prospects at scale with the source you can trust
* Create **high-quality prospect lists** for outbound teams
* Combines **email discovery, verification, and enrichment** into a single workflow
* Export **prospect data to Google Sheets** or as CSV

<a href="/pages/GR2Ob6DzHhMxuCNnOGet" class="button secondary">Bulk Enrich</a>
{% endcolumn %}

{% column width="50%" %}
{% hint style="info" %}
Build targeted prospect lists with verified contact data

![clearout prospecting](/files/SZN6ueR7kxLSDaytbg7q)
{% endhint %}
{% endcolumn %}
{% endcolumns %}

***

{% columns %}
{% column width="50%" %}
{% hint style="info" %}
Streamline Lead Generation with Our Reverse Lookup![clearout reverse lookup](/files/Cj8ebKdvMFDkyZGHNLwz)
{% endhint %}
{% endcolumn %}

{% column width="50%" %}

<h3 align="center"><a href="/pages/hFwubgKNa6SeNljpne3c">Reverse Lookup</a></h3>

* Identify prospects using **email, or LinkedIn URL**
* Enrich contacts with **verified professional data**
* **Reveal decision-makers** behind anonymous leads
* Convert limited inputs into **actionable prospect profiles**
* Export enriched data to **Google Sheets or CSV**

<a href="/pages/64rOnOZ6jAfGMpCUtlKb" class="button secondary">Email Lookup</a><a href="/pages/UoAtHWnLTFyUwhBq8hUH" class="button secondary">LinkedIn Lookup</a>
{% endcolumn %}
{% endcolumns %}


# Use Cases

How GTM teams use Clearout to turn contact data into actionable results

Clearout helps growth, sales, and recruiting teams maintain clean data, effective outreach, and conversion-ready pipelines.&#x20;

<p align="center"><strong>Explore how different teams use Clearout</strong></p>

<table><thead><tr><th>Team / Role</th><th width="187">Clearout Products Used</th><th>Primary Use Case</th><th>Business Value</th></tr></thead><tbody><tr><td><p><strong>Email Marketers</strong></p><p></p><p><mark style="color:$primary;">Best fit for:</mark> Newsletter teams, lifecycle marketers, outbound email campaigns</p></td><td><ul><li>Bulk Email Verifier</li><li>Form Guard</li><li>Reverse Lookup</li></ul></td><td>Validate campaign lists, block fake signups, and protect sender reputation</td><td>Higher inbox placement, lower bounce rates, improved campaign ROI</td></tr><tr><td><p><strong>Sales Teams</strong></p><p></p><p><mark style="color:$primary;">Best fit for:</mark> SDRs, BDRs, outbound sales teams</p></td><td><ul><li>Email Finder</li><li>Prospecting</li><li>Email Verifier</li></ul></td><td>Find verified buyer emails and launch clean outbound campaigns</td><td>Higher reply rates, faster pipeline movement, and less time wasted on bad leads</td></tr><tr><td><p><strong>Marketing Agencies</strong></p><p></p><p><mark style="color:$primary;">Best fit for:</mark> Performance agencies, growth consultants, demand gen teams</p></td><td><ul><li>Bulk Email Verifier</li><li>Form Guard</li><li>Integrations &#x26; APIs</li></ul></td><td>Clean client lists, prevent spam leads, and automate data hygiene</td><td>Stronger client results, reduced delivery risk, and scalable operations</td></tr><tr><td><p><strong>Recruiters</strong></p><p></p><p><mark style="color:$primary;">Best fit for:</mark> Recruitment agencies, HR teams, talent acquisition</p></td><td><ul><li>Email Finder</li><li>Email Verifier</li><li>Search &#x26; Enrich</li></ul></td><td>Reach candidates reliably with verified contact data</td><td>Faster candidate engagement, better response rates, and cleaner talent databases</td></tr><tr><td><strong>RevOps &#x26; CRM Admins</strong><br><br><mark style="color:$primary;">Best fit for:</mark> <br>Revenue operations, CRM administrators, and data quality owners</td><td><p></p><ul><li>Data Pulse</li></ul></td><td>Automatically verify every new contact entering the CRM - across email, phone, and name</td><td>Reliable reporting and forecasts, less time spent on data cleanup, and sales teams that work only with reachable, verified contacts.</td></tr></tbody></table>

Why Growth-Focused Teams Choose Clearout?

* Keep CRMs clean and actionable
* Improve outbound and inbound performance
* Reduce operational overhead
* Scale safely without deliverability risk

Start [validating your data](https://app.clearout.io/dashboard) in minutes.


# Overview

Multi-layer validation checks for accurate, reliable email deliverability

Clearout Email Verifier ensures every email address you collect or use is **valid, reachable, and safe to send**. It combines real-time checks, mailbox-level diagnostics, and risk detection to prevent bad data from entering your CRM, marketing, or outreach workflows.

Whether you are validating form submissions instantly or cleaning millions of records in bulk, Clearout delivers **high-confidence results without sending any emails,** keeping your sender reputation protected.

<div data-with-frame="true"><figure><img src="/files/gPEK5gx9MXUFgncQtNi0" alt="Real-time email validation on GTM workflows" width="563"><figcaption><p>Email Validation for GTM workflows</p></figcaption></figure></div>

## Different Ways of Email Validation

Clearout supports multiple validation workflows to match how your teams collect and manage email data

<table data-view="cards"><thead><tr><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><h3>Instant Validation</h3><p></p><p>Validate emails instantly at the point of capture before they enter your system.</p><ul><li>Signup and lead forms</li><li>CRM data entry</li><li>Live API requests</li></ul></td><td><a href="/pages/21syvPRz7eXrrmCo8EkW">/pages/21syvPRz7eXrrmCo8EkW</a></td></tr><tr><td><h3>Bulk Validation</h3><p></p><p>Upload large lists (CSV/XLSX) and validate them at scale.</p><ul><li>Cold outreach lists</li><li>CRM cleanup</li><li>Imported or legacy data</li></ul></td><td><a href="/pages/5k88Rqjq25suXZxHsbej">/pages/5k88Rqjq25suXZxHsbej</a></td></tr><tr><td><h3>API-Based Validation</h3><p></p><p>Integrate Clearout directly into your backend or data pipeline for automated validation.</p><ul><li><a href="/pages/30b386ddb6cfa13c4acec0d77478f79d5f845734#post-email_verify-instant">Instant Verification</a></li><li><a href="/pages/30b386ddb6cfa13c4acec0d77478f79d5f845734#post-email_verify-bulk">Bulk List Verification</a></li></ul></td><td><a href="/pages/30b386ddb6cfa13c4acec0d77478f79d5f845734">/pages/30b386ddb6cfa13c4acec0d77478f79d5f845734</a></td></tr></tbody></table>

## Understanding Email Verification Results <a href="#understanding_email_verification_results" id="understanding_email_verification_results"></a>

Email deliverability is critical for successful email programs. Clearout backs its verification results with a **99% deliverability rate guarantee**.&#x20;

When you verify email addresses with Clearout, the bounce rate will not exceed 3% for messages sent to "**Guaranteed Deliverable"** email addresses or addresses where the **Safe-to-Send** flag is "**Yes**" provided all qualifying criteria are met.\
\
**Criteria to qualify for Guaranteed Deliverability**

* Email addresses must be classified with the **Safe-to-Send** flag as **Yes**
* Emails must be sent within 24 hours of the verification time.
* Email addresses must have been acquired via an opt-in process; purchased or rented lists are excluded from the guarantee.
* Free service providers such as Yahoo and AOL are excluded.
* Mail servers behind certain anti-spam settings (for example, Microsoft 365) do not qualify.
* Bounces caused by technical difficulties, poor sender reputation, server capacity limits, misconfiguration of the mail server, server unavailability, or deliveries blocked due to internal rules or explicit sender blocks are not covered

### Safe To Send <a href="#safe_to_send" id="safe_to_send"></a>

The **Safe-to-Send** flag is based on industry best practices. In some cases, valid email addresses can still bounce for reasons beyond syntax or mailbox existence, so the Safe-to-Send flag indicates how safe an address is to use based on the probability of a bounce

<table><thead><tr><th width="157.99609375">Safe to Send Value</th><th>Description</th></tr></thead><tbody><tr><td>Yes</td><td>Sending emails to these addresses is safe, provided emails are sent within 24 hours of the verification time.</td></tr><tr><td>Risky</td><td>There is some risk associated with sending to these addresses. They are generally usable when the bounce rate must remain below 5% or when using your own sending infrastructure instead of an external Email Service Provider (ESP).</td></tr><tr><td>No</td><td>Invalid email addresses that you should avoid sending to.</td></tr><tr><td>Unknown</td><td>The status of the email cannot be determined at this time due to external or temporary factors.</td></tr></tbody></table>

The risk factor depends upon multiple reasons, like

* Mail servers that are incorrectly configured&#x20;
* Unusual SMTP response  &#x20;
* Any temporary mail account issue
* Mail servers configured to accept all messages with anti-spam protection that reveals true status only when sending (for example, some Office 365 domains)

### Status

Clearout categorizes email verification status into four primary statuses:  **Valid, Invalid, Catch All, or Unknown**. These statuses indicate the real-time deliverability of a given email addres&#x73;**.**

<table><thead><tr><th width="148.76953125">Primary Status</th><th>Description</th></tr></thead><tbody><tr><td>Valid</td><td>A valid email address has been verified as a real mailbox that is currently accepting email.</td></tr><tr><td>Invalid</td><td>An invalid email address has been verified as a bad recipient that does not exist or is not accepting email and will result in a bounce.</td></tr><tr><td>Catch All</td><td>It's a domain-level setting that accepts messages sent to any address under the domain, including invalid ones. Messages may be rejected later due to spam filters, mailbox limits, or security rules, so the "<strong>safe to send</strong>" status is marked as <strong>"risky".</strong></td></tr><tr><td>Unknown</td><td>This unknown status occurs when Clearout fails to receive a response from the recipient’s mail server. This event often occurs when the mail server is slow or temporarily unavailable. In some cases, retrying later returns a valid or invalid result.</td></tr></tbody></table>

### Sub-Statuses with Reason

Further details that provide more context on the primary status

<table><thead><tr><th>Code</th><th width="186.48828125">Reason</th><th width="340.9921875">Description</th><th width="144.8515625">Primary Status</th><th>Bounce Type</th></tr></thead><tbody><tr><td>200</td><td>Success</td><td>This email address is valid and safe to send emails.</td><td>Valid</td><td></td></tr><tr><td>400</td><td>Syntax error</td><td>A syntax error in an email address occurs when the address does not follow the proper format defined by email standards (<a href="https://datatracker.ietf.org/doc/html/rfc5322">RFC 5322</a>).</td><td>Invalid</td><td>Hard</td></tr><tr><td>401</td><td>Probably Spamtrap/Honeypot</td><td>These email addresses are believed to be spam traps and must not be used for sending.</td><td>Invalid</td><td>Soft</td></tr><tr><td>402</td><td>Mail server connection timeout</td><td>Unable to connect to the mail server within the expected time; retry later.</td><td>Unknown</td><td></td></tr><tr><td>403</td><td>Domain was not found</td><td>This email address is valid in syntax, but the domain doesn't have any records in DNS or have incomplete DNS Records.</td><td>Invalid</td><td>Hard</td></tr><tr><td>404</td><td>Not a Mail Server</td><td>This email address doesn't belong to a mail server.</td><td>Invalid</td><td>Hard</td></tr><tr><td>405</td><td>Mail server error</td><td>This email address belongs to a mail server that is returning a temporary error.</td><td>Unknown</td><td></td></tr><tr><td>406</td><td>Mailbox was not found</td><td>This email address is valid in syntax but does not exist.</td><td>Invalid</td><td>Hard</td></tr><tr><td>407</td><td>Mail server employed greylisting technique; so try after sometime</td><td>Domain IP of the specified email address is greylisted, adviced to retry sometime later.</td><td>Unknown</td><td></td></tr><tr><td>411</td><td>Catch All mail server</td><td>Mail server has been configured to receive all messages that are addressed to an incorrect email address for a domain.</td><td>Catch All</td><td></td></tr><tr><td>412</td><td>Unable to determine; retry later after an hour or so</td><td>This email address is not responding at the moment so that you can retry later an hour or so.</td><td>Unknown</td><td></td></tr><tr><td>413</td><td>Mailbox quota exceeded.</td><td>This email address exceeded the space quota and is not accepting any emails.</td><td>Invalid</td><td>Soft</td></tr><tr><td>414</td><td>Retry later after an hour or contact support</td><td>The server did not allow verification of the emails temporarily. As we do not charge for the unknowns, it is always advisable to retry verifying at a later point in time.</td><td>Unknown</td><td></td></tr><tr><td>416</td><td>No Answer Received From Authoritative Server</td><td>This email address belongs to a mail server that is not responding at the time of verification.</td><td>Unknown</td><td></td></tr><tr><td>417</td><td>DNS Query Timeout</td><td>Unable to resolve DNS within the stipulated time, so retry at a later time, increasing the timeout parameter (API verification).</td><td>Unknown</td><td></td></tr><tr><td>418</td><td>DNS Query Unhandled Error</td><td>This email address belongs to a mail server that is returning a temporary error.</td><td>Unknown</td><td></td></tr><tr><td>419</td><td>Insufficient System Resource (disk/memory)</td><td>This email server exceeded the space quota and is not accepting any emails.</td><td>Invalid</td><td>Soft</td></tr><tr><td>420</td><td>Mail server command timeout</td><td>Verifying this email address takes a longer time than expected. Please retry at a later time, increasing the timeout parameter(API verification).</td><td>Unknown</td><td></td></tr><tr><td>421</td><td>Message receiving limit reached</td><td>Inbound message limit reached for this recipient.</td><td>Invalid</td><td>Soft</td></tr><tr><td>428</td><td>Account inactive due to quota exceeded</td><td>Account disabled due to usage beyond allocated quota.</td><td>Invalid</td><td>Soft</td></tr><tr><td>601</td><td>Email is part of allowlist</td><td>Allowlisted email - validation bypassed</td><td>Valid</td><td></td></tr><tr><td>602</td><td>Email is part of blocklist</td><td>Blocklisted email - validation bypassed</td><td>Invalid</td><td></td></tr><tr><td>603</td><td>Domain is part of allowlist</td><td>Allowlisted domain - validation bypassed</td><td>Valid</td><td></td></tr><tr><td>604</td><td>Domain is part of blocklist</td><td>Blocklisted domain - validation bypassed</td><td>Invalid</td><td></td></tr><tr><td>606</td><td>Unsupported character</td><td>The email address contains invalid or unsupported characters and does not comply with standard email format specifications.</td><td>Invalid</td><td>Hard</td></tr><tr><td>701</td><td>Account disabled</td><td>Mailbox associated with the email account is disabled.</td><td>Invalid</td><td>Hard</td></tr></tbody></table>

### Associated Results <a href="#associated_results" id="associated_results"></a>

Associated result fields provide additional context about each email address beyond the primary status

<table><thead><tr><th width="223.4921875">Field</th><th>Description</th></tr></thead><tbody><tr><td>Disposable Email Address</td><td>It is recommended to exclude email addresses from temporary mailbox services, which are intended for short-term use, to avoid higher bounce rates.</td></tr><tr><td>Free Email Address</td><td>Email addresses from free providers like Gmail or Yahoo are acceptable to use, but non-free domains may perform better in some cases​.</td></tr><tr><td>Role-Based Email Address</td><td>Email addresses tied to a function (for example, support@ or sales@) rather than a person are generally not recommended for marketing emails.</td></tr><tr><td>Autosuggestion</td><td>When a potential typo is detected in the domain (for example, user@yaho.com → user@yahoo.com), the system suggests a correction; these suggestions are not pre-verified​.</td></tr><tr><td>MX Record</td><td>The Mail exchange (MX) record is used to route email for the domain and is returned in both bulk verification results and API responses​.</td></tr><tr><td>SMTP Provider</td><td>Email service provider handling mail exchange for the domain; useful for deciding how to treat the address in campaigns​</td></tr><tr><td>Verification Timestamp</td><td>Date and time when the email address was verified, used to assess list freshness​</td></tr><tr><td>Verification Time Taken</td><td>Time taken to complete verification for the email address, in milliseconds​</td></tr></tbody></table>

### Clearout Standard Columns <a href="#result_file_header" id="result_file_header"></a>

The Clearout standard columns <mark style="color:$info;">**are additional data fields that can be appended**</mark> to your original list after an email verification process to provide comprehensive information about the quality and status of each email address

<div data-with-frame="true"><figure><img src="/files/NjMgdQDNRKW5Hzyp0V2a" alt="clearout bulk email validation standard result  columns"><figcaption><p>Email address appended with Clearout Standard Columns </p></figcaption></figure></div>

<table><thead><tr><th width="265.5078125">Name</th><th>Description</th></tr></thead><tbody><tr><td>Clearout Safe to Send</td><td><p>Indicates whether it is safe to send to the address. </p><p>Values: <strong>Yes, Risky, No, Unknown</strong></p></td></tr><tr><td>Clearout Verification Status</td><td><p>Indicates the verification status of the email address. </p><p>Values: <strong>Valid, Invalid, Catch All, Unknown</strong></p></td></tr><tr><td>Clearout Reason</td><td>Determines the reason for the current status of an email address. Multiple reasons described below.</td></tr><tr><td>Clearout Suggested Email</td><td>Suggestions on what the valid email address could be. Mostly helpful in case of typos.</td></tr><tr><td>Clearout Bounce Type</td><td>Invalid email addresses are categorized as Hard bounce &#x26; Soft bounce.</td></tr><tr><td>Clearout Disposable Status</td><td><p>Whether an email address is disposable or not. </p><p>Categorized as <strong>Yes or No</strong>.</p></td></tr><tr><td>Clearout Free Account Status</td><td><p>Whether an email address belongs to a free email provider or not. </p><p>Categorized as <strong>Yes or No</strong></p></td></tr><tr><td>Clearout Role Account Status</td><td><p>Whether an email address is a role account or not. </p><p>Categorized as <strong>Yes or No</strong></p></td></tr><tr><td>Clearout Gibberish Status</td><td><p>Calling attention towards random email addresses. </p><p>Categorized as <strong>Yes or No</strong></p></td></tr><tr><td>Clearout Account</td><td>Identification of a probable name of the holder of the email address.</td></tr><tr><td>Clearout Domain</td><td>Identification of a probable domain name to which the email address belongs.</td></tr><tr><td>Clearout MX Record</td><td>Shows the MX record for the given email domain of the email address under verification.</td></tr><tr><td>Clearout SMTP Provider</td><td>Shows the STMP provider of the mail exchange for the given email domain.</td></tr><tr><td>Clearout Verified At (UTC)</td><td>Provides the exact time at which the email address was verified.</td></tr><tr><td>Clearout Time Taken (ms)</td><td>Time taken to verify the email address, in milliseconds.</td></tr></tbody></table>

## Verification Settings

Clearout offers flexible settings to tailor validation behavior to your use case, such as options for real-time verification or batch processing, depending on your specific needs.

### Bulk Verification Mode

Clearout provides multiple validation modes based on accuracy and speed requirements.

* **Fastest Turnaround -** Optimized for extreme speed. The system provides a swift first-pass filter for large, unvetted data sets.
* **Highest Accuracy -** Gold standard for list cleaning. It safeguards your sender's reputation by maintaining bounce rates below 3%.

Choose the mode that best fits your workflow.

### **Gibberish Threshold Value**&#x20;

Adjust the gibberish threshold to control how strict the gibberish validation check is during real-time validation

<table><thead><tr><th width="186">Threshold Value</th><th>Description</th></tr></thead><tbody><tr><td>Off</td><td>Skip the gibberish check</td></tr><tr><td>Medium</td><td>Apply a moderate level of gibberish detection</td></tr><tr><td>High</td><td>Apply a strict check to determine whether an email address is gibberish</td></tr></tbody></table>

### Allowlist / Blocklist (ABL)

Blocklist and Allowlist settings let you control which emails and domains are allowed or blocked at the point of entry. You can create filters for specific email addresses, patterns, domains, wildcard domains, or TLDs.

<div data-with-frame="true"><figure><img src="/files/voDG4eDpfbeLvRWCCGFR" alt="allowlist and blocklist setup"><figcaption><p> Allow/Block domains, email addresses based on your needs</p></figcaption></figure></div>

## Data Retention

Clearout follows strict data retention and privacy practices.

* Validation data is stored only as long as necessary (default 30 days)
* Retention is configurable from 1 to 45 days
* Data is handled in a GDPR- and compliance-friendly manner

Your data stays secure, private, and under your control.

<div data-full-width="false" data-with-frame="true"><figure><img src="/files/fphRSGINRvTGry0jSAjm" alt="security compilance" width="375"><figcaption><p><em>Security Compliance Frameworks supported by Clearout</em></p></figcaption></figure></div>

## Credit charge

Clearout follows a transparent credit usage model.&#x20;

* **1 credit** is charged per email validation, excluding the Unknown result status.
* Credits are consumed only when validation is performed
* Duplicate email addresses within the same list are not charged.&#x20;

This ensures predictable usage and cost control at scale. [Click here](https://clearout.io/pricing-guide/) to read about credit charges in detail.

## Supported Integrations

Clearout integrates seamlessly into your existing tech stack.

<table data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><a href="/pages/LnRThV1ra6AGTu8EdktZ"><mark style="color:$info;"><strong>CRM</strong></mark></a></td><td><p></p><ul><li>Validate contacts automatically</li><li>Keep sales and marketing data clean</li><li>Reduce manual cleanup</li></ul></td></tr><tr><td><a href="/pages/l0YwpzyFrmUF8ipeij7G"><mark style="color:$info;"><strong>API</strong></mark></a></td><td><p></p><ul><li>Real-time and bulk validation endpoints</li><li>Built for scale and automation</li><li>Secure and reliable</li></ul></td></tr><tr><td><a href="/pages/mEMzELdxWmdoIChIkc03"><mark style="color:$info;"><strong>Automations</strong></mark></a></td><td><p></p><ul><li><a href="/pages/KsdEBI7QZTMdtNpDT04Q">Zapier</a></li><li><a href="/pages/ICX4R8QySRchQCF5OIHM">Make</a></li><li><a href="/pages/VsoNlUaqyzIHVNuuiwUS">Webhooks</a></li></ul></td></tr></tbody></table>


# Quick Validation

Instantly verify email addresses in real time.

Quick Validation lets you verify one or more email addresses directly from the Clearout dashboard. It is designed for quick checks before adding contacts to your CRM or sending smaller campaigns.

<div data-with-frame="true"><figure><img src="/files/d6pb9Rwf90IgaHhZbUwk" alt="clearout quick validation"><figcaption></figcaption></figure></div>

## Where to Find It in App

1. Log in to your [**Clearout dashboard**](https://app.clearout.io/dashboard).​
2. In the top navigation, go to **Email Verifier →** [**Quick Validation**](https://app.clearout.io/email-verifier/quick-validation).​
3. The Quick Validation screen displays a text area to enter email addresses and a <mark style="color:$info;">**Validate**</mark> button.

***

## How It Works

### Input

1. Type or paste email addresses into the input box.
2. You can enter multiple addresses by placing each on a new line or separating them with commas.
3. You can change the mode for verification right from here by clicking the "Change button"
4. Available Verification modes can be chosen for this validation or can be applied for all future validations by clicking the checkbox below in the popup
5. Click **Validate** to start verification.

<div data-with-frame="true"><figure><img src="/files/LVB9OROjximeqxfnrt37" alt=""><figcaption></figcaption></figure></div>

### Reading output

For each email, Quick Validation returns a status, safe to send, account type with AI Verdict

<div data-with-frame="true"><figure><img src="/files/TXpQth6wEg1kPof0WeUC" alt="quick validation result"><figcaption><p><a href="https://docs.clearout.io/api-overview.html#testing">Test email addresses</a> used to illustrate all result statuses</p></figcaption></figure></div>

<table><thead><tr><th width="143.92578125">Status</th><th width="387.015625">Meaning</th><th>Suggested action</th></tr></thead><tbody><tr><td>Valid</td><td>Address is reachable</td><td>Safe to use in campaigns</td></tr><tr><td>Catch All</td><td>Domain accepts all addresses</td><td>Use with caution</td></tr><tr><td>Invalid</td><td>Address does not exist or is unreachable</td><td>Remove from your list</td></tr><tr><td>Unknown</td><td>Temporary issue (for example, timeout or greylisting)</td><td>Retry later</td></tr></tbody></table>

## Limits

* Quick validation is intended for small, ad hoc checks.​
* For larger lists, use [**Bulk Validation**](https://app.clearout.io/email-verifier/email-verifier-list) under Email Verifier.

{% hint style="info" %}
If you are a developer, you can check sample code snippets in Node.js, PHP, or Python in the [API section](/developers/api)
{% endhint %}

## Verification history in Activities

All Quick Validation runs are logged in the **Activities** section.​

1. In the top navigation, go to **More → Activities.**
2. Filter by **Email Verifier** to see past runs.​

## Download a verification report.

From [Activities](https://app.clearout.io/activities), you can download a report for each Quick Validation run.​

1. Use email verification filters in Activities.
2. Click the corresponding **Download** icon or link.​
3. Save the report file (for example, CSV) and open it in your preferred tool to review or share results.​

{% hint style="info" %}
**Developer note**&#x20;

Want to automate this? Use the [Instant Verify](/developers/api/email-verify#post-email_verify-instant) API to run the same quick validation from your application
{% endhint %}


# Bulk Validation

Validate large email lists in bulk processing

Bulk Validation lets you upload and verify entire email lists directly from the Clearout dashboard. It is designed for list cleaning at scale, helping you remove invalid, risky, gibberish, and disposable addresses before sending campaigns.

## Where to Find It in App <a href="#where-to-find-it-in-app" id="where-to-find-it-in-app"></a>

* Log in to your [**Clearout dashboard**](https://app.clearout.io/dashboard).​
* In the top navigation, go to **Email Verifier →** [**Add List**](https://app.clearout.io/email-verifier/add-list).​
* Browse the file to be verified (or) Import a list from a connected integration.

## Supported File Formats <a href="#supported-file-formats" id="supported-file-formats"></a>

<table><thead><tr><th width="154.24609375">Format</th><th>Description</th><th>Example</th></tr></thead><tbody><tr><td><code>.csv</code></td><td>Comma-separated file</td><td>email, name</td></tr><tr><td><code>.xlsx</code></td><td>Excel workbook</td><td>Multiple sheets supported</td></tr></tbody></table>

{% hint style="info" %}
Ensure your file includes at least one column named **Email**. Other columns (for example, name, country, source) will be preserved and included in your final report.

You can download sample [CSV](https://clearout.io/sample/email-verifier/csv/), [XLSX](https://clearout.io/sample/email-verifier/xlsx/) template files&#x20;
{% endhint %}

## How It Works <a href="#how-it-works" id="how-it-works"></a>

* Click [**Email Verifier → Add List**](https://app.clearout.io/email-verifier/add-list) and select your file.
* Once the file has been uploaded, click on '**Go To Email Verify Lists**'. You can remove any files that were uploaded incorrectly before the verification process begins.

### Start Verification

On your **Email Verifier → Lists** page, The **Mode** property shows the currently selected email verification mode for the bulk file. It can be changed before starting the file by clicking the **Change** button and selecting a suitable mode.

<div data-with-frame="true"><figure><img src="/files/ZRlrebpDCQX9s8JbsPyw" alt=""><figcaption></figcaption></figure></div>

The checkbox can be enable to update the verification setting across your account and will automatically be set as the default mode for all future verifications

<div data-with-frame="true"><figure><img src="/files/GB4qmvDzbx2r37EfD82A" alt=""><figcaption></figcaption></figure></div>

The verification process begins immediately and shows a real-time progress update.

<div data-with-frame="true"><figure><img src="/files/FZMF5YRFHkc5QGJAocdQ" alt="Real-time email verification in progress."><figcaption><p>Real-time email verification in progress.</p></figcaption></figure></div>

If necessary, you can stop the verification at any point. Any progress made up to that point remains available for download the process begins immediately and shows a real-time progress update.

### **Cancel Verification**

> Started bulk verification on the wrong file? You can cancel a file that is **in progress.**

By canceling verification, credits will be redeemed for verified email addresses, while unverified email addresses will be marked as **Unknown** with the reason **"Request cancelled"** without redeeming credits. In some cases, cancellation may take to 15 minutes to complete

### **Duplicate File Identification**

Clearout automatically assesses whether a file upload has been validated previously or not and tells you when a duplicate file is uploaded for validation so you can confirm whether to proceed.&#x20;

This is supported in the Web app & API for Email Verification

<div data-with-frame="true"><figure><img src="/files/TLOJeOgKsjfn31a4bYmy" alt="upload list for bulk validation" width="563"><figcaption><p>Duplicate file uploads will be alerted.</p></figcaption></figure></div>

### **Download Verified File**

After successful verification of the email list, a detailed report about the quality and existence of each email is generated. Clearout provides 5 specially designed email verification reports, which you can generate at your convenience.

Once the verification is complete, click on 'Download' and select the type of result.

<div data-with-frame="true"><figure><img src="/files/HJJ7HFeNZNoxk6prByOB" alt="download bulk validator result"><figcaption><p>Download verified results in your preferred format.</p></figcaption></figure></div>

<table><thead><tr><th width="215.39453125">Download options</th><th>Descriptions</th></tr></thead><tbody><tr><td>Guaranteed Deliverables</td><td><p>The result will only include the email addresses guaranteed to be delivered to the recipient's mailbox, i.e., no bounces. </p><p>Sending emails to these email addresses is entirely safe as long as the email is sent anytime before 24 hours from the verified time. The downloaded result will also contain Clearout standard columns appended to the original columns.</p></td></tr><tr><td>Deliverables With Risk</td><td><p>The result will include Guaranteed Deliverables (mentioned above) and the email addresses that are determined risky. </p><p>The risk factor depends upon multiple reasons like Low deliverability, high volume of role-based email addresses, temporary mail account issue, mail server configured to accept all email messages, etc. Duplicates, if any, will be included in the report but will not be additionally billed.</p></td></tr><tr><td>Non - Deliverables</td><td>The result will include the email addresses that will bounce, so it is highly recommended not to send any emails to such addresses and unsubscribe them from the mailing list. Duplicates, if any, will be included in the report but will not be billed again.</td></tr><tr><td>Email addresses with Clearout standard columns</td><td>The result will include all verified status email addresses – Valid, Invalid, Catch All, Unknown appended to other Clearout columns. Duplicates, if any, will not be included in the result file. The columns of the original file will not be included in the results.</td></tr><tr><td>Custom</td><td>The result will include your original list together with the columns you choose further- Valid, Invalid, Catch All, and Unknown. Select columns that you want to have in your list by clicking on the required checkbox. Duplicates, if any, can be excluded/included in the result on choice.</td></tr></tbody></table>

> You may download the result more than once, but the result will automatically expire after 30 days from the time of verification and will be shown as: Result expired.

<details>

<summary>Unable to locate the downloaded result? Try these:</summary>

* Check the 'Download' folder in your system
* Clear the 'cache' and try downloading again
* Check if the pop-up is blocked
* Try downloading in the 'incognito' mode
* Use a different browser
* Contact us if the issue persists.

</details>

## **Import List from ESP/CRM**

You can import mailing lists for verification directly from your ESP/CRM accounts by connecting them to your Clearout account. Multiple accounts can be integrated.

<div data-with-frame="true"><figure><img src="/files/B3OrCmpags503qtcZ08A" alt="Import email List from ESP/CRM for validation"><figcaption></figcaption></figure></div>

Refer to the following pages for step-wise integrations

<table><thead><tr><th width="212.5390625">CRM / ESP</th><th>Doc Links</th></tr></thead><tbody><tr><td>Mailchimp</td><td><a href="/pages/twAf4G4iGlKuKqgFz0FP">Mailchimp + Clearout Integration Guide</a></td></tr><tr><td>ActiveCampaign</td><td><a href="/pages/DOU2p8pC3hk8CIrGZxNz">ActiveCampaign + Clearout Integration Guide</a></td></tr><tr><td>Moosend</td><td><a href="/pages/jGvEgQ6s2hKosvPQsaNQ">Moosend + Clearout Integration Guide</a></td></tr><tr><td>Hubspot</td><td><a href="/pages/CpdjEJvdFSZ8qarMjxIB">HubSpot + Clearout Integration Guide</a></td></tr><tr><td>MailerLite</td><td><a href="/pages/piLbSNbS6A1yfWw4Ry2r">MailerLite + Clearout Integration Guide</a></td></tr><tr><td>Sendgrid</td><td><a href="/pages/nNc60fvGOaqE7cjyuvyc">Sendgrid + Clearout Integration Guide</a></td></tr><tr><td>Zoho</td><td><a href="/pages/JwT8KPAQx0YkCAufhVSr">Zoho + Clearout Integration Guide</a></td></tr></tbody></table>

## **Export Verified List to ESP/CRM**

Once an ESP-imported list is verified, you can download the result or export it to the relevant account. Accordingly, you may click on either of the two 'Download Result' or 'Export.'

<figure><img src="/files/OvOMZBRs8nom418WS4JY" alt="List from EXP/CRM ready to export after validation"><figcaption></figcaption></figure>

When exporting the result, you can choose how to export the list to your ESP/CRM account

<div data-with-frame="true"><figure><img src="/files/29upCXNuLpdOaUlGhiWZ" alt="Export email List to ESP/CRM after validation"><figcaption></figcaption></figure></div>

### Unsubscribe option

Selecting this checkbox unsubscribes all non-deliverables from your list.​

> When updating an ESP list, be sure to export only once. If you have any questions regarding the unsubscribed email addresses, please contact our support team.

<figure><img src="/files/T6xaC1T43pa5RGluBq2l" alt="Unsubscribe Invalid Email address during Export to ESP/CRM" width="375"><figcaption><p>List export options</p></figcaption></figure>

### Append option

All columns selected for append will be appended with 'Clearout Verification' in the result file. You can select the checkbox that you want to include in the file to be exported

<div data-with-frame="true"><figure><img src="/files/vctxHItVUI8kegSQWf1s" alt="Append Clearout Status during Export to ESP/CRM"><figcaption></figcaption></figure></div>

## **List verification analysis**

Clearout email verifier understands how valuable time is for a user. Therefore, it provides a brief yet critical analysis of each bulk verification list that has undergone verification. This analysis provides a quick insight into the overall email verification result before downloading the actual detailed result.

<div data-with-frame="true"><figure><img src="/files/ojC62He7uHQuKe4CvAac" alt="List verification analysis post Bulk List validation"><figcaption></figcaption></figure></div>

#### Analysis insights

* Percentage of the 'Valid', 'Invalid', 'Catch All', and 'Unknown' emails
* Pie chart for total counts of 'Valid', 'Invalid', 'Catch All', and 'Unknown' emails
* Total counts for 'Duplicate', 'Syntax Error', 'Disposable', 'Free Account' and 'Role Account'
* The name of the list
* The date of creation and the date of verification
* Mode of verification: optimized for highest accuracy/fastest turnaround
* Time taken for verification.
* Total number of Emails in the list
* Billable counts are those for which your credits have been used for verification. Credits are not deducted for duplicates or unknown status.
* Number of email addresses with guaranteed delivery

## **Remove List**

A user can delete the files before validation or after validation through the 'bin' icon next to the list name.

> List cannot be deleted while verification is in progress

<div data-with-frame="true"><figure><img src="/files/4IZVQy5nBWetzWacCnsB" alt="Remove Bulk List after validation"><figcaption></figcaption></figure></div>

{% hint style="info" %}
**Developer note**

Want to automate this? Use the [Bulk Verify](/developers/api/email-verify#post-email_verify-bulk) API to run the same bulk email list validation from your application
{% endhint %}


# FAQs

Find answers to common questions about the Email Verifier.

## General Questions  <a href="#general-questions" id="general-questions"></a>

<details>

<summary>What is email verification?</summary>

Email verification is the process of checking whether an email address is valid and capable of receiving emails. It typically involves multiple checks such as syntax validation, domain and MX record verification, and mailbox existence checks to determine the deliverability of an email address.

</details>

<details>

<summary>Why email verification is crucial for business?</summary>

Email verification helps businesses maintain a clean and accurate email database, protecting sender reputation and improving deliverability. By identifying invalid, risky, or inactive email addresses before sending campaigns, businesses can ensure their emails reach real recipients.

**Key benefits include:**

**Lower bounce rates:**

* Verification removes invalid or mistyped email addresses, helping keep bounce rates within recommended limits (typically below 2%).

**Reduced spam complaints:**

* Some addresses are known to frequently mark emails as spam. Filtering these helps keep complaint rates low and protects your sending domain.

**Protection of sender reputation:**

* High bounce rates and spam complaints can damage your sender reputation. Email verification helps maintain healthy sending metrics.

**Improved email deliverability:**

* A clean email list increases the chances of your emails landing in the inbox rather than spam.

**Better campaign insights and ROI:**

* By sending emails only to valid and active contacts, businesses get more accurate campaign analytics and better return on email marketing efforts.

</details>

<details>

<summary>How does email verification work?</summary>

Email verification tools perform several technical checks to determine the status of an email address, including:

* Email syntax validation
* Domain and MX record verification
* Mail server connectivity checks
* Mailbox existence validation

Based on these checks, the email address is categorized into statuses such as **valid, invalid, catch-all, risky, or unknown.**

</details>

<details>

<summary>Who should use email verification?</summary>

Email verification is useful for businesses and teams that collect or manage email addresses, including:

* Marketing and growth teams
* Sales and outbound teams
* SaaS platforms collecting user signups
* Businesses running email campaigns

Verifying emails helps maintain a clean database and improves email deliverability.

</details>

<details>

<summary>How long does email verification take?</summary>

The time required depends on the type of email addresses in the list.

* **Free Email Addresses**: typically completes within a few seconds.
* **Business Email Addresses**: processing time varies based on the responsiveness of recipient mail servers.

</details>

<details>

<summary>How often should email verification be performed?</summary>

Email verification should be performed regularly to maintain list quality. It is recommended to verify email lists:

* Before sending large campaigns
* Periodically for older databases
* At the point of email collection (e.g., signup forms)

Regular verification helps prevent bounce rates and keeps the email database accurate.

</details>

<details>

<summary>Does email verification send an email to the recipient?</summary>

No. Email verification tools do **not send an email** to the recipient.

Instead, they communicate directly with the recipient's mail server using SMTP protocols to check whether the mailbox exists and can receive messages. This process verifies the email address without sending an actual email to the user.

</details>

<details>

<summary>What is a catch-all email address?</summary>

A catch-all email address is configured to **accept all incoming emails for a domain**, even if the specific mailbox does not exist.

For example, if a domain has a catch-all setup, emails sent to:

<randomname@company.com>

<unknown@company.com>

may still be accepted by the server.

Because of this configuration, catch-all emails cannot always be fully verified and are usually classified as **risky or catch-all** during email verification.

</details>

<details>

<summary>Can email verification guarantee email delivery?</summary>

No. Email verification cannot guarantee that an email will be delivered.

Verification checks whether an email address is **valid and capable of receiving emails**, but final delivery also depends on other factors such as:

* sender reputation
* spam filtering
* email content
* recipient server policies

Email verification helps improve deliverability by removing invalid addresses, but it does not guarantee inbox placement.

</details>

## Technical Questions

<details>

<summary>Why does email verification sometimes take longer?</summary>

Email verification may take longer when recipient mail servers respond slowly or apply security restrictions such as greylisting or firewall checks. In such cases, additional verification attempts may be required to determine the final status and to share the final results.

</details>

<details>

<summary>Can I use the Email Verifier for real-time validation in forms?</summary>

Yes. Clearout provides [real-time email verification APIs](https://docs.clearout.io/developers/api/email-verify) that can be integrated into signup forms, applications, or workflows to validate email addresses instantly before they are submitted. For no-code implementations, you can use [Form Guard](https://docs.clearout.io/form-guard/overview) to validate your forms.

</details>

## Billing Questions

<details>

<summary>How are credits calculated for email verification?</summary>

Credits are deducted based on the number of email addresses processed. Each successful email verification request consumes 1 credit according to the Clearout pricing model. For more information, visit our [pricing guide](https://clearout.io/pricing-guide/).

</details>

<details>

<summary>What happens when I run out of verification credits?</summary>

If your credits are exhausted, new verification requests will stop processing until additional credits are added to your account or your plan is upgraded.

</details>

> Visit [Email Verifier FAQs](/help-and-support/featured-answered/email-verifier) to explore detailed answers and guidance.


# Overview

Find any professional email address in real-time with confidence score

Clearout Email Finder is **an advanced email discovery** tool that helps sales, marketing, and recruitment teams find verified email addresses for any B2B professional.&#x20;

With high precision and real-time checks, Email Finder discovers safe email addresses with AI confidence scores to boost delivery rates and email outreach success.

{% hint style="info" %}
Email finder pre-verifies discovered email address with out incurring additional verification credit.
{% endhint %}

## Different Ways of Email Finding

Clearout Email Finder offers multiple ways to discover email addresses based on your use case. You can choose the appropriate method depending on whether you need instant results or want to process a list of prospects in bulk.

<table data-view="cards"><thead><tr><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><p></p><h4><mark style="color:$info;">Instant Finding</mark></h4><p></p><p>Find email addresses instantly by searching one prospect at a time using their name and company/domain.</p><ul><li>Quick lookup for single prospects</li><li>Ideal for sales/recruiting workflows</li><li>Get results in a few seconds</li><li>Includes confidence score with each result</li></ul></td><td><a href="/pages/fbNkccZmXcpEpWWs7og7">/pages/fbNkccZmXcpEpWWs7og7</a></td></tr><tr><td><p></p><h4><mark style="color:$info;">Bulk Finding</mark></h4><p></p><p>Upload a list and find emails at scale by processing multiple prospects in one go.</p><ul><li>Supports CSV / XLSX uploads</li><li>Enrich lists with found email addresses</li><li>Download processed results (CSV/XLSX)</li><li>Summary insights like Found %, Duplicates, Business accounts</li></ul></td><td><a href="/pages/XMWueJswyPkdDaXaqQVk">/pages/XMWueJswyPkdDaXaqQVk</a></td></tr><tr><td><p></p><h4><mark style="color:$info;">API-Based Finding</mark></h4><p></p><p>Integrate Email Finder into your system and automate email discovery via API.</p><ul><li>Find emails using name + domain/company</li><li>Works for real-time and automated workflows</li><li>Best for CRMs / internal tools / pipelines</li><li>Start by generating your API key</li></ul></td><td><a href="/pages/7b22d5e21f842be901bf681c46a3ffd0b7aa734c">/pages/7b22d5e21f842be901bf681c46a3ffd0b7aa734c</a></td></tr></tbody></table>

## Understanding Email Finder  <a href="#understanding_email_finder" id="understanding_email_finder"></a>

### Input

The Email Finder discovers a **pre-verified email address** using two simple inputs:​

* Full name of the person, such as "Bill Gates."
* Company or domain name (for example, "<mark style="color:blue;">microsoft.com</mark>").​

Each unique name-domain combination is treated as one finding, with different credit usage for person and generic (role) email addresses.​

### Output

For every finding request, the Email Finder returns a structured result that can include

* Discovered email address or generic alternative (for example, <mark style="color:blue;"><bill@microsoft.com></mark> or <mark style="color:blue;"><info@tesla.com></mark>).​ If not able to find it, the response will be "No email found."&#x20;
* The output also includes enrichment fields such as the **normalized name, company/domain, confidence score**, and indicators for whether the account is a business account or a role account.​
* The Email Finder History table contains a history entry that includes the name, company, the resulting email, the confidence score, and the date and time of the search.​

## Understanding Confidence Score

Email Finder Confidence Score is an **AI-driven indicator** that shows how accurately the discovered email address matches your lead's information (name, domain, company name), and it is calculated in real time by analyzing multiple data points and using advanced machine learning algorithms.

<table><thead><tr><th width="114.3359375">Score</th><th>Meaning</th><th width="132.140625">Deliverablility Risk</th><th width="163.26953125">Typical Cases</th><th>Recommended Use</th></tr></thead><tbody><tr><td>>= 90</td><td>Very high accuracy, strong match with lead details</td><td>Very Low</td><td>Valid corporate emails, consistent patterns, verified domains</td><td>High-value outreach, sales sequences, important campaigns</td></tr><tr><td>80 - 90</td><td>Generally accurate with mild risk</td><td>Low - Medium</td><td>Accept-all domains, strict mail servers, mixed signals</td><td>Newsletters, warming sequences, prospecting</td></tr><tr><td>&#x3C; 80</td><td>Low accuracy, weak match or poorly configured domains</td><td>High</td><td>Temporary emails, low-trust domains, inconsistencies</td><td>Low-priority tasks, verification-only flows</td></tr></tbody></table>

{% hint style="info" %}
**Quick Note:** Higher score = higher trust, better deliverability, and stronger alignment with true lead identity.
{% endhint %}

## Finder Settings

The **Email Finder settings** page lets users control how the email discovery process treats role-based addresses and domain formats.​

Accessing Email Finder settings

* Navigate to [**Settings → Email Finder**](https://app.clearout.io/settings/email_finder) from the left navigation menu.
* Use this page to configure global behavior that applies to all Email Finder lookups in your account.​

<div data-with-frame="true"><figure><img src="/files/UJGwa48gUottUSe3AMEg" alt="Manage Email Finder Settings"><figcaption></figcaption></figure></div>

### Role-Based Emails <a href="#role-based-emails" id="role-based-emails"></a>

Role-based emails are generic addresses that are not tied to a specific person, for example, <mark style="color:blue;"><support@amazon.com></mark> or <mark style="color:blue;"><hr@hubspot.com></mark>.​

* **Include**:
  * Email Finder is allowed to return role-based email addresses when a professional address cannot be found.​
  * Use this when generic inboxes are acceptable for your outreach or workflows.​
* **Exclude** (default):
  * Email Finder will skip role-based email addresses and only return person-based addresses where possible.​
  * Use this when your use case requires direct, individual contacts and you want to avoid generic team or department inboxes.​

To update this behavior, select the desired option under **Role Based Emails** and your preference is saved for subsequent searches.​

### Domain Check <a href="#domain-check" id="domain-check"></a>

Domain check controls how strictly Email Finder interprets and validates the domain input when supplied values as company name and Website URL​

* **Strict**:
  * Use only the Domain/Website URL field; even if a company name is present, Clearout will exclusively rely on the domain for finding emails.
  * If a domain is missing in bulk uploads or API requests, the request will not be processed to prevent inaccurate results.
  * Helps match emails with verified company domains, avoiding incorrect email retrieval.
* **Relax** <mark style="color:$primary;">(default)</mark>:
  * Accepts more flexible domain forms (for example, URLs with protocols) and attempts to normalize them before performing the search or if the company name is provided, the system will try to resolve the equivalent domain.&#x20;
  * Recommended when importing mixed data from various sources where domains may include Website URL, domain names without protocol, or the company names.​

Choose **Strict** or **Relax** under **Domain Check** to align the Email Finder with the quality and structure of your domain inputs.

#### How It Works Across Different Email Finder Modes

**Bulk Email Finder:**

* The uploaded file must contain a website/domain column.
* If the file lacks a domain column, it will be rejected to ensure accuracy.

**Instant Email Finder** (Single Lookup):

* A domain input is mandatory when this setting is enabled.
* If only a company name is provided without a domain, the request will be declined to prevent mismatches.

## Credit charge <a href="#credit-charge" id="credit-charge"></a>

Clearout follows a transparent credit usage model.

* **4** **credits** are charged for a non-role based email address, and **2 credits** are charged for a role-based email address.
* No credits are charged when the result shows email not found.
* In Bulk Finder, exact duplicate entries are not charged.

This ensures predictable usage and cost control at scale. [Click here](https://clearout.io/pricing-guide/) to know the credit charges in detail.

## Supported Integrations <a href="#supported-integrations" id="supported-integrations"></a>

Clearout integrates seamlessly into your existing tech stack.

<table data-view="cards"><thead><tr><th></th></tr></thead><tbody><tr><td><p><a href="/pages/u73SMGFU3ChmJ2Fftnbk"><strong>API</strong></a></p><ul><li>Real-time and bulk finding endpoints</li><li>Built for scale and automation</li><li>Secure and reliable</li></ul></td></tr><tr><td><p><strong>Automations</strong></p><ul><li><a href="/pages/KsdEBI7QZTMdtNpDT04Q">Zapier</a></li><li><a href="/pages/ICX4R8QySRchQCF5OIHM">Make</a></li><li><a href="/pages/VsoNlUaqyzIHVNuuiwUS">Webhooks</a></li></ul></td></tr></tbody></table>


# Instant Finder

Discover professional email addresses instantly in real time

As the name suggests, Instant Email Finder is used to get instant results. Once you have created an account, go to Email Finder, enter the prospect's name and the domain/company name, and click on search.&#x20;

<div data-with-frame="true"><figure><img src="/files/WHI6hpojLNZKvCvSRXcT" alt="Instant Email Finder Search and Results Overview" width="563"><figcaption></figcaption></figure></div>

This feature allows you to look up email addresses individually, and the results will be available in a few seconds.

## Where to Find It in App

* Log in to your [**Clearout dashboard**](https://app.clearout.io/dashboard).​
* In the top navigation, go to **Email Finder → Find Email**.​
* The Instant Finder screen displays input fields to enter the **prospect’s name and** **company/domain**, along with a **Search** button to find the email address instantly.

## How It Works

### Input

* Enter the **prospect’s name** in the name field.
* Enter the **company name or domain** in the corresponding input field.
* Click **Search** to start finding the email address.

<figure><img src="/files/BoRoCE6QWCj3IqwqupGX" alt="Instant Email Finder Search and Results" width="563"><figcaption></figcaption></figure>

The result will be displayed within a few seconds or it will be available under the [Email Finder History.](#finder-history-in-activities)

### Reading output <a href="#reading-output" id="reading-output"></a>

For each lookup, Email Finder returns the **discovered email address**, along with its normalized **name, company,** **email address**, and **confidence score** to help you understand the quality of the result.

Any email lookup done using Instant Finder reflects the result in the history table of the email finder. The email lookup details are retained for only 30 days. It comes with a download option too.

Any lookup with the status **"In-progress"** will be added to the history and populated automatically.

### Limits

* Instant Email Finder is designed for looking up email addresses for individual prospects.
* It is best suited for **quick discovery** rather than processing large lists.
* For discovering email addresses at scale, use [**Bulk Email Finder**](/email-finder/bulk-finder).

## Email Finder History <a href="#email-finder-history" id="email-finder-history"></a>

The **Email Finder History** section provides an audit trail of all instant email lookups.​

<div data-with-frame="true"><figure><img src="/files/FMDO91kkJ7Q1ztsxYGvA" alt="Instant Email Finder History"><figcaption></figcaption></figure></div>

* Columns include **Name**, **Company**, **Email Address**, **Confidence Score**, and **Date**.​
* You can:
  * Filter by **Created On** date range (for example, “Last 7 days”).​
  * Filter by **Status** (e.g., All / Completed / In Progress).​
  * Search by **Name / Company** using the search box above the table.​
  * Export the results using the download icon.​

## Download discovered email <a href="#verification-history-in-activities" id="verification-history-in-activities"></a>

All Instant Email Finder runs are logged in the [**Activities**](https://app.clearout.io/activities) section.​

* In the top navigation, go to **More → Activities.**
* Filter by **Email Finder** to see past runs.​
* Download the report (for example, CSV) and open it in your preferred tool to review or share results.​

{% hint style="info" %}
**Developer note**

Want to automate email discovery? Refer to the [Email Finder API](/developers/api/email-finder#post-email_finder-instant) section for sample code and integration details.
{% endhint %}


# Bulk Finder

Find verified emails at scale with Bulk Finder.

The Clearout Bulk Email Finder is used to discover email addresses in bulk and download enriched results with confidence scores. **The bulk finder efficiently handles the simultaneous processing of hundreds or thousands of prospects, optimizing scalability**.&#x20;

It provides flexibility by accommodating CSV or Excel data uploads and downloads. Intelligent functionalities, including automatic duplicate identification, quality metrics, and deliverability insights, guarantee data precision.&#x20;

By preventing charges for duplicate or missing records, the solution encourages efficient use and aids in cost management.

## Where to Find It in App <a href="#where-to-find-it-in-app" id="where-to-find-it-in-app"></a>

* Log in to your [**Clearout dashboard**.](https://app.clearout.io/dashboard/)​
* In the top navigation, go to **Email Finder →** [**Add List**](https://app.clearout.io/email-finder/add-list).​
* Click **Add List** and upload your file (CSV/XLSX) to start bulk email finding.

<div data-with-frame="true"><figure><img src="/files/IYSV2QnhJL7VCNK3Znjb" alt="Upload List with Name and Company name or Domain " width="375"><figcaption></figcaption></figure></div>

## **Supported File Types**

| Format    | Details                                 | Sample Files                                          |
| --------- | --------------------------------------- | ----------------------------------------------------- |
| **.csv**  | Comma-separated value files             | [CSV](https://clearout.io/sample/email-finder/csv/)   |
| **.xlsx** | Excel workbook (first sheets supported) | [XLSX](https://clearout.io/sample/email-finder/xlsx/) |

### **Required Columns**

Your file **must include** these two columns:

<table><thead><tr><th width="170.2265625">Column</th><th width="304.68359375">Description</th><th>Example</th></tr></thead><tbody><tr><td><strong>Name</strong></td><td>Prospect's full name or first name</td><td>"John Smith" or "John"</td></tr><tr><td><strong>Domain/Company</strong></td><td>Company domain or company name</td><td>"microsoft.com" or "Microsoft"</td></tr></tbody></table>

{% hint style="info" %}

### **Optional Columns**

You can add any additional columns you want and they'll be preserved in your results:

* Job Title
* Location
* Department
* Source
* Custom fields
* Any other data
  {% endhint %}

### **File Size & Limits**

* **Maximum file size:** No strict limit (process files with millions of records)
* **Recommended:** For faster processing, consider splitting very large files (100k+ records) into multiple batches

## **Start Email Finding**

{% stepper %}
{% step %}
Click **Email Finder →** [**List**](https://app.clearout.io/email-finder/lists)**.​**
{% endstep %}

{% step %}
Find your uploaded list
{% endstep %}

{% step %}
Click the **"Find Emails"** butto&#x6E;**,** and processing begins!

<div data-with-frame="true"><figure><img src="/files/hMXpfISqJLaywoAiH0lU" alt="Starting the Email finding process for uploaded list"><figcaption></figcaption></figure></div>
{% endstep %}
{% endstepper %}

**Processing time depends on:**

* Number of records&#x20;
* Current system load
* Data quality

You can close the page; the email finding process will continue in the background, and you will receive an email notification immediately after it is completed.&#x20;

## Cancel Finding

Did you initiate the bulk email finding for the wrong file? Don't worry, Clearout supports cancellation of the file **"in progress".**

* By cancelling email finding, credits will be charged for any found email addresses, while unfound email addresses will be listed as 'Not found' with the reason 'Request Cancelled' without being charged.
* In some cases, cancelling the request may take up to 15 minutes to complete.

## **Duplicate File Identification**

Clearout **automatically assesses** whether a file upload has been run to find email addresses previously or not and tells you when a **duplicate file** is uploaded for email finding so you can confirm. This function is supported in the WebApp & API for the Email Finder.

## **Download Discovered List**

The results can be downloaded in .csv and .xlsx formats by clicking on 'Download' button

If you encounter any difficulty locating the downloaded result, please consider trying these steps. Try these

* Please check the 'Download' folder on your system.
* Please clear the 'cache' and try the download once more.
* Check browser pop-up blockers enabled
* Try downloading in "incognito" mode.
* Use a different browser
* [Contact us](/help-and-support/ask-a-question) if the issue continues to occur

{% hint style="info" %}
For large files, the download link will be shared over the registered email.
{% endhint %}

### Status <a href="#status_1" id="status_1"></a>

The status provides a broad picture of the quality of the email addresses found.

<table><thead><tr><th width="185.28125">Primary Status</th><th>Description</th></tr></thead><tbody><tr><td>Found</td><td>This status shows that the email finder has successfully found the email address of the ideal prospect.</td></tr><tr><td>Not Found</td><td>This status indicates that the email finder was unable to find the ideal prospect's email address, and it will mention the reason.</td></tr></tbody></table>

### Understanding Email Finding Results <a href="#understanding_email_finding_results" id="understanding_email_finding_results"></a>

#### Important Terms Related to The Results <a href="#important_terms_related_to_the_results" id="important_terms_related_to_the_results"></a>

<table><thead><tr><th width="220.03125">Name</th><th>Description</th></tr></thead><tbody><tr><td>Business Account</td><td>The appended columns show if an email address belongs to a business account.</td></tr><tr><td>Duplicate</td><td><p>Any email list with the same data (first name, last, name, domain/company name) more than once, leading to the same result, is categorized as duplicates. </p><p><br>The user will not be charged for the duplicates.</p></td></tr><tr><td>Confidence Level</td><td>An email deliverability scale that indicates how good the discovered email addresses are for a list and how good the list can be for cold email outreach campaigns. Categorized as high, medium, and low.</td></tr><tr><td>Confidence Score</td><td>An AI-based percentile allotted to each email address that indicates the accuracy level with which the discovered email address matches the lead in the query.</td></tr></tbody></table>

### **Result File Headers**

<table><thead><tr><th width="307.1171875">Name</th><th>Description</th></tr></thead><tbody><tr><td>Clearout Finder Full Name</td><td>Displays the full name used for the email finding on Clearout.</td></tr><tr><td>Clearout Finder First Name</td><td>Displays the first name used for the email finding on Clearout.</td></tr><tr><td>Clearout Finder Last Name</td><td>Displays the last name used for the email finding on Clearout.</td></tr><tr><td>Clearout Finder Domain</td><td>Displays the domain associated with the prospect.</td></tr><tr><td>Clearout Finder Company</td><td>Displays the name of the company associated with the prospect.</td></tr><tr><td>Clearout Finder Email Address</td><td>Displays the email address found by Clearout Email Finder.</td></tr><tr><td>Clearout Finder Confidence Score</td><td>Displays the Confidence score in form of numbers that may be different for each email address.</td></tr><tr><td>Clearout Finder Business Account</td><td>Displays if the found email address is a business account or not. The result is in the form of 'Yes' or 'No'.</td></tr><tr><td>Clearout Finder Status</td><td>Displays if Clearout was able to find an email address for the input.</td></tr><tr><td>Clearout Finder Reason</td><td>Provides more information about the status of the email found or the reason for not able to find an email address.</td></tr><tr><td>Clearout Finder Processed At (UTC)</td><td>Provides the exact time at which the email address was found.</td></tr></tbody></table>

## **Finder List Analysis**

This brief and quick analysis offers an instant review of the overall email finder result before downloading the actual detailed result.

<div data-with-frame="true"><figure><img src="/files/Hdjui3FcagSKSvf3mmGn" alt="Download the result after bulk finding"><figcaption></figcaption></figure></div>

#### The information it provides

* Percentage and count of the emails found.
* Total counts for 'Duplicate' and 'Business Accounts'

#### On the left, you will find a brief overview of the list.

* The name of the list
* The list includes the date of creation and the date of processing.
* Time taken for finding the results
* Total number of inputs in the list
* Billable count indicates the credits have been used.&#x20;
* The Confidence Level is an email deliverability scale that indicates the quality of the discovered email addresses on a list and their effectiveness for cold email outreach campaigns. It can be high, low, or moderate depending on the quality of data provided

## **Remove List** <a href="#remove-list" id="remove-list"></a>

Bulk finder list files can be deleted either before or after finding email addresses by using the 'bin' icon next to the list name.

> Files cannot be deleted while finding is in progress

<div data-with-frame="true"><figure><img src="/files/rAFg5fzTVt3nb844GMWb" alt="Remove the list after bulk finding"><figcaption></figcaption></figure></div>

## Data Retention & Result File Availability <a href="#data-retention--file-availability" id="data-retention--file-availability"></a>

### **Retention Period**

* Input list and result files are retained for **30 days** from the date of processing
* After 30 days, input and result files are automatically deleted from the system

### **Email Notifications**

Clearout will send automated email notifications:

* **Day 25:** First reminder - "Your Bulk Finder results will be deleted in 5 days"
* **Day 29:** Final reminder - "Your Bulk Finder results will be deleted in 1 day"

**What You Should Do**

To preserve results beyond 30 days:

* Download result files within 30 days of processing
* Save files locally or to cloud backup storage
* Export to your CRM or third-party systems using integrations
* Use the API for programmatic data storage

### **After Deletion**

* Results cannot be recovered or re-downloaded from the platform
* You will need to rerun the bulk finder to get results again
* All associated metadata and analysis will also be removed

{% hint style="info" %}
**Developer note**

Want to automate this? Use the [Bulk Finder API](/developers/api/email-finder#post-email_finder-bulk) to run the same bulk email finding from your application
{% endhint %}


# FAQs

Find answers to common questions about Clearout Email Finder

## General Questions

<details>

<summary>What is a real email address?</summary>

A real email address belongs to a genuine person or organization and can actively send and receive emails. It is associated with a valid mailbox and a configured email domain.

A real email address typically:

* Is connected to a working inbox
* Belongs to an identifiable individual or organization
* Passes domain checks such as **MX record validation**
* Can be validated through **SMTP or mailbox-level verification**

Real email addresses help ensure reliable communication and reduce the chances of spam or bounced emails.

</details>

<details>

<summary>What is an email finder and how does it work?</summary>

An email finder is a tool that helps discover professional email addresses using publicly available data points such as a person’s name and their company domain.

It works by analyzing known email patterns, domain configurations, and multiple data sources to identify the most likely email address associated with a person and organization.

</details>

<details>

<summary>How accurate are email search results?</summary>

The accuracy of email search results depends on factors such as the availability of public data, company email patterns, and domain configurations.

Email finder tools typically provide a confidence score or verification status to indicate how reliable the discovered email address is. In many cases, the results are further validated using email verification techniques to improve accuracy.

</details>

<details>

<summary>What information can I get from an email search?</summary>

An email search result may include details such as:

* The discovered email address
* Verification or deliverability status
* Confidence score
* Domain or company information
* Additional metadata related to the search

These details help users determine whether the email address is suitable for outreach or further verification.

</details>

<details>

<summary>How long does it take to find an email?</summary>

The time required depends on the type of search.

* **Single email searches** typically return results within seconds.
* **Bulk searches** may take longer depending on the number of records being processed and the complexity of the search.

Processing time may also vary based on domain responsiveness and data availability.

</details>

<details>

<summary>Why might an email not be found?</summary>

An email may not be found for several reasons, including:

* The person does not have a publicly identifiable email address
* The company does not follow a predictable email pattern
* The domain restricts external verification or discovery
* Insufficient data is available to generate a reliable result

In such cases, the search may return a “not found” or similar status.

</details>

<details>

<summary>Is the email found guaranteed to be valid?</summary>

No email finder can guarantee that a discovered email address is valid or active.

Because email finder tools generate possible addresses based on available data and patterns, it is recommended to verify the email address using an email verification tool before using it for outreach.

</details>

<details>

<summary>Is it possible to find an email address using a name and company domain?</summary>

Yes. Many email finder tools allow users to search for an email address using a person’s name along with their company domain.

The tool analyzes common email patterns used by the organization to identify the most likely email address associated with that person.

</details>

## Technical Questions

<details>

<summary>Why was an email not found for a contact?</summary>

An email may not be found if the provided information is incomplete, the company domain does not follow predictable email patterns, or no reliable data sources are available to discover the email address.

</details>

<details>

<summary>Can Email Finder be used through an API?</summary>

Yes. Clearout provides an [Email Finder API](https://docs.clearout.io/developers/api/email-finder) that allows developers to integrate email discovery directly into CRMs, applications, or automated workflows. You can also use [webhooks](https://docs.clearout.io/developers/webhooks/webhook-events-and-payloads#email-finder-events) to receive email finder results programmatically in your system once processing is complete.

</details>

## Billing Questions

<details>

<summary>How are Email Finder credits charged?</summary>

Credits are deducted only when an email address is successfully discovered. To find, 4 credits are charged for a non-role based email address, and 2 credits are charged for a role-based email address. For more information, visit our [pricing guide](https://clearout.io/pricing-guide/).

</details>

<details>

<summary>Will credits be deducted if an email is not found?</summary>

No. Credits are only charged when a email address is successfully discovered. If the result returns “**email not found**”, no credits are deducted.

</details>

Visit [Email Finder FAQs](/help-and-support/featured-answered/email-finder) to explore detailed answers and guidance.


# Overview

Real-time form validation with advanced lead analytics, threat forensics, and lost lead recovery

The Clearout **Form Guard** facilitates seamless, real-time field validations directly on your forms. While it instantly **blocks fake leads, bots, and invalid data from corrupting your CRM**, it doesn't just stop there. With built-in Form Guard Analytics, you gain full visibility into your traffic through comprehensive **forensics and the ability to track, analyze, and recover lost leads**, ensuring you never miss a genuine business opportunity.

Designed with simplicity in mind, Form Guard keeps setup effortless even for non-developers.

<div data-with-frame="true"><figure><img src="/files/hBseJ4ZHKHbmVXVOrWo8" alt="Overview of Form Guard Real-Time Validation on Name, Phone number and Email address" width="362"><figcaption><p>Form Guard in Action. <a href="https://youtu.be/5T7ZalNoLFw?si=yYNqQhJTegxHl05S">Video version</a></p></figcaption></figure></div>

## Supported Form Field Validators <a href="#supported-form-field-validators" id="supported-form-field-validators"></a>

<table><thead><tr><th width="174.9296875">Form Fields</th><th>Description</th></tr></thead><tbody><tr><td><a href="/pages/LxUClVYtdMlYtXyxwSUJ"><strong>Email</strong></a></td><td>Validates email addresses for deliverability status and identifies business, disposable, role, and gibberish addresses.</td></tr><tr><td><a href="/pages/oQ43K99awC8WDpRhlK9N"><strong>Phone</strong></a></td><td>Validates phone numbers of all types for correct format, length, and structure.</td></tr><tr><td><a href="/pages/t7AVWn34CHS0givm8nnp"><strong>Name</strong></a></td><td>Validates a given name for profanity, gibberish, special characters, or numbers and disallows submission if found invalid.</td></tr></tbody></table>

## Create Your Form Guard

To create and configure a Form Guard, follow these steps using Clearout's Form Guard Creation Wizard:

{% stepper %}
{% step %}
Navigate to the [Form Guard](https://app.clearout.io/form-guard/lists).​
{% endstep %}

{% step %}
Click on Create Guard

<div data-with-frame="true"><figure><img src="/files/S1eFjtfjMVTY8zV4DVge" alt="Create Guard" width="563"><figcaption></figcaption></figure></div>

You can provide the guard a meaningful name and description. This will reveal credit usage across guards. It also lets you categorize lead sources by guard name to see activity breakdown on the [activities](https://app.clearout.io/activities) page.
{% endstep %}

{% step %}
Follow the step-by-step wizard to configure your Form Guard

Here, you can decide which of your form's fields need to be validated. You can also take into account advanced settings to stop submissions that are fake or from bots.

<figure><img src="/files/CGzZsDXRLRh89fnBiyE4" alt="Configure Form Guard Settings for Name, Phone Number and Email Validation" width="528"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Generate a Form Guard code snippet.

Once you configure the field-level validation and advanced settings, Form Guard will generate a JavaScript code snippet that you can embed into your form page. This code snippet will validate each form input in real time, preventing bad lead data from entering your CRM.

<div data-with-frame="true"><figure><img src="/files/fJllBHrLz76uQ64R3zP7" alt="Generate a Form Guard code snippet and Copy to validate on Forms" width="563"><figcaption></figcaption></figure></div>

{% hint style="info" %}
**How is my Form Guard script protected from unauthorized use?**

Form Guard only accepts validation requests from domains you've allowlisted in [Advanced Settings](/form-guard/advanced-settings#add-form-urls-optional). Requests from any other domain are rejected automatically, so your credits stay protected.
{% endhint %}
{% endstep %}

{% step %}
Installing Form Guard Script

Once your Form Guard code is generated, copy the snippet and paste it into the page containing your form. Form Guard will automatically load, detect your forms, and attach real-time validation to them. For other installation methods, see the section below.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
**See it in action**

Once your guard is live, head to [Analytics](/form-guard/analytics) to monitor block rate, review lead quality, and recover lost leads.
{% endhint %}

## Installing Form Guard Script <a href="#form-guard-live-demos" id="form-guard-live-demos"></a>

Form Guard can be installed on virtually any website or platform. Choose the installation method that matches your setup below.

* #### [Standard HTML Forms](#standard-html-forms-1)
* #### [WordPress](#wordpress-1)
* #### [Google Tag Manager (GTM)](#google-tag-manager-gtm-1)

{% hint style="success" %}
**Need a custom install?**

If your setup requires custom configuration or doesn't fit the standard installation flow, reach out to our [support team](/help-and-support/how-to-work-with-support) and we'll help you get set up.
{% endhint %}

{% hint style="info" %}
**Note on Content Security Policy (CSP)**

If your site enforces a Content Security Policy, add the following directives so the Form Guard script can load and run:

* **`script-src`**: `https://clearout.io`
* **`connect-src`**: `https://api.clearout.io`
* **`img-src`**: `https://clearout.io`

The script behaves similarly to Google Analytics — if your CSP already permits GA, add Clearout the same way.
{% endhint %}

### Standard HTML Forms

For static sites or any page where you have direct access to the HTML, paste the Form Guard snippet inside the \<head> tag (preferred) or just before the closing \</body> tag.

Form Guard is designed to work reliably in either location. Placing it in the \<head> is recommended for the cleanest setup, but adding it before \</body> works just as well and can be a good choice if you're optimizing page load order.

### WordPress

WordPress users have two straightforward options for adding the Form Guard snippet.

You can edit your theme's header.php file directly and paste the snippet inside the \<head> section. Keep in mind that this approach may be overwritten when your theme updates, so it's best suited for custom or child themes.

Alternatively, and recommended for most users, install a header and footer scripts plugin such as WPCode or Insert Headers and Footers. These plugins let you add the snippet through the WordPress admin without touching theme files, and your script will persist across theme updates.

### Google Tag Manager (GTM)

If you manage multiple forms across your website, Google Tag Manager is the cleanest way to deploy Form Guard site-wide from a single dashboard.

{% stepper %}
{% step %}
Go to your [GTM dashboard](https://tagmanager.google.com/#/home)
{% endstep %}

{% step %}
Create a New Tag

<div data-with-frame="true"><figure><img src="/files/FFQjxlxA7guowWFZfIzP" alt="Site-wide Integration of Form Guard with Google Tag Manager"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
Choose Tag Type as Custom HTML and Name the tag (eg, Clearout Form Guard)

<div data-with-frame="true"><figure><img src="/files/GVEHEJMSt8pGdAm6OFZU" alt="Choose tag type as &#x22;Custom HTML&#x22;"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
Paste the entire Clearout’s Form Guard Snippet into the HTML box

<div data-with-frame="true"><figure><img src="/files/YxrsAlbfxx3VJ2zK46XK" alt="Add Form Guard Snippet in the &#x22;custom HTML&#x22;"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
Choose when the Form Guard script is to be triggered (for example, All Pages). By default, Google Tag Manager is configured to trigger on all pages.

If you want more control over where Form Guard loads, you can customize this trigger to limit execution to specific pages or conditions.

<div data-with-frame="true"><figure><img src="/files/3qR09mIGzr4fHGnzqLe1" alt="Choose the trigger to Run Form Guard"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
Once the configurations are completed, click Save and then Submit to publish the changes to your website.
{% endstep %}
{% endstepper %}

## Form Guard Live Demos <a href="#form-guard-live-demos" id="form-guard-live-demos"></a>

Use the **live demos** to see Form Guard in action on **HubSpot**, **Unbounce**, and **Leadpages** forms, and test how real-time validation behaves with valid, invalid, disposable, and gibberish email entries. This lets you preview the exact inline error messages and blocked submissions your visitors will see before deploying Form Guard on your forms.

<table><thead><tr><th width="212.68359375">Form Provider + Form Guard</th><th>What it shows</th></tr></thead><tbody><tr><td>HubSpot + Form Guard</td><td>Inline email, phone, and name validation checks on a HubSpot landing page form.​<br><a href="https://datacept-technologies-private-limited-47097729.hubspotpagebuilder.net/co-js-widget-3.0">Try Live Demo</a></td></tr><tr><td>Unbounce + Form Guard</td><td>Real-time validation on a high-conversion Unbounce page​<br><a href="https://clearout.io/formguard/v3/demos/unbounce.html">Try Live Demo</a></td></tr><tr><td>Leadpages + Form Guard</td><td>Email verification on Leadpages opt-in and signup forms<br><a href="https://clearout.io/formguard/v3/demos/leadpages.html">Try Live Demo</a>​</td></tr></tbody></table>

{% hint style="info" %}
**Did you know?**

* The **default configurations in the setup wizard will suffice** for the majority of standard web forms to enable real-time validation support.
* Changes to the **Form Guard settings take effect right away**. You **don't need to re-embed the code** snippet. (Don't forget to refresh the page to see the changes.)
* If you don't use Google reCaptcha, you can **turn on built-in bot detection**.<br>
  {% endhint %}


# Email Field Validation

Validate email fields on web forms live

The Form Guard provides a **flexible and powerful email validation component** that allows you to configure how Clearout should validate email addresses based on your specific requirements. This section covers the various field setting options available to customize the email validation behavior.

## Email Field Setting Options  <a href="#email-field-setting-options" id="email-field-setting-options"></a>

Find below the various **email field setting options** that can be configured as part of the Guard creation or by using the customized code

<div data-with-frame="true"><figure><img src="/files/9cikcQvbvtzwODCscURr" alt="select and customize Email validation settings for Email Field"><figcaption><p>Customize how email fields are validated on your forms.</p></figcaption></figure></div>

### Acceptable Values <a href="#acceptable-values" id="acceptable-values"></a>

* **Accept any Valid email address (default):** Allows any email address with a valid mailbox, including roles and gibberish accounts, and blocks disposable accounts.
* **Accept only Business and Personal email address:** Allows only valid business and personal email addresses, blocking role and gibberish accounts
* **Accept only Business email address:** Allows only valid business email addresses, blocking free accounts such as gmail.com, yahoo.com, hotmail and role-based accounts
* **Accept only Safe To Send email address:** Allows only email addresses with valid mailboxes of non-role, non-disposable, and non-catchall domains [**Learn more about Safe To Send**](https://docs.clearout.io/email-verifier/overview#safe_to_send)
* **Custom**: Allows you to set your own custom validation rules for email addresses
  * **Safe To Send Only**: Allowing email that Clearout validation claims is guaranteed to be delivered without a bounce
  * **Block Role Account**: Prevent form submission if the email is a role-based address (e.g., admin@, support@, info@)
  * **Block Free Account**: Block form submission for emails from free providers like Gmail, Yahoo, or Outlook
  * **Block disposable account**: Block form submission if the email is from a disposable or temporary email provider.
  * **Block Gibberish Account**: Block emails identified as gibberish or invalid, preventing submission of nonsensical or fabricated addresses
  * **Block Unknown status**: Block form submission if the email status could not be determined by Clearout validation
  * **Block Catchall Status**: Block form submission for emails with a catch-all status, where the mailbox accepts all addresses regardless of existence
  * **Block form submission on timeout**: Block form submission if the email validation request times out
  * **Block form submission on usage limit crossed**: Block form submission when email validation usage limit is exceeded.

### Feedback Messages

This option allows you to customize the feedback (error) messages displayed on forms when an invalid or unacceptable value is entered in the email field.

* **Default:** A predefined set of feedback messages automatically set by the Form Guard.
* **Custom:** Displays all possible feedback message variations for the email field, with their default values shown as placeholder text in the input field.

## Hooks  <a href="#hooks" id="hooks"></a>

This option allows you to define custom JavaScript functions that execute either before or after Clearout's form validation.

### **On Before Verify**

This hook is triggered just before Clearout's email validation runs. The function receives two destructured parameters as defined below:

* **email**: The value entered in the respective form field.
* **$form**: The jQuery-wrapped form element.

The function should return an object with is\_acceptable and error\_msg properties. Setting is\_acceptable to false will consider the input value as invalid with the message set on the error\_msg property.

* **is\_acceptable**: The validation status of the On Before Verify hook.
* **error\_msg**: The HTML error message string to be displayed in case of is\_acceptable is false.

```javascript
on_before_verify: function({ email, $form }) {
  let response = { is_acceptable: true, error_msg: '' };

  // Custom validation logic goes here
  if (email.includes('example.com')) {
    response.is_acceptable = false; // Set is acceptable to false to prevent form submission
    response.error_msg = 'Example domain email are not allowed !!';
  }

  return response;
}
```

### **On After Verify**

This hook is triggered just after Clearout's email validation runs, and it has returned with Clearout's validation response. The function receives three destructured params:

* **email**<mark style="color:$info;">:</mark> The value entered in the respective form field
* **$form**: The jQuery-wrapped form element
* **result**: The Clearout's Validation result object

The function should return an object with is\_acceptable and error\_msg properties. Setting is\_acceptable to false will consider the input value as invalid with message set on error\_msg property.

* **is\_acceptable**: The validation status of the On After Verify hook.
* **error\_msg**: The HTML error message string to be displayed in case of is\_acceptable is false.

```javascript
on_after_verify: function({ email, $form, result }) {
  let response = { is_acceptable: true, error_msg: '' };

  // Custom validation logic goes here
  console.log(result);

  return response;
}
```

## Field Selection <a href="#field-selection" id="field-selection"></a>

This option lets you choose whether Clearout's Form Guard should automatically detect and attach validation to email fields or apply validation only to specific fields of your choice.

By default, the **Automatic** mode is enabled, allowing Clearout to identify form fields based on various techniques:

* Element's **type** is **email.**
* Element's name is equal to any one of **email**, **email\_address**, **clearout-email**
* Element has attribute **data-clearout-email-field**

When **Custom** mode is selected, you can manually specify the exact **email field** you want Form Guard to validate by providing a custom selector.

* **Targeting via Selector**: Enter a valid jQuery selector that targets your specific email input element (for example, `[name='Email_Input']`, `#email_input`, or `.user-email`).

{% hint style="info" %}
**When to use Custom option?**[ ](#user-content-fn-1)[^1]

If your form uses custom field names, non-standard HTML attributes, or if you want precise control by targeting only specific input fields using a jQuery selector instead of automatic detection
{% endhint %}

## Optional Fields&#x20;

In case the email input field is set as optional, without requiring the visitor to fill it, then you can set this option to <mark style="color:$info;">**"Yes."**</mark>

Here's how it works:

* **If the field is left empty**: The form submission will proceed without validation for that field.
* **If the field is filled**: Even though it's optional, the entered value will be validated. The form will only be allowed to submit if the value passes validation based on your configured criteria.

## Testing&#x20;

For testing purposes, you can use the [test email addresses](/developers/api/overview#testing) to verify different validation scenarios without incurring any credit cost.&#x20;

[^1]:


# Phone Field Validation

Real-time phone number validation & formatting

The Form Guard provides a **flexible and powerful phone validation component** that allows you to configure how Clearout should validate phone numbers based on your specific requirements. This section covers

## Phone Field Setting Options&#x20;

The Guard creation or custom code can set the phone field options below.

<div data-with-frame="true"><figure><img src="/files/59ka1eoTlRPcwcMp5xHD" alt="select and customize phone validation settings for Phone Field"><figcaption><p>Customize how phone numbers are validated on your forms.</p></figcaption></figure></div>

### Acceptable Values&#x20;

* **Accept any Valid phone number (default)**: Allows any valid phone number with a valid format
* **Accept only Mobile phone numbers**: Allows only valid mobile phone numbers with a valid format.
* **Accept only Landline phone numbers**: Allows only landline phone numbers with a valid format
* **Custom**: Allows you to set your own custom validation rules for phone numbers
  * **Block Mobile Numbers**: Block mobile phone numbers from being submitted through the form
  * **Block Landline Numbers**: Block landline numbers from being submitted through the form
  * **Block Toll-Free Numbers**: Block toll-free phone numbers from being submitted through the form
  * **Block VOIP Numbers**: Block VOIP phone numbers from being submitted through the form
  * **Block Unknown status**: Block unknown phone numbers from being submitted through the form
  * **Block form submission on timeout**: Block form submission if the phone validation request times out
  * **Block form submission on usage limit crossed**: Block form submission when the phone validation usage limit is exceeded.

### Feedback Messages&#x20;

This option allows you to customize the feedback (error) messages displayed on forms when an invalid or unacceptable value is entered in the phone field.

* **Default**: A predefined set of feedback messages automatically set by the Form Guard.
* **Custom**: Displays all possible feedback message variations for the phone field (refer to the image below), with their default values shown as placeholder text in the input field.

<div data-with-frame="true"><figure><img src="/files/hShR2kVHDClPrQNaDzH2" alt="Customize feedback message for Phone validation" width="563"><figcaption></figcaption></figure></div>

## Hooks&#x20;

This option allows you to define custom JavaScript functions that execute either before or after Clearout's form validation.

### **On Before Verify**

This hook is triggered just before Clearout's Phone validation runs. The function receives two destructured parameters as defined below:

* **phone**: The value entered in the respective form field.
* **$form**: The jQuery-wrapped form element.

The function should return an object with is\_acceptable and error\_msg properties. Setting is\_acceptable to false will consider the input value as invalid with the message set on the error\_msg property.

* **is\_acceptable**: The validation status of the On Before Verify hook.
* **error\_msg**: The HTML error message string to be displayed in case of is\_acceptable is false.

```javascript
on_before_verify: function({ phone, $form }) {
  let response = { is_acceptable: true, error_msg: '' };

  // Custom validation logic goes here

  return response;
}
```

### **On After Verify**

This hook is triggered just after Clearout's Phone validation runs and has returned back with Clearout's Validation response. The function receives three destructured params:

* **phone**: The value entered in the respective form field
* **$form**: The jQuery-wrapped form element
* **result**: The Clearout's Validation result object

The function should return an object with is\_acceptable and error\_msg properties. Setting is\_acceptable to false will consider the input value as invalid with the message set on the error\_msg property.

* **is\_acceptable**: The validation status of the On After Verify hook.
* **error\_msg**: The HTML error message string to be displayed in case of is\_acceptable is false.

```javascript
on_after_verify: function({ phone, $form, result }) {
  let response = { is_acceptable: true, error_msg: '' };

  // Custom validation logic goes here
  console.log(result);

  return response;
}
```

## Field Selection&#x20;

This option lets you choose whether Clearout's Form Guard should automatically detect and attach validation to phone fields or apply validation only to specific fields of your choice.

By default, the **Automatic** mode is enabled, allowing Clearout to identify form fields based on various techniques:

* Element's **type is** of **tel**
* Element's name is equal to any one of **clearout-phone, mobile, phone, telephone, mobilephone**
* Element has attribute **data-clearout-phone-field**

When **Custom** mode is selected, you can manually specify the exact **phone field** you want Form Guard to validate by providing a custom selector.

* **Targeting via Selector**: Enter a valid jQuery selector that targets your specific phone input element (for example, `[name='Phone_Input']`, `#phone_input`, or `.user-phone`).

{% hint style="info" %}
**When to use Custom option?**[ ](#user-content-fn-1)[^1]

**Custom Field Names**: Your form uses unique or non-standard `id` or `name` attributes (e.g., `#user_mobile_input` or `name='Primary_Phone'`).

**Non-Standard Field Types**: The input element isn't set to `type="tel"` or lacks standard phone attributes.

**Targeted Validation**: You want to restrict validation strictly to a specific phone field on the page rather than relying on automatic detection across all fields
{% endhint %}

## Allowed Countries&#x20;

Option to accept phone numbers from certain countries only.

All countries are enabled by default, but you can limit this to specific ones if required.

* **All**: Accept phone numbers from every country.
* **Custom**: Accept phone numbers only from the countries you select. You may choose one or multiple options.

## Prefill Dial Code&#x20;

This option automatically inserts the appropriate dial code (e.g., +1) into the phone number field based on the visitor’s location.

* **Yes**: Automatically prefill the dial code using the visitor’s location.
* **No**: Do not prefill the dial code.

## Optional Fields&#x20;

In case the phone input field is set as optional, without requiring the visitor to fill it, then you can set this option to <mark style="color:$info;">**"Yes."**</mark>

**Here's how it works:**

* **If the field is left empty:** The form submission will proceed without validation for that field.
* **If the field is filled**: Even though it's optional, the entered value will be validated. The form will only be allowed to submit if the value passes validation based on your configured criteria.

## Testing&#x20;

For testing purposes, you can use the [test phone numbers](https://clearoutphone.io/supported-countries/) to verify different validation scenarios without incurring any credit cost. For more details about supported countries and phone number formats, please refer to our [Supported Countries](https://clearoutphone.io/supported-countries/) page.

[^1]:


# Name Field Validation

Validate name fields to prevent spam leads

The Form Guard provides a **flexible and powerful name validation component** that allows you to configure how Clearout should validate names based on your specific requirements. This section covers the various options available to customize the name validation behavior.

> **Note**: Current Gibberish name detection is based on Markov Chaining detection method and the model has been trained and tested for USA person names. You can control the detection accuracy by [**Gibberish Threshold**](#gibberish-threshold) **option**

## Name Field Setting Options&#x20;

Find below the various name field setting options that can be configured as part of the Guard creation or by using the customized code

<div data-with-frame="true"><figure><img src="/files/cv5y0utNO6e2i7VxDjuI" alt="select and customize Name validation settings for Name Field"><figcaption><p>Customize how names are validated on your forms.</p></figcaption></figure></div>

### Acceptable Values&#x20;

* **Accept any Valid name (default)**: Allows any name that is properly formatted, contains no profanity, and does not include special characters or numbers
* **Accept only Non-Gibberish names**: Allows only names with valid format and non-gibberish characters
* **Custom**: Allows you to set your own custom validation rules for names
  * **Block Gibberish Names**: Block names classified as gibberish by Clearout
  * **Block Profanity Words**: Prevent submission of names containing profanity or inappropriate language.
  * **Block form submission on timeout**: Block form submission if the name validation request times out
  * **Block form submission on usage limit crossed**: Block form submission when name validation usage limit exceeds

### Feedback Messages&#x20;

This option allows you to customize the feedback (error) messages displayed on forms when an invalid or unacceptable value is entered in the name field.

* **Default**: A predefined set of feedback messages automatically set by the Form Guard.
* **Custom**: Displays all possible feedback message variations for the name field, with their default values shown as placeholder text in the input field.

## Hooks&#x20;

This option allows you to define custom JavaScript functions that execute either before or after Clearout's form validation.

### **On Before Verify**

This hook is triggered just before Clearout's name validation runs. The function receives two destructured parameters as defined below:

* **name**: The value entered in the respective form field.
* **$form**: The jQuery-wrapped form element.

The function should return an object with is\_acceptable and error\_msg properties. Setting is\_acceptable to false will consider the input value as invalid with the message set on the error\_msg property.

* **is\_acceptable**: The validation status of the On Before Verify hook.
* **error\_msg**: The HTML error message string to be displayed in case is\_acceptable is false.

```javascript
on_before_verify: function({ name, $form }) {
  let response = { is_acceptable: true, error_msg: '' };

  // Custom validation logic goes here
  if (name.includes('test')) {
    response.is_acceptable = false; // Set is acceptable to false to prevent form submission
    response.error_msg = 'Test Names are not allowed !!';
  }

  return response;
}
```

### **On After Verify**

This hook is triggered just after Clearout's Name validation runs and has returned back with the Clearout's Validation response. The function receives three de-structured params:

* **name**: The value entered in the respective form field
* **$form**: The jQuery-wrapped form element
* **result**: The Clearout's Validation result object

The function should return an object with is\_acceptable and error\_msg properties. Setting is\_acceptable to false will consider the input value as invalid with message set on error\_msg property.

* **is\_acceptable**: The validation status of the On After Verify hook.
* **error\_msg**: The HTML error message string to be displayed in case of is\_acceptable is false.

```javascript
on_after_verify: function({ name, $form, result }) {
  let response = { is_acceptable: true, error_msg: '' };

  // Custom validation logic goes here
  console.log(result);

  return response;
}
```

## Field Selection&#x20;

This option lets you choose whether Clearout's Form Guard should automatically detect and attach validation to name fields or apply validation only to specific fields of your choice.

By default, the **Automatic** mode is enabled, allowing Clearout to identify form fields based on various techniques:

* Element's type is of **text** and name attribute is any one of **name**, **first-name**, **last-name**, **first\_name**, **last\_name**, **firstname**, **lastname**, **clearout-name**
* Element has attribute **data-clearout-name-field**

When **Custom** mode is selected, you can manually specify the exact **name field** you want Form Guard to validate by providing a custom selector.

* **Targeting via Selector**: Enter a valid jQuery selector that targets your specific name input element (for example, `[name='User_Name']`, `#name_input`, or `.user-fullname`).

{% hint style="info" %}
**When to use Custom option?**[ ](#user-content-fn-1)[^1]

**Custom Field Names**: Your form uses unique or non-standard  `name` attributes (e.g., `#user_name_input` or `name='Primary_Name'`).

**Non-Standard Field Types**: The input element isn't set to `type="text"` or lacks standard name attributes.

**Targeted Validation**: You want to restrict validation strictly to a specific name field on the page rather than relying on automatic detection across all fields
{% endhint %}

## Gibberish Threshold&#x20;

Defines the sensitivity level for gibberish detection. Possible values: Off, Low, High (default: High). Higher values apply stricter detection criteria.

## Optional Fields&#x20;

In case the name input field is set as optional, without requiring the visitor to fill it, then you can set this option to <mark style="color:$info;">**"Yes."**</mark>

**Here's how it works**:

* **If the field is left empty**: The form submission will proceed without validation for that field.
* **If the field is filled**: Even though it's optional, the entered value will be validated. The form will only be allowed to submit if the value passes validation based on your configured criteria.

## Testing&#x20;

For testing purposes, you can use the following test names to verify different validation scenarios without incurring any credit cost.

<table><thead><tr><th width="185.84375">Test Name</th><th width="127.71484375">Gibberish</th><th width="148.33984375">Clearout Status</th><th>Profanity</th><th>Description</th></tr></thead><tbody><tr><td>Elon Musk</td><td>false</td><td>valid</td><td>false</td><td>Valid name with proper formatting</td></tr><tr><td>Bill Gates</td><td>false</td><td>valid</td><td>false</td><td>Valid name with proper formatting</td></tr><tr><td>John Doe</td><td>false</td><td>valid</td><td>false</td><td>Valid name with proper formatting</td></tr><tr><td>James aaa</td><td>true</td><td>invalid</td><td>false</td><td>Contains gibberish text</td></tr><tr><td>john19890512</td><td>true</td><td>invalid</td><td>false</td><td>Completely gibberish text</td></tr><tr><td>Mr1 Smith</td><td>false</td><td>invalid</td><td>false</td><td>Invalid name with number in title</td></tr><tr><td>M~r. Smith</td><td>false</td><td>invalid</td><td>false</td><td>Contains special character (~)</td></tr><tr><td>asdnaksjfajksfnjaksf</td><td>true</td><td>valid</td><td>false</td><td>Gibberish name, keyboard smash</td></tr><tr><td>qwertyuiop</td><td>true</td><td>valid</td><td>false</td><td>Gibberish name, keyboard smash</td></tr><tr><td>Élon Mùsk</td><td>false</td><td>valid</td><td>false</td><td>Accented valid name with proper formatting</td></tr><tr><td>Ävinfgùelsk</td><td>true</td><td>valid</td><td>false</td><td>Accented Gibberish name</td></tr><tr><td>asshole</td><td>false</td><td>valid</td><td>true</td><td>Profanity word with proper formatting</td></tr><tr><td>shit</td><td>false</td><td>valid</td><td>true</td><td>Profanity word with proper formatting</td></tr></tbody></table>

[^1]:


# Advanced Settings

Configure form guard validation rules.

This section covers all advanced configuration options for the Guard.

{% hint style="info" %}
**Note:** If you're a first-time user, it's recommended to proceed with the default settings by clicking Continue. This will create a Guard with the standard configuration, allowing you to see how the Form Guard functions on your forms.

If you are updating the Form Guard settings, make sure to reload any pages where the Form Guard is integrated. This ensures the Guard loads with the updated settings and reflects the latest changes correctly.
{% endhint %}

## Timeout&#x20;

This setting defines the maximum time (in seconds) before validation times out. By default, if validation exceeds the timeout limit, the input value is considered acceptable, and form submission is not blocked. *(Default: **10 seconds**)*

It is recommended to keep this setting at its default value, as increasing the timeout may negatively impact the user experience.

## Mode&#x20;

This setting controls how and when the Form Guard triggers validation for form fields.

* **AJAX (Default)**: Validation is triggered when a user finishes interacting with a form field and moves focus away from it. This provides real-time feedback and is generally recommended for a smoother user experience.
* **FormSubmit**: Validation is triggered only when the user clicks the submit button. This mode validates all relevant fields at once, just before form submission.

Unless you have a specific reason to validate only on submission, it's recommended to keep this setting on AJAX for immediate validation feedback.

## Submit Button Selector&#x20;

The Clearout Form Guard is designed to detect the submit button automatically within your form. In most cases, no manual configuration is required.

However, if the Guard is unable to locate the submit button due to non-standard markup or dynamic form rendering, you can manually specify it by providing a valid jQuery selector in this field.

Use this option only when the automatic detection fails, ensuring that the Guard can correctly bind validation behavior to the form submission process.

## On Ready Hook (Optional)&#x20;

This option allows you to define a custom JavaScript function that runs once Clearout's Form Guard has fully loaded on your page.

You can use this to execute custom JavaScript or CSS as soon as the Form Guard is initialized, enabling additional customization or functionality tailored to your needs.

```javascript
on_ready: function() {
  // Your custom initialization code here
  console.log('Clearout widget is ready!');

  // Add custom styling or functionality
  window.clearout.$('.my-form-field').addClass('some-custom-class');
}
```

## Trigger Form Discovery on Event&#x20;

This option accepts an event name and the Form Guard listens to the event and attaches it to the form on the page.

This is particularly useful where forms are dynamically loaded and an event is emitted once they are ready

## Limit Usage (Optional)&#x20;

This option allows you to set usage limits for your Form Guard, ensuring that validations do not exceed a specified threshold per IP or globally. This helps prevent excessive usage and protects your validation credits from being misused on pages where validations are enabled.

> **Default Behavior:** If the usage limit is exceeded, validations will no longer be performed for the respective inputs. However, form submissions will not be blocked. This behaviour can be changed by enabling the <mark style="color:$info;">**Block Form Submission on Limit Crossed**</mark> Setting on your **Acceptable Values** options in the previous step.

* **Per IP**: Defines the maximum number of validations allowed per individual IP address.
* **Globally**: Sets a usage limit for validations across the entire Form Guard.

## Add Form URLs (Optional)&#x20;

This option lets you restrict validations to specific URLs, ensuring that your Guard runs validations only on approved pages.

You can also use wildcard characters (<mark style="color:blue;">\*</mark>) to define patterns instead of listing individual URLs. Pattern Examples & Interpretation:

* **https\://\*.clearout.io/\*** → Allows access to any URLs and subdomains within Clearout.io.
* **<https://clearout.io/forms/\\>**\*  → Restricts access to URLs under /forms/ only.
* **<https://clearout.io/\\*/forms>**  → Grants access to any URL ending with /forms, regardless of its position in the path.

## Bot Detection (Optional)&#x20;

It is highly recommended to implement bot detection on forms to capture genuine human intent submission, thereby preventing the automated process of filling the forms, which may skew data and result in inaccurate analytics. Form Guard helps in automatic identification of bot filling through its unique methodology or by external providers such as Google

By choosing the **Default** option, your form is protected using Form Guard’s automatic detection system with no additional setup required.

Alternatively, if you prefer to use **Google reCAPTCHA v3 (invisible),** you can generate **a site key** and **secret key** from [here](https://developers.google.com/recaptcha/docs/v3) and configure it with a precise score value. The default score is 0.5, but you can change it to a value between 0.0 and 1.0. The higher the score, the more it helps reCAPTCHA check to determine very likely positive human interactions.

> **Recommendation**: If your form provider already supports reCAPTCHA, you do not need to enable this option here.


# Analytics

Monitor Form Guard performance, investigate blocked leads, and recover lost opportunities.

Use **Form Guard Analytics to** **track form performance**, **review blocked leads, and recover missed** **opportunities** across every Form Guard in your account. Analytics is account-wide, so it aggregates activity from all guards into one shared view with trends, breakdowns, and lead-level detail your team can act on.

## Accessing Analytics

Navigate to the [Form Guard list](https://app.clearout.io/form-guard/list) in your Clearout dashboard. At the top of the list page, find the row of summary metric cards and click **VIEW ANALYTICS** on the right.<br>

<div data-with-frame="true"><figure><img src="/files/18eh6NMusociPnS4SNtc" alt=""><figcaption></figcaption></figure></div>

{% hint style="info" %}
**Live data for Today**

When your date range is set to **Today**, a *Live Data* badge will appear. Use the **Refresh** button to pull the latest real-time numbers. Other date presets show compiled totals up to the last systematic refresh
{% endhint %}

## Analytics Core Tabs

Once inside the analytics dashboard page, use the side tab bar to jump between the three core areas:

* [**Overview**](https://app.clearout.io/form-guard/analytics): Monitor macro trends, field-level frictions, overall traffic quality, and page-level performance.
* [**Form Forensics**](https://app.clearout.io/form-guard/analytics/form-forensics): Look up individual leads to investigate exactly why a specific submission was allowed or blocked.
* [**Lost Leads**](https://app.clearout.io/form-guard/analytics/lost-leads): Review, analyze, and export real **pre-verified leads** that were blocked or abandoned before reaching your CRM.

<div data-with-frame="true"><figure><img src="/files/OjAfYTQdlr42fZBI5Bbn" alt=""><figcaption></figcaption></figure></div>

## Filters & Main Scorecard

### Global Filters

The controls located above the **performance summary** manage your entire view across the active Analytics tab.

<table><thead><tr><th width="180">Control</th><th>What it does</th></tr></thead><tbody><tr><td><strong>Date range picker</strong></td><td>Switch between presets like <em>Today</em>, <em>Yesterday</em>, <em>This week</em>, <em>Last 7 days</em>, <em>Last week</em>, <em>This Month</em>, <em>Last Month</em>, <em>Last 30 Days</em>, <em>This Year</em>, and <em>Last Year</em>, or choose a custom range. All Analytics sections refresh when this changes.</td></tr><tr><td><strong>Refresh</strong></td><td>Fetches the data again for the selected date range. The nearby timestamp shows the last fetch time.</td></tr><tr><td><strong>Export CSV</strong></td><td>Downloads the current Analytics view as a CSV file named for the active date range.</td></tr></tbody></table>

### Form Monitor <a href="#performance-summary" id="performance-summary"></a>

The Form Monitor is the primary scorecard at the top of the Overview tab, providing five core metrics at a glance alongside period-over-period delta percentages.

<table><thead><tr><th width="180">Metric</th><th>What it means</th></tr></thead><tbody><tr><td><strong>Forms Submitted</strong></td><td>Completed submissions processed by Form Guard. The sub-label reveals how many visitors started the form alongside your <strong>Abandonment Rate</strong>.</td></tr><tr><td><strong>Validations</strong></td><td>The total number of individual form fields checked (across email, phone, and name) during the selected period.</td></tr><tr><td><strong>Blocked</strong></td><td>Submissions flagged as risky, fake, or invalid and stopped before they could reach your CRM. The sub-label displays your overall <strong>Block Rate</strong>.</td></tr><tr><td><strong>Allowed</strong></td><td>Clean, high-quality submissions that successfully passed every enabled validation check.</td></tr><tr><td><strong>Avg Fill Time</strong></td><td>The average duration visitors spent filling out the form. Use this to quickly spot robotic behavior (instant fills) or confusing form layouts (abnormally long fill times).</td></tr></tbody></table>

Each card also shows a period-over-period delta. Use it to spot changes quickly.<br>

<div data-with-frame="true"><figure><img src="/files/Wh4zPRAa1yl5eFOTA0mK" alt=""><figcaption></figcaption></figure></div>

{% hint style="info" %}
**What counts as a visitor?**

A unique visitor is any browser session that loaded a page with your Form Guard script and performed some action on the form.

**Forms Submitted** and **Validations** metrics only count visitors who engaged with the form
{% endhint %}

## Traffic & Lead Quality Insights <a href="#lead-quality" id="lead-quality"></a>

### Lead Quality Breakdown <a href="#lead-quality" id="lead-quality"></a>

This section helps you break down exactly why submissions were allowed or blocked by merging two critical visual widgets:

#### Block Composition <a href="#block-composition" id="block-composition"></a>

The donut chart splits total blocked submissions across three validator categories:

* **Email**: Failures due to invalid formatting, disposable domains, free/role-based addresses, gibberish strings, or catch-all setups.
* **Phone**: Failures caused by invalid numbers, blocked line types (e.g., premium/voip restrictions), or restricted countries.
* **Name**: Failures triggered by invalid characters, obvious gibberish, or profanity filter hits.

The donut center shows the total blocked count. The legend shows each category's share. A badge in the card header shows the overall block rate.

<div data-with-frame="true"><figure><img src="/files/jPzTklIb8JRNZMHLKJCV" alt=""><figcaption></figcaption></figure></div>

#### Top Reasons <a href="#top-reasons" id="top-reasons"></a>

Ranks the top five reasons behind blocked or allowed submissions. Use the toggle to switch between **Blocked** and **Allowed**. Use the filter pills for **All**, **Email**, **Phone**, or **Name**.

Click **View More** to expand the full list. Click any row to open **Form Forensics** with that reason pre-filtered.

<div data-with-frame="true"><figure><img src="/files/cPYxeq1R3JTjYZQ51qVL" alt=""><figcaption></figcaption></figure></div>

### Visitor & Traffic Insights <a href="#visitor-and-traffic-insights" id="visitor-and-traffic-insights"></a>

This section helps you separate traffic quality from traffic volume. It combines **Unique Visitors** and **Countries**.

#### Unique Visitors <a href="#unique-visitors" id="unique-visitors"></a>

The chart shows unique visitors across the selected date range. The time scale adjusts automatically for the selected period.

Look for these patterns:

* **Sudden spikes** - often due to a new campaign or a bot wave.
* **Flat or zero traffic** - often a sign that the Form Guard script is not loading.\ <br>

  <div data-with-frame="true"><figure><img src="/files/l3qy1z0Hg7Uj2IJvqD7L" alt=""><figcaption></figcaption></figure></div>

#### Countries <a href="#countries" id="countries"></a>

The countries card ranks the countries that drive the most submissions. Toggle between **Blocked** and **Allowed** to compare suspicious traffic with genuine demand.

Each row shows the country flag, country name, validation count, and share of the total.

<div data-with-frame="true"><figure><img src="/files/ipXLRbzeerjZg9lXdvl3" alt=""><figcaption></figcaption></figure></div>

{% hint style="success" %}
**Act on country trends**

If a country shows a high number of blocked submissions, it helps you identify where most low-quality or unwanted leads are coming from. You can use these insights to optimize your GTM strategy, targeting, and campaign efforts accordingly.
{% endhint %}

### Page Insights <a href="#page-insights" id="page-insights"></a>

**Page Insights** breaks activity down by page URL.

<table><thead><tr><th width="180">Column</th><th>What it shows</th></tr></thead><tbody><tr><td><strong>Page URL</strong></td><td>The full page URL where Form Guard was triggered.</td></tr><tr><td><strong>Validations</strong></td><td>Total validations on that page.</td></tr><tr><td><strong>Allowed</strong></td><td>Validations that passed on that page.</td></tr><tr><td><strong>Blocked</strong></td><td>Validations blocked on that page.</td></tr><tr><td><strong>Block Rate</strong></td><td>Number of Blocked divided by Number of validations for that page.</td></tr></tbody></table>

Every column is sortable. Use the URL filter when a guard runs across many pages.

{% hint style="info" %}
**How to read block rate**

A high block rate usually points to one of three things: bot traffic, a strict rule, or a broken form flow. Check **Form Forensics** before changing your guard settings.
{% endhint %}

## Form Forensics (Lead Lookup) <a href="#form-forensics" id="form-forensics"></a>

[**Form Forensics**](https://app.clearout.io/form-guard/analytics/form-forensics) is your granular lookup tool to answer a single question: *What exactly happened to this specific lead?*<br>

<div data-with-frame="true"><figure><img src="/files/HOoqwpP8CVE1jpS93Bjt" alt=""><figcaption></figcaption></figure></div>

### Searching for a lead <a href="#searching-for-a-lead" id="searching-for-a-lead"></a>

Search by **email address**, **phone number**, or **name**. Form Forensics detects the input type and returns matching validation history for the selected date range.

<table><thead><tr><th width="140">Column</th><th>Description</th></tr></thead><tbody><tr><td><strong>Lead</strong></td><td>The input value.</td></tr><tr><td><strong>Verdict</strong></td><td>Whether the input value was allowed or blocked.</td></tr><tr><td><strong>Reason</strong></td><td>The specific reason behind the verdict.</td></tr><tr><td><strong>Page URL</strong></td><td>The page where the validation happened.</td></tr><tr><td><strong>Country</strong></td><td>The visitor's country.</td></tr><tr><td><strong>Time</strong></td><td>Relative time and exact timestamp.</td></tr></tbody></table>

{% hint style="info" %}
The search box performs a case-insensitive partial match across all lead data, including email, phone, and name. Enter any fragment to find matching records without needing a full email, name or phone number.
{% endhint %}

### Drilling in from Lead Quality <a href="#drilling-in-from-lead-quality" id="drilling-in-from-lead-quality"></a>

Click any reason in **Top Reasons** to open **Form Forensics** with that reason already applied. Clear the reason chip to return to the free-text search.<br>

<div data-with-frame="true"><figure><img src="/files/10R1VeRwBzCk2xxtni6E" alt=""><figcaption></figcaption></figure></div>

### Exporting <a href="#forensics-export" id="forensics-export"></a>

Use **"Export Leads"** to download the current result set as CSV.

## Lost Leads (Recovery Workflow) <a href="#lost-leads" id="lost-leads"></a>

A **lost lead** is a high-intent visitor who entered a fully valid email or phone number but never made it to your CRM because they abandoned the form midway or were blocked due to a secondary field failure

Use [Lost Leads](https://app.clearout.io/form-guard/analytics/lost-leads) to recover real pre-verified leads that were blocked or abandoned before they reached your CRM.

{% hint style="warning" %}
**Data Retention Policy**:

Lost leads are retained on a rolling **30-day window**. Because older lead data goes cold quickly, expired records are permanently purged. We highly recommend mapping out a frequent export schedule.at the table shows
{% endhint %}

<table><thead><tr><th width="140">Column</th><th>Description</th></tr></thead><tbody><tr><td><strong>Name / Email / Phone</strong></td><td>The values the visitor entered before leaving or being blocked.</td></tr><tr><td><strong>Intent</strong></td><td><strong>Blocked</strong> (Form Guard rejected the final submission) or <strong>Abandoned</strong> (the visitor dropped off mid-funnel).</td></tr><tr><td><strong>Attempts</strong></td><td>How many submission attempts the visitor made.</td></tr><tr><td><strong>Page URL</strong></td><td>The page where the activity happened.</td></tr><tr><td><strong>Time</strong></td><td>Relative time and exact timestamp.</td></tr></tbody></table>

<div data-with-frame="true"><figure><img src="/files/d2N2Xv3sbPTGdbnkLmnb" alt=""><figcaption></figcaption></figure></div>

### Recovering a lead <a href="#recovering-a-lead" id="recovering-a-lead"></a>

Common recovery workflows include:

* **Email follow-up**: Contact leads who entered a usable address.
* **Phone follow-up**: Prioritize leads with reachable numbers.
* **Fix the block** - review the case in [**Form Forensics**](https://app.clearout.io/form-guard/analytics/form-forensics), then update [**Advanced Settings**](/form-guard/advanced-settings) if a real lead was blocked by mistake.

### Date range and export <a href="#lost-leads-date-range-and-export" id="lost-leads-date-range-and-export"></a>

The **Lost Leads** uses its date range picker. Each query is limited to a maximum 30-day span for optimal performance. Use **Export CSV** to download your current view and archive your leads before they age out of the system

{% hint style="success" %}
**Make Lost Leads a daily workflow**

Many teams review yesterday’s blocked and abandoned leads each day, recover the real ones, and use the patterns to refine their GTM strategy.
{% endhint %}

## Related <a href="#related" id="related"></a>

* [Form Guard Overview](https://docs.clearout.io/form-guard/overview): Learn what Form Guard does and how to install it on your site.
* [Advanced Settings](https://docs.clearout.io/form-guard/advanced-settings): Configure the rules and filters that shape the verdicts shown in Analytics.
* [Email](https://docs.clearout.io/form-guard/email-field-validation), [Phone](https://docs.clearout.io/form-guard/phone-field-validation), and [Name Field Validation](https://docs.clearout.io/form-guard/name-field-validation): Dive deeper into the specific validator rules behind each allowed or blocked response.


# Developer

Form guard API & developer implementation

While the Form Guard is designed for easy use requiring only a simple copy-paste and no coding there are several advanced features available through the **Form Guard SDK** that can be utilized on the client side. These capabilities are intended for **advanced users** who are comfortable writing and customizing JavaScript code.

> **Note:** Writing incomplete or syntactically incorrect code can break Clearout's Form Guard functionality on your forms. Always test custom scripts thoroughly in a **sandbox environment** before deploying them to production.

## Getting Started with the Basics&#x20;

**How to ensure the Clearout's JS has loaded correctly on the page?**&#x20;

Once you've added Clearout's JS code to your page, **refresh the page** and **open the browser** console.

You should see the below-mentioned log message indicating that **Clearout's SDK has been successfully initialized along with the version.**

<div data-with-frame="true"><figure><img src="/files/4d6SXlWG9dBdazPf3X5x" alt="Console log showing Clearout SDK initialization" width="563"><figcaption></figcaption></figure></div>

This log ensures that the Form Guard is active and ready to perform validations on your page.

### Enabling debug mode & inspect options&#x20;

Enabling **Debug Mode** provides detailed and descriptive logs in the browser console. These logs include insights such as

* Field detection and validation processes
* API request and response details
* Error messages and warnings
* Performance metrics

To enable debug mode, you can override the options in your JavaScript code:

```html
<script>
    function onCoJSScriptLoaded() {
      console.log('Clearout JS Loaded - Overriding Options!!');
      window.clearout.options.debug = true
      window.clearout.options.inspect = true
    }
</script>
<script id="clearout-js-widget" src="https://clearout.io/jswidget/{your_app_id}" async onload="onCoJSScriptLoaded()"></script>
```

> **Note:** Debug mode should only be enabled in development environments as it may impact performance and expose sensitive information.

## Basic Configuration&#x20;

### Overriding Options&#x20;

In Clearout's Form Guard, settings are managed through the Clearout Dashboard. However, you can override these settings on the client side if needed. For example:

```html
<script>
  function onCoJSScriptLoaded() {
    console.log('Clearout JS Loaded - Overriding Options!!');
    window.clearout.options.mode = 'formSubmit'
    window.clearout.options.email.block_free_account = true
    window.clearout.options.email.feedback_free_account_message = 'Free email accounts are not allowed :('
  }
</script>
<script id="clearout-js-widget" src="https://clearout.io/jswidget/{your_app_id}" async onload="onCoJSScriptLoaded()"></script>
```

This will force the Form Guard to use FormSubmit mode and block free email accounts, regardless of the dashboard settings.

### **Custom Form Selection**&#x20;

The **window\.clearout.options.form\_elements** option allows you to specify which form elements on the page require validation. This is particularly useful for div-based or non-standard forms or custom form implementations.

```javascript
window.clearout.options.form_elements = [
  {selector:'#custom-form-container'}, // treats this id selector as a form with default widget options
  {selector: '.dynamic-form-wrapper', options: {mode: 'formSubmit'}}, // treats this class selector as a form with formSubmit mode
  {selector: '[data-form-type="custom"]', options: {mode: 'ajax', email: {block_free_account: true}}} // treats this data-form-type attribute selector as a form with ajax mode and blocks free email accounts
];
```

### **Pre-filled Value Validation**&#x20;

The **window\.clearout.options.prefill\_validation** option enables validation of pre-filled values in form fields. This is useful when forms are pre-populated with data and you want to validate these values immediately.

```javascript
window.clearout.options.prefill_validation = true;
```

### **Built-in Error Message Suppression**&#x20;

The **window\.clearout.options.suppress\_form\_builtin\_error\_message\_selector** option allows you to specify selectors for form elements whose built-in error messages should be suppressed. This helps prevent duplicate error messages when using Clearout's validation.

```javascript
window.clearout.options.suppress_form_builtin_error_message_selector = '.form-error-message, .validation-message';
```

### **Phone Field Overlay**&#x20;

The **window\.clearout.options.phone.overlay** option enables Clearout to create an enriched phone UI component over your form's existing phone field. This provides enhanced validation and formatting capabilities.

```javascript
window.clearout.options.phone.overlay = true;
```

### **Form Discovery**&#x20;

The form discovery options allow you to configure the duration and interval for form discovery. This is useful when you have forms that are dynamically loaded on the page.

```javascript
window.clearout.options.form_discovery_duration = 15000; // Max allowed time in millseconds to discover forms on page, set to -1 for infinite
window.clearout.options.form_discovery_interval = 500; // Interval time in milliseconds between form discovery attempts
```

## Disabling Validation on Particular Fields&#x20;

In some cases, you may want to exclude certain fields from Clearout's validation. This is particularly useful when you have duplicate fields (like email and confirm email) where validating both fields would be redundant.

To disable validation on a specific field, simply add the **data-clearout-validation-disable** attribute to the field element. The Form Guard will automatically ignore any fields with this attribute.

```html
<form id="signup-form">
  <input type="email" name="email" placeholder="Enter your email">
  <input type="email" name="confirm_email" placeholder="Confirm your email" data-clearout-validation-disable>
  <button type="submit">Sign Up</button>
</form>
```

**Note**: This attribute is particularly useful for

* Confirm email fields
* Hidden fields that don't require validation
* Fields that are handled by other validation systems
* Fields that are temporarily disabled or read-only

## Disabling Validation on Particular Form&#x20;

In some cases, you may want to exclude validation for a specific form on the page.&#x20;

To disable validation on a specific form, simply add the **data-clearout-form-identifier=false** attribute to the \<FORM/> element. The Form Guard will automatically ignore the form with this attribute.

## Available Options&#x20;

Here are all the configurable options available in the Clearout FormGuard:

```javascript
window.clearout.options = {
  api_url: config.API_URL,
  timeout: 10,
  mode: 'ajax',

  on_ready: null,
  form_elements: [], // changed
  suppress_form_builtin_error_message_selector: null,

  submit_button_cursor_style: 'pointer',
  submit_button_selector: null,

  auto_validation: true,
  prefill_validation: false,

  bot_detection: {
     enabled: false, // Boolean type - whether bot detection need to be performed during validation
     provider:null,  // String type - provider can be either Google reCaptcha or Cloudflare Turnstile
     data: null      // Object type - object to hold provider specific keys
   },

  feedback_google_recaptcha: 'Google Recaptcha Verification Failed',
  feedback_cloudflare_turnstile: 'Bot Validation Failed, Please refresh the page',

  inspect: false,
  debug: false,

  email: {
    elements: [],
    enabled: true,

    allow_safe_to_send_yes: false, // changed

    block_role_account: false,
    block_free_account: false,
    block_disposable_account: true,
    block_unknown_status: false,
    block_catchall_status: false,
    block_gibberish_account: false,
    block_form_submission_on_timeout: false,
    block_form_submission_on_limit_crossed: false,

    feedback: true,
    optional: false,
    selector: null,

    on_before_verify: null,
    on_after_verify: null,

    suggest_email: false,
    suggest_email_message_template: 'Did you mean __SUGGESTED_EMAIL_ADDRESS__?',

    feedback_invalid_classname: 'co-error-msg',
    feedback_invalid_message: 'Invalid email address',
    feedback_role_account_message: 'Invalid - Role account not allowed',
    feedback_free_account_message: 'Invalid - Free account not allowed',
    feedback_disposable_account_message: 'Invalid - Disposable account not allowed',
    feedback_unknown_message: 'Unable to verify the email address, try after sometime',
    feedback_catchall_message: 'Catch All email not acceptable, please enter a different email address',
    feedback_gibberish_message: 'Invalid - Gibberish email address not allowed',
    feedback_safe_to_send_only_message: 'Please enter different email, entered email is not safe',
    feedback_on_timeout_message: 'Email could not be verified - timeout occurred',
    feedback_on_usage_limit_crossed_message: 'Unable to verify the email address, usage limit crossed',
  },

  phone: {
    elements: [],
    enabled: false,

    block_mobile_numbers: false,
    block_landline_numbers: false,
    block_toll_free_numbers: false,
    block_voip_numbers: false,
    block_unknown_type: false,
    block_form_submission_on_timeout: false,
    block_form_submission_on_limit_crossed: false,
    allowed_countries: [],
    prefill_dial_code: false,

    selector: null,
    optional: false,

    on_before_verify: null,
    on_after_verify: null,

    feedback: true,
    feedback_invalid_message: 'Invalid phone number',
    feedback_invalid_classname: 'co-phone-error-msg',
    feedback_mobile_message: 'Invalid - Mobile numbers not allowed',
    feedback_landline_message: 'Invalid - Landline numbers Not allowed',
    feedback_toll_free_message: 'Invalid - Toll Free numbers not allowed',
    feedback_voip_message: 'Invalid - VOIP numbers not allowed',
    feedback_unknown_message: 'Invalid - Unknown numbers not allowed',
    feedback_on_timeout_message: 'Phone Number could not be verified - timeout occurred',
    feedback_on_usage_limit_crossed_message: 'Unable to verify the phone number, usage limit crossed',
  },

  name: {
    elements: [],
    enabled: false,
    gibberish_threshold: 'high',

    block_gibberish_name: true,
    block_profanity_words: true,
    block_form_submission_on_timeout: false,
    block_form_submission_on_limit_crossed: false,

    selector: null,
    optional: false,
    on_before_verify: null,
    on_after_verify: null,

    feedback: true,
    feedback_invalid_message: 'Invalid name',
    feedback_invalid_classname: 'co-name-error-msg',
    feedback_gibberish_message: 'Invalid - Gibberish name not allowed',
    feedback_profanity_message: 'Invalid - Profanity words are not allowed',
    feedback_on_timeout_message: 'Name could not be verified - timeout occurred',
    feedback_on_usage_limit_crossed_message: 'Unable to verify the Name, usage limit crossed',
  }
}
```

Search:

<table><thead><tr><th width="101.7890625">Field</th><th width="184.03515625">Setting</th><th width="114.046875">Type</th><th width="127.8515625">Default Value</th><th>Description</th></tr></thead><tbody><tr><td>email</td><td>block_catchall_status</td><td>Boolean</td><td>false</td><td>Boolean to block form submission for emails with a catch-all status, where the mailbox accepts all addresses regardless of validity.</td></tr><tr><td>email</td><td>block_disposable_account</td><td>Boolean</td><td>true</td><td>Boolean to block form submission if the email is from a disposable or temporary email provider</td></tr><tr><td>email</td><td>block_form_submission_on_limit_crossed</td><td>Boolean</td><td>false</td><td>Boolean to block form submission when your app’s email validation usage limit has been exceeded.</td></tr><tr><td>email</td><td>block_form_submission_on_timeout</td><td>Boolean</td><td>false</td><td>Boolean to block form submission if the email validation request times out</td></tr><tr><td>email</td><td>block_free_account</td><td>Boolean</td><td>false</td><td>Boolean to block form submission for emails from free providers like Gmail, Yahoo, or Outlook.</td></tr><tr><td>email</td><td>block_gibberish_account</td><td>Boolean</td><td>false</td><td>Boolean to block emails identified as gibberish or invalid, preventing submission of nonsensical or fabricated addresses.</td></tr><tr><td>email</td><td>block_role_account</td><td>Boolean</td><td>false</td><td>Boolean to prevent form submission if the email is a role-based address (e.g., admin@, support@, info@)</td></tr><tr><td>email</td><td>block_unknown_status</td><td>Boolean</td><td>false</td><td>Boolean to block form submission if the email status couldn't be determined by Clearout</td></tr><tr><td>email</td><td>elements</td><td>Array</td><td>null</td><td>Allows you to specify an array of email validation configurations, each with a corresponding jQuery selector. This is particularly useful when you have multiple email fields on a page that require different validation rules. Each item in the array defines the selector for the input field and the specific validation settings to apply.</td></tr><tr><td>email</td><td>enabled</td><td>Boolean</td><td>true</td><td>Boolean to enable or disable email validation for the form</td></tr><tr><td>email</td><td>feedback</td><td>Boolean</td><td>true</td><td></td></tr><tr><td>email</td><td>feedback_catchall_message</td><td>HTML String</td><td>catch all email not acceptable, please enter a different email address</td><td>Option to provide a custom HTML string to be displayed when email status is catchall</td></tr><tr><td>email</td><td>feedback_disposable_account_message</td><td>HTML String</td><td>invalid - disposable account not allowed</td><td>Option to provide a custom HTML string to be displayed when disposable account is detected</td></tr><tr><td>email</td><td>feedback_free_account_message</td><td>HTML String</td><td>invalid - role account not allowed</td><td>Option to provide a custom HTML string to be displayed when free account is detected</td></tr><tr><td>email</td><td>feedback_gibberish_message</td><td>HTML String</td><td>invalid - gibberish email address not allowed</td><td>Option to provide a custom HTML string to be displayed when its a classified as a gibberish email</td></tr><tr><td>email</td><td>feedback_invalid_classname</td><td>String</td><td>co-error-msg</td><td>Option to add a custom CSS class to Clearout’s feedback HTML container for styling purposes.</td></tr><tr><td>email</td><td>feedback_invalid_message</td><td>HTML String</td><td>invalid email address</td><td>Option to provide a custom HTML string displayed when an invalid email is detected.</td></tr><tr><td>email</td><td>feedback_on_timeout_message</td><td>HTML String</td><td>email could not be verified - timeout occurred</td><td>Option to provide a custom HTML string to be displayed when validation timeout occurs</td></tr><tr><td>email</td><td>feedback_on_usage_limit_crossed_message</td><td>HTML String</td><td>unable to verify the email address, usage limit crossed</td><td>Option to provide a custom HTML string to be displayed when usage limit has crossed on your app</td></tr><tr><td>email</td><td>feedback_role_account_message</td><td>HTML String</td><td>invalid - role account not allowed</td><td>Option to provide a custom HTML string to be displayed when role account is detected</td></tr><tr><td>email</td><td>feedback_safe_to_send_only_message</td><td>HTML String</td><td>please enter different email, entered email is not safe</td><td>Option to provide a custom HTML string to be displayed when the email is not Safe to Send</td></tr><tr><td>email</td><td>feedback_unknown_message</td><td>HTML String</td><td>unable to verify the email address, try after sometime</td><td>Option to provide a custom HTML string to be displayed when unknown email is detected</td></tr><tr><td>email</td><td>on_after_verify</td><td>Function</td><td>null</td><td>Callback function executed immediately after Clearout’s validation completes, useful for handling post-validation actions.</td></tr><tr><td>email</td><td>on_before_verify</td><td>Function</td><td>null</td><td>Callback function executed immediately before Clearout’s validation starts, useful for performing pre-validation logic.</td></tr><tr><td>email</td><td>optional</td><td>Boolean</td><td>false</td><td>Boolean indicating if the email field is optional; when true, empty values are accepted and skipped during validation.</td></tr><tr><td>email</td><td>safe_to_send_only</td><td>Boolean</td><td>false</td><td>A super status option that allows only emails classified as “safe to send.” This is the strictest setting and overrides all other block rules.</td></tr><tr><td>email</td><td>selector</td><td>jQuery selector</td><td>null</td><td>Option to specify a jQuery selector to attach Clearout’s validation. Only needed if Clearout is unable to automatically detect the email field. This explicitly sets the target for validation when automatic detection fails.</td></tr><tr><td>email</td><td>suggest_email</td><td>Boolean</td><td>true</td><td>Boolean to enable displaying suggested corrections for common email typos as an error message.</td></tr><tr><td>email</td><td>suggest_email_message_template</td><td>HTML String</td><td>did you mean __suggested_email_address__?</td><td>Option to provide a custom HTML string for displaying suggested email corrections, where a placeholder is replaced with the suggested email address.</td></tr><tr><td>form</td><td>auto_discovery</td><td>Boolean</td><td>true</td><td>Enables or disables automatic detection and attachment of validation widgets to forms present on the page. When set to true, the widget will scan the DOM and initialize validation on all eligible forms automatically.</td></tr><tr><td>form</td><td>bot_detection</td><td>Object</td><td>bot_detection: { enabled: false, provider: null, data: null }</td><td>Enable bot protection for form submissions. Use Form Guard's automatic detection or an external provider such as Google reCaptcha v3.</td></tr><tr><td>form</td><td>debug</td><td>Boolean</td><td>false</td><td>Enables the generation of debug logs in the browser console. Useful for troubleshooting and monitoring validation behavior during development.</td></tr><tr><td>form</td><td>feedback_cloudflare_turnstile</td><td>HTML String</td><td>bot validation failed, please refresh the page</td><td>Specifies the error message displayed when Clearout Bot validation fails</td></tr><tr><td>form</td><td>feedback_google_recaptcha</td><td>HTML String</td><td>google recaptcha verification failed</td><td>Specifies the error message displayed when Google reCAPTCHA validation fails</td></tr><tr><td>form</td><td>form_discovery_duration</td><td>Number</td><td>15000</td><td>Specifies the maximum duration (in milliseconds) allowed for scanning the page to discover and attach validation to forms. Set to -1 to enable unlimited scanning time. -1 for infinite</td></tr><tr><td>form</td><td>form_discovery_interval</td><td>Number</td><td>500</td><td>Defines the time interval (in milliseconds) between consecutive scans of the page for form discovery and attachment.</td></tr><tr><td>form</td><td>form_elements</td><td>Array</td><td>null</td><td>Allows manual specification of one or more form elements to which the validation widget should be attached. This is especially useful for non-standard forms, such as those constructed with &#x3C;div> containers instead of &#x3C;form> tags. Additionally, this option supports applying different validation settings to multiple forms on the same page by associating each form element with its own configuration.</td></tr><tr><td>form</td><td>inspect</td><td>Boolean</td><td>false</td><td>options to allow visual highlighting of input fields that have validation rules attached</td></tr><tr><td>form</td><td>mode</td><td>String</td><td>ajax</td><td>Defines the validation trigger mode. By default, validation is performed when an input field loses focus (onBlur). Setting this to formSubmit will defer validation until the form's submit button is clicked, at which point all eligible fields will be validated. ajax formSubmit</td></tr><tr><td>form</td><td>on_ready</td><td>Function</td><td>null</td><td>Defines a callback function to be executed once the widget has fully loaded and is ready on the page. Use this to perform any initialization or custom logic after the widget becomes available. function() {}</td></tr><tr><td>form</td><td>prefill_validation</td><td>Boolean</td><td>false</td><td>Determines whether validation should be performed on pre-filled form fields when the widget initializes. When enabled, existing input values are validated immediately upon page load.</td></tr><tr><td>form</td><td>submit_button_cursor_style</td><td>String</td><td>pointer</td><td>Specifies the CSS cursor style to apply to the submit button. If not provided, the widget will inherit the cursor style defined by the form's existing styles.</td></tr><tr><td>form</td><td>submit_button_selector</td><td>jQuery selector</td><td>null</td><td>Specifies a jQuery selector for the form’s submit button. This is useful in cases where the widget cannot automatically identify the correct submit button.</td></tr><tr><td>form</td><td>suppress_form_builtin_error_message_selector</td><td>jQuery selector</td><td>null</td><td>option to supress form's built in error msg (used in hs)</td></tr><tr><td>form</td><td>timeout</td><td>Number</td><td>10</td><td>Specifies the maximum duration (in seconds) allowed for validation to complete. If validation exceeds this time limit, the entry will be permitted by default—unless the block_on_timeout setting is enabled. Max 180</td></tr><tr><td>form</td><td>trigger_form_discovery_on_event</td><td>String</td><td>null</td><td>event to listen to before loading the SDKSpecifies the name of an event to listen for before initiating form discovery on the page. Form scanning and validation attachment will start only after this event is triggered.</td></tr><tr><td>name</td><td>block_form_submission_on_limit_crossed</td><td>Boolean</td><td>false</td><td>Boolean to block form submission when your app’s email validation usage limit has been exceeded.</td></tr><tr><td>name</td><td>block_form_submission_on_timeout</td><td>Boolean</td><td>false</td><td>Boolean to block form submission if the email validation request times out</td></tr><tr><td>name</td><td>block_gibberish_name</td><td>Boolean</td><td>true</td><td>Boolean to allow or block names classified as gibberish by Clearout.</td></tr><tr><td>name</td><td>block_profanity_words</td><td>Boolean</td><td>true</td><td>Boolean to allow or block names containing words of profanity</td></tr><tr><td>name</td><td>elements</td><td>Array</td><td>null</td><td>Allows you to specify an array of name validation configurations, each with a corresponding jQuery selector. This is especially useful when multiple name fields on a form require different validation rules. Each item in the array defines the selector for the input field and the specific validation settings to apply.</td></tr><tr><td>name</td><td>enabled</td><td>Boolean</td><td>false</td><td>Boolean to enable or disable name validation for the form</td></tr><tr><td>name</td><td>feedback</td><td>Boolean</td><td>true</td><td></td></tr><tr><td>name</td><td>feedback_gibberish_message</td><td>HTML String</td><td>invalid - gibberish name not allowed</td><td>Option to provide a custom HTML string displayed when an gibberish name is detected.</td></tr><tr><td>name</td><td>feedback_profanity_message</td><td>HTML String</td><td>Invalid - Profanity words are not allowed</td><td>Option to provide a custom HTML string displayed when a profanity word is detected</td></tr><tr><td>name</td><td>feedback_invalid_classname</td><td>HTML String</td><td>co-name-error-msg</td><td>Option to add a custom CSS class to Clearout’s feedback HTML container for styling purposes.</td></tr><tr><td>name</td><td>feedback_invalid_message</td><td>HTML String</td><td>invalid name</td><td>Option to provide a custom HTML string displayed when an invalid name is detected.</td></tr><tr><td>name</td><td>feedback_on_timeout_message</td><td>HTML String</td><td>name could not be verified - timeout occurred</td><td>Option to provide a custom HTML string to be displayed when validation timeout occurs</td></tr><tr><td>name</td><td>feedback_on_usage_limit_crossed_message</td><td>HTML String</td><td>unable to verify the name, usage limit crossed</td><td>Option to provide a custom HTML string to be displayed when usage limit has crossed on your app</td></tr><tr><td>name</td><td>gibberish_threshold</td><td>String</td><td>high</td><td>Defines the strictness level for gibberish detection, allowing adjustment of how aggressively invalid or nonsensical names are filtered.</td></tr><tr><td>name</td><td>on_after_verify</td><td>Function</td><td>null</td><td>Callback function executed immediately after Clearout’s validation completes, useful for handling post-validation actions.</td></tr><tr><td>name</td><td>on_before_verify</td><td>Function</td><td>null</td><td>Callback function executed immediately before Clearout’s validation starts, useful for performing pre-validation logic.</td></tr><tr><td>name</td><td>optional</td><td>Boolean</td><td>false</td><td>Boolean indicating if the email field is optional; when true, empty values are accepted and skipped during validation.</td></tr><tr><td>name</td><td>selector</td><td>jQuery selector</td><td>null</td><td>Option to specify a jQuery selector to attach Clearout’s validation. Only needed if Clearout is unable to automatically detect the name field. This explicitly sets the target for validation when automatic detection fails.</td></tr><tr><td>phone</td><td>allowed_countries</td><td>Array</td><td>[]</td><td>Option to accept phone numbers from certain countries only.</td></tr><tr><td>phone</td><td>block_form_submission_on_limit_crossed</td><td>Boolean</td><td>false</td><td>Boolean to block form submission when your app’s email validation usage limit has been exceeded.</td></tr><tr><td>phone</td><td>block_form_submission_on_timeout</td><td>Boolean</td><td>false</td><td>Boolean to block form submission if the email validation request times out</td></tr><tr><td>phone</td><td>block_landline_numbers</td><td>Boolean</td><td>false</td><td>Boolean to block landline phone numbers from being submitted through the form.</td></tr><tr><td>phone</td><td>block_mobile_numbers</td><td>Boolean</td><td>false</td><td>Boolean to block landline mobilenumbers from being submitted through the form.</td></tr><tr><td>phone</td><td>block_toll_free_numbers</td><td>Boolean</td><td>false</td><td>Boolean to block toll-freephone numbers from being submitted through the form.</td></tr><tr><td>phone</td><td>block_unknown_type</td><td>Boolean</td><td>false</td><td>Boolean to block unknown phone numbers from being submitted through the form.</td></tr><tr><td>phone</td><td>block_voip_numbers</td><td>Boolean</td><td>false</td><td>Boolean to block voip phone numbers from being submitted through the form.</td></tr><tr><td>phone</td><td>elements</td><td>Array</td><td>null</td><td>Allows you to specify an array of phone validation configurations, each with a corresponding jQuery selector. This is especially useful when multiple phone fields on a form require different validation rules. Each item in the array defines the selector for the input field and the specific validation settings to apply.</td></tr><tr><td>phone</td><td>enabled</td><td>Boolean</td><td>false</td><td>Boolean to enable or disable phone validation for the form</td></tr><tr><td>phone</td><td>feedback</td><td>Boolean</td><td>true</td><td></td></tr><tr><td>phone</td><td>feedback_invalid_classname</td><td>String</td><td>co-phone-error-msg</td><td>Option to add a custom CSS class to Clearout’s feedback HTML container for styling purposes.</td></tr><tr><td>phone</td><td>feedback_invalid_message</td><td>HTML String</td><td>invalid phone number</td><td>Option to provide a custom HTML string displayed when an invalid phone is detected.</td></tr><tr><td>phone</td><td>feedback_landline_message</td><td>HTML String</td><td>invalid - landline numbers not allowed</td><td>Option to provide a custom HTML string displayed when a landline phone is detected.</td></tr><tr><td>phone</td><td>feedback_mobile_message</td><td>HTML String</td><td>invalid - mobile numbers not allowed</td><td>Option to provide a custom HTML string displayed when an mobile phone is entered</td></tr><tr><td>phone</td><td>feedback_on_timeout_message</td><td>HTML String</td><td>phone number could not be verified - timeout occurred</td><td>Option to provide a custom HTML string to be displayed when validation timeout occurs</td></tr><tr><td>phone</td><td>feedback_on_usage_limit_crossed_message</td><td>HTML String</td><td>unable to verify the phone number, usage limit crossed</td><td>Option to provide a custom HTML string to be displayed when usage limit has crossed on your app</td></tr><tr><td>phone</td><td>feedback_toll_free_message</td><td>HTML String</td><td>invalid - toll free numbers not allowed</td><td>Option to provide a custom HTML string displayed when an toll-free phone is detected.</td></tr><tr><td>phone</td><td>feedback_unknown_message</td><td>HTML String</td><td>invalid - unknown numbers not allowed</td><td>Option to provide a custom HTML string displayed when phone number's status could not be determined</td></tr><tr><td>phone</td><td>feedback_voip_message</td><td>HTML String</td><td>invalid - voip numbers not allowed</td><td>Option to provide a custom HTML string displayed when an voip phone is detected.</td></tr><tr><td>phone</td><td>on_after_verify</td><td>Function</td><td>null</td><td>Callback function executed immediately after Clearout’s validation completes, useful for handling post-validation actions.</td></tr><tr><td>phone</td><td>on_before_verify</td><td>Function</td><td>null</td><td>Callback function executed immediately before Clearout’s validation starts, useful for performing pre-validation logic.</td></tr><tr><td>phone</td><td>optional</td><td>Boolean</td><td>false</td><td>Boolean indicating if the email field is optional; when true, empty values are accepted and skipped during validation.</td></tr><tr><td>phone</td><td>overlay</td><td>Boolean</td><td>false</td><td>Experimental: Option to enable Clearout’s enriched phone overlay on existing phone input fields with a country code dropdown. Enhances the user experience with formatting and validation support.</td></tr><tr><td>phone</td><td>prefill_dial_code</td><td>Boolean</td><td>false</td><td>Option to automatically add dial code (eg: +1) to phone number based on page visitor's location.</td></tr><tr><td>phone</td><td>selector</td><td>jQuery selector</td><td>null</td><td>Option to specify a jQuery selector to attach Clearout’s validation. Only needed if Clearout is unable to automatically detect the phone field. This explicitly sets the target for validation when automatic detection fails.</td></tr></tbody></table>

## Customizing Styles and CSS&#x20;

All UI components created by the **Clearout Form Guard** come with properly **namespaced CSS classes**, making it easy to target and customize their appearance using your own styles.

Below is a list of all elements and their associated class names:

* **co-input-container**: This is the main wrapper div, which is wrapped around the respective input container.
* **co-loader-container**: This is the loader container, which is placed on top of the container.
* **co-loader-img-container**: This is the loader image's container, which basically contains the tick, cross, or the loader.
* **co-feedback-container**: This is the container that contains the feedback elements and is positioned just below the input container.
* **co-feedback-msg**: This is the container containing the actual feedback message.

## Using the Validators&#x20;

All of Clearout's built-in **validators** are exposed under the global window\.clearout object. This allows advanced users to **directly** **access** **and** **invoke** **the** **verify** **method** of each validator, enabling deeper integration or custom validation logic in your application.

For example, you can manually trigger a validation like this:

```javascript
let emailValidationResponse = await window.clearout.emailValidator.verify({ email: 'us@clearout.io' })
console.log('Email Validation Response: ', emailValidationResponse.result)

let phoneValidationResponse = await window.clearout.phoneValidator.verify({ phone: '+918220154838' })
console.log('Phone Validation Response: ', phoneValidationResponse.result)

let nameValidationResponse = await window.clearout.nameValidator.verify({ name: 'Nishanth Babu' })
console.log('Name Validation Response: ', nameValidationResponse.result)
```

Using these exposed validation methods, you can verify the data in runtime alongside your client side logics to determine the status of data points at any point in your workflows.

## Using the Form Component&#x20;

To manually attach the Clearout Form Guard to specific forms using the SDK, you can use the globally available **FormValidator** class. This allows you to create an instance of the widget directly on a jQuery form object, offering precise control over which forms are initialized and how.

You can do this by instantiating **FormValidator** with two parameters: the jQuery form object and a custom options object. These options can either be inherited from the globally available **window\.clearout.options** or fully customized as per your requirements.

```javascript
new window.clearout.FormValidator(clearout.$('#testform'), clearout.options)
```

## Form Guard Callback Hooks&#x20;

The Clearout Form Guard currently supports three types of callback hooks that allow you to extend and customize the validation process:

* **on\_ready**\
  Triggered when the Clearout JS SDK is fully loaded and initialized on the page.
* **on\_before\_verify**\
  Triggered just before the input data is sent to Clearout for validation.
* **on\_after\_verify**\
  Triggered immediately after Clearout returns the validation response.

> Note: The <mark style="color:$info;">on\_before\_verify</mark> and <mark style="color:$info;">on\_after\_verify</mark> hooks are field-specific and are individually available for email, phone, and name validations. This allows you to apply fine-grained logic tailored to each input type.

### **on\_ready hook**&#x20;

The on\_ready hook is executed once the Clearout Form Guard SDK has fully loaded and initialized on the page. This hook is particularly useful for running initialization logic that needs to execute once the Form Guard is ready.

**Common use cases include:**

* Applying custom CSS or styling to Form Guard elements
* Adding specific data attributes to input fields
* Running setup scripts that depend on the Form Guard being initialized

This callback guarantees that all globally scoped variables—such as validators and configuration options—are accessible and fully initialized, ensuring a safe point to begin custom interactions with the widget.

### **on\_before\_verify hook**&#x20;

The **on\_before\_verify** hook is triggered just before the field data is sent to Clearout for validation. This hook is ideal for performing custom pre-validation checks on the input data.

**Function Parameters**

The callback receives a destructured object:

* **email, phone, or name**: The actual value being entered in the field
* <mark style="color:$info;">**$form**</mark>: The jQuery-wrapped form element

The Function is expected to return an object with is\_acceptable (true/false) and an error\_msg string. If **is\_acceptable** is set to **false**, the field will not be submitted, and the provided **error\_msg** will be displayed to the user.

This gives you complete control to add pre-checks or filters before Clearout runs its own verification logic.

```javascript
function ({ email, $form }) {
  let is_acceptable = true
  let error_msg = null
  console.log('Debug: OnBeforeVerify hook is called: ', { email, $form })

  // Your Logic goes here
  // a simple account length check
  let acctName = email.split('@')[0]
  if (acctName.length > 25) {
    is_acceptable = false
    error_msg = 'Email is too long! pls try a shorter email.'
  }
  return ({ is_acceptable, error_msg })
}
```

### **on\_after\_verify hook**&#x20;

The **on\_after\_verify** hook is triggered after Clearout returns a response for the field's validation. This hook is particularly useful for performing any post-verification checks, triggering workflows, or making UI changes based on the validation outcome.

**Function Parameters**&#x20;

The callback receives a destructured object:

* **email, phone, or name**: The actual value being entered in the field
* **$form**: The jQuery-wrapped form element
* **result**: The verification response

The Function is expected to return an object with is\_acceptable (true/false) and an error\_msg string. If **is\_acceptable** is set to **false**, the field will **not be submitted**, and the provided **error\_msg** will be displayed to the user.

This gives you complete control to add **post-checks or filters** after Clearout runs its own verification logic.

```javascript
function ({ phone, $form, result }) {
  let is_acceptable = true
  let error_msg = null
  console.log('Debug: OnBeforeVerify hook is called: ', { phone, $form, result })

  // Your Logic goes here
  // A Sample logic to determine the length of phone number
  if (phone.length !== 10) {
    error_msg = 'Invalid Phone number not allowed!'
    is_acceptable = false
  }
  return ({ is_acceptable, error_msg })
}
```


# FAQs

Find answers to common questions about the Form Guard.

## General Questions <a href="#general-questions" id="general-questions"></a>

<details>

<summary>What is form validation and why is it important?</summary>

Form validation is the process of checking whether the information submitted in a form is valid/accurate, complete, and properly formatted before it is accepted.

It helps prevent invalid or fraudulent submissions, improves the quality of collected data, and ensures that systems like CRMs and marketing platforms receive reliable information.

</details>

<details>

<summary>How do I remove the “<strong>Powered By</strong>” branding from my forms?</summary>

The moment you upgrade to any paid active subscription plan, the Clearout branding is automatically removed from your forms, no extra steps needed.

</details>

<details>

<summary>Can Form Guard prevent bots and spam submissions in real-time?</summary>

Yes. Form Guard validates form inputs in real time and detects suspicious or invalid submissions before they enter your system.

It can identify issues such as disposable email addresses, invalid domains, and bot-generated inputs, helping prevent spam leads from reaching your CRM or marketing tools.

</details>

<details>

<summary>What types of forms can be protected by Form Guard?</summary>

Form Guard can be used to protect most web forms that collect user information, including:

* Signup and registration forms
* Contact forms
* Lead generation forms
* Newsletter subscription forms
* Demo request or trial forms

It helps ensure that only valid and genuine submissions are accepted.

</details>

<details>

<summary>Do I need a developer to set up Form Guard?</summary>

You do not need a developer; Form Guard is a no-code form validation solution. The generated JavaScript snippet can be placed on your website's header HTML, and all settings can be customised through the Form Guard dashboard

</details>

<details>

<summary>Does form validation affect legitimate users?</summary>

No. Form Guard is designed to validate form inputs without disrupting the experience for legitimate users.

If an issue is detected, users typically receive a prompt to correct the input before submitting the form.

</details>

<details>

<summary>How fast does Form Guard validate form submissions?</summary>

Form Guard performs validation in real time during the form submission process. Most validations complete within seconds, depending on the type of checks being performed and the responsiveness of external mail servers.

</details>

<details>

<summary>How often should form validation rules be reviewed or updated?</summary>

Form validation rules should be reviewed periodically to ensure they continue to detect new spam patterns, disposable email domains, and evolving bot behavior.

Regular updates help maintain strong protection against fraudulent or low-quality submissions.

</details>

<details>

<summary>Can Form Guard improve data quality?</summary>

Yes. By filtering invalid or suspicious submissions before they reach your CRM or database, Form Guard helps ensure that collected data is accurate, reliable, and usable for sales or marketing activities.

</details>

<details>

<summary>What are common errors detected during form validation?</summary>

Form validation typically detects issues such as:

* Invalid email formats
* Disposable or temporary email addresses
* Non-existent domains
* Suspicious submissions
* Incomplete or improperly formatted fields

These checks help prevent low-quality data from entering your system.

</details>

<details>

<summary>How do bots submit forms on websites?</summary>

Bots can automatically fill and submit web forms using scripts that mimic user behavior. These bots often submit fake or disposable email addresses, random names, or incomplete data to exploit signup forms, contact forms, or lead generation forms.

Without proper validation, these automated submissions can quickly fill databases with low-quality or fraudulent entries.

</details>

<details>

<summary>How can I stop fake form submissions on my website?</summary>

Fake form submissions can be reduced by implementing real-time form validation and verification mechanisms.

Solutions like Form Guard help detect and block suspicious inputs such as disposable emails, invalid domains, or automated bot activity before the form is successfully submitted. This prevents fake data from reaching your CRM or marketing systems.

</details>

<details>

<summary>What is real-time form validation?</summary>

Real-time form validation checks the information entered in a form while the user is filling it out or at the moment of submission.

This allows errors or suspicious inputs to be detected immediately, giving users a chance to correct the information and preventing invalid or fraudulent submissions from being processed.

</details>

## Security Questions

<details>

<summary>How does Form Guard keep it safe from unauthorized use?</summary>

Form Guard has multiple layers of protection to keep your credits safe:

1. [**Allowed URLs**](/form-guard/advanced-settings#add-form-urls-optional) **-** only requests from URLs you've added under **Advanced Settings** are accepted. Requests from anywhere else are rejected automatically.
2. [**Rate limiting**](/form-guard/advanced-settings#limit-usage-optional) - enforced at both the **per-IP level** (to stop floods from a single source) and the **global level** (to cap overall request volume), protecting you from distributed abuse.
3. **Built-in abuse detection** - requests are validated for authenticity, so copy-pasted or modified snippets won't work elsewhere. Unauthorized usage is blocked before it consumes credits.

Together, these ensure your credits are spent only on legitimate validations.

</details>

## Technical Questions

<details>

<summary>The widget is working but consuming too many credits. How can I optimize usage?</summary>

**Usage Limits**

Enable usage limits in the Form Guard settings to control validation frequency.

**Custom Validation**

Implement custom validation logic using hooks to prevent unnecessary API calls.

**FormSubmit Mode**

Use FormSubmit mode instead of AJAX for less frequent validations.

**Timeout Settings**

Set appropriate timeout values to prevent excessive validation attempts.

</details>

<details>

<summary>Can I use the widget with multiple forms on the same page?</summary>

Yes, the widget supports multiple forms on the same page. Here's what you need to know:

Each form should have unique field IDs or names to prevent conflicts.

**Multiple Fields Option**

Use the Multiple Fields option if your forms require different validation rules.

**Credit Usage**

Be mindful of API credit usage when validating multiple forms simultaneously.

</details>

## Analytics Questions

<details>

<summary>How is <strong>Total value protected</strong> calculated?</summary>

Form Guard calculates **Total value protected** by damage type. Each blocked entry is classified by the kind of damage it would have caused if it had reached your CRM. It then applies a conservative industry-average cost to that block.

The current defaults are:

* **Deliverability damage avoided** — **$10** per blocked bad email for sender reputation, bounce-rate impact, and wasted nurture.
* **Sales time waste prevented** — **$6** per blocked bad phone for rep time, lookup costs, and opportunity cost.
* **CRM hygiene protected** — **$3** per blocked nonsense entry for data quality, personalization, and reporting impact.

> Total value protected = (Bad Email × $10) + (Bad Phone × $6) + (Bad Name × $3)

</details>

<details>

<summary>Why does Form Guard count by damage type instead of just by lead?</summary>

Different bad data creates different downstream cost.

A disposable email can hurt sender reputation and trigger wasted outreach sequences. A fake phone wastes sales time. A nonsense name pollutes your CRM and weakens reporting. Grouping all blocked entries into one flat number hides what Form Guard is actually saving.

</details>

<details>

<summary>Where did the $10, $6, and $3 figures come from?</summary>

These are conservative blended estimates from industry research:

* **$10 for deliverability** draws on Validity, SendGrid, and Litmus data on sender reputation damage and bounced nurture sequences.
* **$6 for sales time saved** blends Salesloft and Outreach data on cost per touchpoint with average loaded sales rep cost.
* **$3 for CRM hygiene** reflects Gartner research on the operational cost of bad CRM data.

Form Guard uses the conservative end of each range by design. Real cost per blocked entry is often higher, especially in B2B and enterprise funnels.

</details>

<details>

<summary>Can I customize these values?</summary>

Not yet. Per-form configuration for damage-type values is planned.

Today, the defaults apply universally so the dashboard works out of the box with no setup. When custom values ship, the math stays the same. You will be able to override each damage-type value with your own numbers.

</details>

## Billing Questions

<details>

<summary>How are credits calculated for the Form Guard?</summary>

Credits are calculated based on the following:

* Two credits per successful email validation
* Two credits per successful phone validation
* Two credits per successful name validation
* Credits are only consumed for successful validations

For more information, visit our [pricing guide](https://clearout.io/pricing-guide/).

</details>

<details>

<summary>What happens when I run out of credits?</summary>

When you run out of credits:

* The widget will continue to function but will not perform validations
* You'll receive a notification to purchase more credits
* Your existing forms will continue to work without validation

</details>

> Visit [Form Guard FAQs](/help-and-support/featured-answered/form-guard) to explore detailed answers and guidance.


# Overview

Real-time CRM data health monitoring with validation across email, phone, and name fields.

Data Pulse is a real-time data quality engine designed to ensure that the information entering your Go-to-Market (GTM) stack is accurate, verified, and actionable. Data Pulse main goal is to eliminate data decay and poor input quality at the source.

By implementing a pulsing mechanism, teams see an immediate improvement in:

{% hint style="info" %}

* **Contact Quality:** Higher conversion rates by filtering out disposable or fake leads.
* **Operational Efficiency:** Less time spent by sales reps manually correcting contact details.
* **Decision Freshness:** Real-time dashboards reflect the true state of your pipeline.
  {% endhint %}

<div data-with-frame="true"><figure><img src="/files/MvtIeYfYUPaJYv32lrZM" alt="" width="563"><figcaption><p>Explore the complete Data Pulse workflow. <a href="https://youtu.be/cHzavBYnSgU?si=5ZgEiLuBbs4Hg_3L">Watch Demo</a></p></figcaption></figure></div>

{% hint style="warning" %}
Data Pulse is currently available for **HubSpot and Salseforce CRM**. Support for additional data sources will be added soon.
{% endhint %}

Want support for your CRM or Go-to-Stack? Request it [here](https://changelog.clearout.io/).&#x20;

## The Pulsing Mechanism

The core of Data Pulse is the **Pulsing Engine**, which operates as an independent data quality layer to validate any contact that enters your contact storage system (e.g., HubSpot, Salesforce, Zoho).

<table data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><h4><strong>Capture &#x26; Intercept</strong></h4></td><td>As soon as a new contact is entered into your CRM system, Data Pulse intercepts the payload.</td></tr><tr><td><h4> <strong>In-Flight Validation</strong></h4></td><td>Instead of waiting for a batch process, the engine validates the data "in-flight." It checks for email deliverability, phone formatting, and name authenticity (detecting gibberish or offensive content).</td></tr><tr><td><h4><strong>Sync &#x26; Enrich</strong></h4></td><td>Pulsing is a two-way sync; once verified, the validated data is passed back to your Go-to-Stack (Salesforce, HubSpot, etc.) with additional meta-properties — validation status for email, phone, and name using Clearout's standard fields.</td></tr></tbody></table>

## Data Verification & Validation

Currently, Data Pulse supports **email**, **phone**, and **name** fields in your contact for validation.

* **Email Verification** - Classifies addresses as Valid, Deliverable, Risky, or Invalid. It also flags disposable email providers.
* **Name Validation** - Detects gibberish, random strings (e.g., `asdfgh`), and placeholder values (e.g., `N/A` or `Test`).
* **Phone Number Validation** - Verifies international formats and retrieves metadata, determining line type as Mobile, Fixed, or VoIP, along with carrier, location, and timezone details.

## Account Dashboard

The Account Dashboard provides a real-time view of your data quality, enrichment activity, and account performance, helping your team monitor trends and take action when needed.

### [Key Performance Metrics](/data-pulse/analytics#metrics)

Track important performance indicators and monitor how your data is trending over time. These metrics help your team measure progress, identify patterns, and make informed decisions.

### [Insights & Recommended Actions](/data-pulse/analytics#insights)

A live view of validation trends, allowing teams to see which sources are providing the highest (or lowest) quality data.

The dashboard reveals:

* Patterns in valid, invalid, and risky data
* Common data issues (e.g., increased gibberish names, disposable emails, etc.)
* Trends affecting overall data health

These insights help **monitor and track data quality** over time.

Once validated data flows back into your CRM, teams can put it to work across these use cases.

<table><thead><tr><th width="158">Use case</th><th>How teams use it</th></tr></thead><tbody><tr><td><strong>Segmentation</strong></td><td>Build segments from data quality signals: email status, phone status, phone line type, and name quality. Phone numbers are also enriched with country and timezone, so you can segment by location and send at the right local time.</td></tr><tr><td><strong>Personalization</strong></td><td>Personalize safely using validated fields. The name quality flag stops templates from greeting someone with a gibberish name, and line type tells you whether to reach a contact by call or SMS.</td></tr><tr><td><strong>Campaigns</strong></td><td>Target campaigns at contacts with a valid email status, so sends reach real inboxes and bounce rates stay low. Phone status and line type also let you target SMS to working mobile numbers.</td></tr><tr><td><strong>Sales outreach</strong></td><td>Give reps pre-checked contact details. Email and phone status show what is reachable, and line type shows whether a number is mobile or landline before they reach out.</td></tr></tbody></table>

### Top 5 Requests In Progress

View the five most recent enrichment requests currently being processed and monitor their progress in real time.

### Top 5 Recently Enriched

See the latest contacts that have been successfully enriched, allowing your team to quickly review recent activity and results.

<div data-with-frame="true"><figure><img src="/files/bGASs6lBQ9m7kTHEmqMN" alt=""><figcaption></figcaption></figure></div>

## Weekly Reporting

A data quality report is generated and delivered every **Monday**. The report summarises key validation metrics, trends, and data health indicators based on processed contact data.

**Enable or Disable Weekly Reports**

Go to the [Notification Settings](https://app.clearout.io/settings/notifications) page to enable or disable weekly report delivery. This is **enabled** by default. You can opt in or opt out of receiving weekly reports at any time.

<div data-with-frame="true"><figure><img src="/files/jfh8Ccmj1zGDZbkKmiqe" alt=""><figcaption></figcaption></figure></div>


# Features & Functionality

The core functionality of the **Data Pulsing Engine** is to act as a real-time data quality layer to validate and qualify your contacts in CRMs (e.g., HubSpot, Salesforce, Zoho) by eliminating any external automation platforms/tools.

### Data Verification & Validation

Currently, Data Pulse supports **email**, **phone**, and **name** fields in your contact record for validation.

* **Email Verification** - Classifies addresses as Valid, Deliverable, Risky, or Invalid. It also flags disposable email providers.
* **Name Validation** - Detects gibberish, random strings (e.g., `asdfgh`), and placeholder values (e.g., `N/A` or `Test`).
* **Phone Number Validation** - Verifies international formats and retrieves metadata, determining line type as Mobile, Fixed, or VoIP, along with carrier, location, and timezone details.

### Reports and Insights

#### Weekly Reporting

A data quality report is generated and delivered every **Monday**. The report summarizes key validation metrics, trends, and data health indicators based on processed contact data.

**Enable or Disable Weekly Reports**

Go to the **Data Pulse Settings** page to enable or disable weekly report delivery.

<figure><img src="/files/ozV6NEbEvwsys0tuPeiY" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
You can opt in or opt out of receiving weekly reports at any time from the [**Settings page**](http://app.clearout.io/settings/data_pulse)**.**
{% endhint %}

#### Analytics Dashboard

A live view of validation trends, allowing teams to see which sources are providing the highest (or lowest) quality data.

The dashboard reveals:

* Patterns in valid, invalid, and risky data
* Common data issues (e.g., increased gibberish names, disposable emails, etc.)
* Trends affecting overall data health

These insights help **monitor and track data quality** over time.


# Implementation & Setup

Follow the steps to integrate Data Pulse and activate data validation and monitoring in your CRM.

## Getting Started

{% stepper %}
{% step %}

### Connect Your Data Source

#### Select Data Source

Choose the data source you want to connect.

<div data-with-frame="true"><figure><img src="/files/ntz7sW4cP7upUcbzbIXK" alt=""><figcaption></figcaption></figure></div>

#### Select Enrichment Type

Choose the fields you want to enrich. You can select one or more enrichment options based on your requirements.

<div data-with-frame="true"><figure><img src="/files/QwCPoWp50aHfgwGedOGh" alt=""><figcaption></figcaption></figure></div>

{% hint style="warning" %}
At least one field must be selected to continue.
{% endhint %}

Connect your Go-to-Stack data source (Salesforce, HubSpot, etc.) to begin.
{% endstep %}

{% step %}

### Configuring Data Field Mapping

Decide which fields require validation and define output metadata fields for appending.

#### Input Field Mappings

Map incoming fields from your data source to Data Pulse input fields to ensure accurate validation and enrichment. You can configure mappings using either a **preset** or by selecting **custom fields**.

Available presets:

* **Auto Map** - Automatically detects and maps fields based on the source structure.

<div data-with-frame="true"><figure><img src="/files/8mj6cVpzmh2qGU37owiC" alt=""><figcaption></figcaption></figure></div>

**Data Pulse Input Fields Reference**

<table><thead><tr><th width="166">Field Name</th><th>Description</th></tr></thead><tbody><tr><td><strong>First Name</strong></td><td>Given name associated with the contact</td></tr><tr><td><strong>Last Name</strong></td><td>Surname associated with the contact</td></tr><tr><td><strong>Full Name</strong></td><td>Combined name field (if available in source)</td></tr><tr><td><strong>Email</strong></td><td>Primary email address for validation and enrichment</td></tr><tr><td><strong>Phone</strong></td><td>Contact number for validation and formatting</td></tr><tr><td><strong>Country</strong></td><td>Geographic identifier used to determine the country dialling code during phone validation if the dialling code is not present in the number</td></tr></tbody></table>

#### Output Field Mappings

Choose which fields should be returned and synced back after enrichment. You can configure mappings using either a **preset** or by selecting **custom fields**.

Available presets:

* **All** - Selects every available output field.
* **Mandatory Fields** - Selects only the required fields.

<div data-with-frame="true"><figure><img src="/files/ZvvslAL3nlEaG9kDSJRH" alt=""><figcaption></figcaption></figure></div>

**Output Fields Reference**

{% tabs %}
{% tab title="Email" %}

<table data-search="false"><thead><tr><th>Clearout Field Name</th><th>Description</th></tr></thead><tbody><tr><td><strong>Status</strong> <em>(Mandatory)</em></td><td>Validation status of the email</td></tr><tr><td><strong>Safe to Send</strong> <em>(Mandatory)</em></td><td>Indicates if the email is safe for outreach</td></tr><tr><td><strong>Reason</strong></td><td>Reason associated with the validation result</td></tr><tr><td><strong>SMTP Provider</strong></td><td>Identified email service provider</td></tr><tr><td><strong>Free Domain</strong></td><td>Indicates if the email uses a free/public email provider</td></tr><tr><td><strong>Role Email</strong></td><td>Indicates if the email is a role-based address (e.g., info@, support@, admin@)</td></tr><tr><td><strong>Disposable Email</strong></td><td>Indicates if the email uses a temporary/disposable domain</td></tr><tr><td><strong>Gibberish Email</strong></td><td>Indicates if the email's local part appears to be random or meaningless characters</td></tr></tbody></table>
{% endtab %}

{% tab title="Phone" %}

| Clearout Field Name         | Description                                 |
| --------------------------- | ------------------------------------------- |
| **Status** *(Mandatory)*    | Validation status of the phone number       |
| **Carrier**                 | Telecom carrier information                 |
| **Country Name**            | Country associated with the number          |
| **Country Timezone**        | Timezone of the detected country            |
| **E164 Format**             | Standardized international format           |
| **Line Type** *(Mandatory)* | Type of phone line (mobile, landline, etc.) |
| **Location**                | Geographic location metadata                |
| **DST Observed Hrs**        | Hours adjusted for daylight saving time     |
| {% endtab %}                |                                             |

{% tab title="Name" %}

| Clearout Field Name               | Description                                     |
| --------------------------------- | ----------------------------------------------- |
| **Normalized Name** *(Mandatory)* | The cleaned/standardized version of the name    |
| **Gibberish** *(Mandatory)*       | Indicates if the name appears invalid or random |
| **Status**                        | Validation result for the name                  |
| {% endtab %}                      |                                                 |

{% tab title="Miscellaneous" %}

| Clearout Field Name           | Description                             |
| ----------------------------- | --------------------------------------- |
| **Enriched On** *(Mandatory)* | Timestamp when enrichment was performed |
| {% endtab %}                  |                                         |
| {% endtabs %}                 |                                         |

{% hint style="info" %}
You can save custom field mappings as a new preset. Saved presets can be reused for the same data source in future configurations. This applies to both import and output field mappings.
{% endhint %}
{% endstep %}

{% step %}

#### Activate Data Pulse

<div data-with-frame="true"><figure><img src="/files/xMhJ6z0sWQbQ6aH6xV4C" alt=""><figcaption></figcaption></figure></div>

Complete the setup wizard to activate real-time validation and enrichment.\
Weekly data quality report is **enabled by default**. You can opt-in or opt-out of the report here.
{% endstep %}
{% endstepper %}

### Continuous Monitoring & Automation

Once active, Data Pulse runs automatically in the background:

* Validates new data as it is added to connected sources
* Pauses real-time monitoring and disables all active accounts when credits are exhausted
* Sends you an email whenever monitoring pauses
* Resumes monitoring automatically for system disabled accounts when credits are replenished
* Sends you an email once Data Pulse is back online monitoring

<div data-with-frame="true"><figure><img src="/files/LC4qsRJOkmAEeuYqw8Vg" alt=""><figcaption></figcaption></figure></div>

### Disconnecting a Data Source

#### Stop Pulsing

To pause validation without removing the data source:

1. Go to the [**Data Pulse homepage**](https://app.clearout.io/data-pulse)
2. Click **Disable** against your data source
3. Confirm to stop real-time validation and enrichment

<div data-with-frame="true"><figure><img src="/files/k0xuft0UAZr8mKWjeeyS" alt=""><figcaption></figcaption></figure></div>

#### Remove Data Source

To fully disconnect and remove a data source:

1. Click the **three-dot menu (⋮)** for the data source
2. Select **Disconnect**

{% hint style="danger" %}
**Disconnecting removes the data source from Clearout entirely.** This may impact other features or workflows that rely on the same source.
{% endhint %}


# Analytics

Use analytics to track validation results, identify issues, and measure data health over time.

<figure><img src="/files/ZVK21ckyJHl14Zs4BWNl" alt=""><figcaption></figcaption></figure>

## Metrics

Metrics are measurable indicators used to track the quality, performance, and changes in your data over time.

You can view overall usage metrics on the **Data Pulse homepage** and account-specific metrics on the **account overview page**.

<figure><img src="/files/lhFeYBeq3cDKhS2aOcf0" alt=""><figcaption></figcaption></figure>

### Metric Change Indicators

Metrics display change indicators to show how values have shifted over time:

* **Since this week** — Indicates the change in a metric during the current week, representing either an increase or decrease compared to the overall (lifetime) total.
* **Daily (resets every day)** — Indicates the change in a metric within the current day, relative to the overall (lifetime) total. Resets at the start of each day.

<div data-with-frame="true"><figure><img src="/files/u5nUqeOn06qhPSYjVXS0" alt=""><figcaption></figcaption></figure></div>

#### Metrics Reference

| Metric                                                          | Description                                                                               | What You Can Infer                                                                                  | Time Frame                    |
| --------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | ----------------------------- |
| **Active Accounts**                                             | Number of connected data sources currently active in Data Pulse                           | Indicates how many sources are actively being monitored and how this has changed over the last week | Since this week               |
| **Contacts Monitored**                                          | Total number of contacts processed and monitored for validation                           | Higher numbers indicate increased data activity and system usage                                    | Since this week               |
| **Bad Fields**                                                  | Number of fields identified as invalid or low quality                                     | Helps assess overall data quality; higher values indicate potential issues in incoming data         | Since this week               |
| **Enriched Today**                                              | Number of contacts enriched on the current day                                            | Shows real-time enrichment activity and daily system usage                                          | Daily (resets every day)      |
| [**Cost Saved**](/data-pulse/faqs#how-is-cost-saved-calculated) | Estimated cost saved from validation                                                      | Reflects ROI by preventing wasted outreach on invalid data                                          | Since this week               |
| **Deliverability Rate**                                         | Percentage of email contacts that are valid and guaranteed to reach the recipient's inbox | Indicates overall email data quality; lower values suggest potential validity issues                | Based on selected date filter |
| **Invalid Rate**                                                | Percentage of contacts identified as invalid based on email, phone, or name validation    | Indicates the proportion of poor-quality data; higher values suggest issues in data collection      | Based on selected date filter |

## Insights

Insights in Data Pulse interpret data quality metrics to identify trends, detect issues, and highlight opportunities to improve email, phone, and name accuracy.

<div data-with-frame="true"><figure><img src="/files/bUQFSG8gSp4zWEKo9SFs" alt=""><figcaption></figcaption></figure></div>

### Insight Categories

* **Validation Insights** — Highlight issues in your data quality by focusing on invalid, risky, or unreliable data such as disposable emails or unverified contacts. These help you understand what is negatively impacting your data accuracy and deliverability.
* **Growth Insights** — Show how your data is evolving over time by tracking improvements or gaps such as increasing contact quality, better field coverage, or missing data needed for outreach.
* **Actionable Insights** — Point to specific problems that need immediate attention, identifying clear issues like poor data sources or risky inputs, with direct recommended actions to fix them.
* **Educational Insights** — Help you understand your data and best practices by explaining why certain actions matter and guiding you on how to maintain good data quality and performance.

### Insights Reference

| Category    | Insight Title                    | Insight                                                                                                                     | Recommended Action                                                             |
| ----------- | -------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| Growth      | **Low Business Email Coverage**  | A significant portion of your contacts do not have business email addresses, limiting effective B2B targeting and outreach. | Use Email Finder to enrich contacts with business email addresses.             |
| Validation  | **Disposable Emails Detected**   | A portion of your contacts are using disposable email addresses, reducing data reliability and engagement quality.          | Block disposable emails at the point of capture using Form Guard.              |
| Actionable  | **Poor Quality Source Detected** | One or more data sources are introducing low-quality contacts into your system, impacting overall accuracy and reliability. | Audit the identified source and validate contact data before ingestion.        |
| Educational | **Discover New Contacts**        | Prospecting helps you discover new companies and contacts that match your ideal customer profile, enabling pipeline growth. | Start prospecting to find new contacts and expand your outreach opportunities. |


# Supported Data Sources

Data Pulse connects to the systems where your contacts live and keeps that data clean automatically. This page explains what a data source is, what Data Pulse does with one once it is connected, and which sources are supported today.

{% hint style="info" %}
New to Data Pulse? Start with the [Overview](/data-pulse/overview) to understand the pulsing engine, then come back here to connect your first source.
{% endhint %}

### What is a data source?

A data source is any system that stores your contact records and that Data Pulse can connect to, monitor, and write results back into. In most cases this is your CRM (for example, HubSpot or Salesforce).

When you connect a data source, Data Pulse becomes a live data-quality layer on top of it. It does not replace your CRM and it does not move your data out of it. It listens for new contacts, validates them, and returns the results to the same records.

{% hint style="warning" %}
Write-back is append-only. Data Pulse only adds or updates its own Clearout fields on a contact. Your original CRM values are never changed or removed.
{% endhint %}

### Supported sources at a glance

<table><thead><tr><th width="127">Data source</th><th width="97">Status</th><th width="177">Connection method</th><th width="162">What it monitors</th><th>Setup performed by</th></tr></thead><tbody><tr><td><a href="/pages/CpdjEJvdFSZ8qarMjxIB#how-data-pulse-works">HubSpot</a></td><td>Live</td><td>OAuth</td><td>New contacts</td><td>Any user with HubSpot install permission</td></tr><tr><td><a href="/pages/b1xIoNihr0LYSAjOE8Lr#how-salesforce-two-way-sync-works">Salesforce</a></td><td>Live</td><td>Managed package plus OAuth-connected app</td><td>New leads</td><td>Salesforce administrator (one-time), then any assigned user</td></tr></tbody></table>

{% hint style="info" %}
Want a source that is not listed here? We prioritize the next integration based on customer demand. [Tell us which CRM](https://changelog.clearout.io/?_gl=1*7ajw74*_gcl_au*MjEyMDI0OTQyOC4xNzc4NzU2NTkzLjEzOTA5ODUyODcuMTc4NTE0OTI1NS4xNzg1MTQ5MjU0LjczMjc1MjA4Ni4xNzg1MTI5MDE4LjE3ODUxNDkyNTQ.*_ga*MTY5NTc4NTA3NS4xNzMxOTk3OTQy*_ga_QWRSQT3D41*czE3ODUxMjQwOTMkbzUzMCRnMSR0MTc4NTE1MzYzMSRqNTUkbDAkaDEyMTYzMTU1MTU.) your team runs and we'll move it up the queue.
{% endhint %}

### Fields Data Pulse validates

Across every supported source, Data Pulse currently validates three field types. You choose which ones to enable during setup, and at least one must be selected.

* **Email** - deliverability status, safe-to-send, disposable, role-based, free-domain, and gibberish checks.
* **Phone** - reachability, line type (mobile, fixed, or VoIP), carrier, country, and timezone.&#x20;
* **Name** - normalization plus gibberish and placeholder detection.

For the full list of input and output fields, see Implementation & Setup.

### Fields Data Pulse Updates

Post real-time verification Data Pulse appends its own set of Clearout result properties to your contact records. These carry the validation status and metadata for the fields you enabled, for example email status, safe-to-send, phone line type, and normalized name. Your existing properties are not touched.

<table data-header-hidden="false" data-header-sticky data-search="false"><thead><tr><th>Label</th><th width="111">Field Type</th><th>Description</th><th>Use Case</th><th>Property</th></tr></thead><tbody><tr><td>Clearout Email Safe To Send</td><td>Text</td><td>Indicates whether the contact's email is safe to send to based on its verification result.</td><td>Filter emails that are guaranteed to deliver without bouncing by selecting <strong>Safe to Send = Yes</strong>.</td><td>co_dp_e_safe</td></tr><tr><td>Clearout Email Status</td><td>Text</td><td>The email verification status such as Valid, Invalid, Catch-all, or Unknown.</td><td>Segment contacts by deliverability and decide which emails are worth contacting.</td><td>co_dp_e_status</td></tr><tr><td>Clearout Email Reason</td><td>Text</td><td>The sub-status explaining why the email received its verification result.</td><td>Understand and triage invalid or risky emails before deciding how to act on them.</td><td>co_dp_e_reason</td></tr><tr><td>Clearout Email SMTP Provider</td><td>Text</td><td>The SMTP or email service provider hosting the email's domain, such as Google or Microsoft.</td><td>Identify provider-specific deliverability patterns and tailor your sending strategy.</td><td>co_dp_e_smtp</td></tr><tr><td>Clearout Email Free Domain</td><td>Text</td><td>Indicates whether the contact's email belongs to a free email provider such as Gmail or Yahoo.</td><td>Distinguish personal email addresses from business email addresses when segmenting contacts.</td><td>co_dp_e_free</td></tr><tr><td>Clearout Email Role Email</td><td>Text</td><td>Indicates whether the contact's email is role based, such as info@, support@, or sales@.</td><td>Filter out shared mailboxes that are not tied to an individual.</td><td>co_dp_e_role</td></tr><tr><td>Clearout Email Disposable Email</td><td>Text</td><td>Indicates whether the contact's email belongs to a disposable or temporary email provider.</td><td>Exclude temporary email addresses from your CRM and outreach campaigns.</td><td>co_dp_e_disposable</td></tr><tr><td>Clearout Email Gibberish Email</td><td>Text</td><td>Indicates whether the email's local part appears to contain random or meaningless characters.</td><td>Flag low quality or fake email records to improve CRM quality.</td><td>co_dp_e_gibberish</td></tr><tr><td>Clearout Email Suggested Email</td><td>Text</td><td>A suggested correction for a likely mistyped email address.</td><td>Recover contacts entered with common email typos before discarding them.</td><td>co_dp_e_suggested</td></tr><tr><td>Clearout Name Gibberish</td><td>Text</td><td>Indicates whether the contact's name appears to contain random or meaningless characters.</td><td>Identify fake or low quality contact records.</td><td>co_dp_n_gibberish</td></tr><tr><td>Clearout Name Status</td><td>Text</td><td>The validation status of the contact's name.</td><td>Determine whether the provided value appears to be a person's name.</td><td>co_dp_n_status</td></tr><tr><td>Clearout Name Normalized</td><td>Text</td><td>The contact's name cleaned and standardized into a consistent format.</td><td>Keep name records consistent across your CRM and improve personalization.</td><td>co_dp_n_normalized_name</td></tr><tr><td>Clearout Phone Status</td><td>Text</td><td>The validation status of the phone number.</td><td>Filter out unreachable phone numbers before calling or texting.</td><td>co_dp_p_status</td></tr><tr><td>Clearout Phone Carrier</td><td>Text</td><td>The telecom carrier associated with the phone number.</td><td>Support carrier aware routing, cost optimization, or compliance checks.</td><td>co_dp_p_carrier</td></tr><tr><td>Clearout Phone Line Type</td><td>Text</td><td>The type of phone line, such as Mobile, Fixed Line, or VoIP.</td><td>Target SMS capable numbers and choose the appropriate communication channel.</td><td>co_dp_p_line_type</td></tr><tr><td>Clearout Phone Country Name</td><td>Text</td><td>The country associated with the phone number.</td><td>Segment contacts by country for regional campaigns.</td><td>co_dp_p_country_name</td></tr><tr><td>Clearout Phone E164 Format</td><td>Text</td><td>The phone number formatted according to the international E.164 standard.</td><td>Ensure consistent storage, reliable dialing, and duplicate detection.</td><td>co_dp_p_e164_format</td></tr><tr><td>Clearout Phone Location</td><td>Text</td><td>The geographic location associated with the phone number.</td><td>Target contacts based on location and localize outreach.</td><td>co_dp_p_location</td></tr><tr><td>Clearout Phone Country Timezone</td><td>Text</td><td>The timezone associated with the phone number's country.</td><td>Schedule calls and text messages at appropriate local times.</td><td>co_dp_p_country_timezone</td></tr><tr><td>Clearout Phone DST Observed</td><td>Text</td><td>Indicates whether Daylight Saving Time is currently observed.</td><td>Avoid contacting people too early or too late because of daylight saving adjustments.</td><td>co_dp_p_dst</td></tr><tr><td>Clearout Pulsed On</td><td>Date</td><td>The date and time when the contact was last enriched by Data Pulse.</td><td>Identify stale records that are due for revalidation or refresh.</td><td>co_dp_pulsed_on</td></tr></tbody></table>

> Property names may be prefixed or suffixed depending on the naming conventions supported by the destination platform.

### Next steps

* [Connect HubSpot](/integrations/hubspot/hubspot-crm#how-the-hobspot-two-way-sync-works)
* [Connect Salesforce](/integrations/salesforce#how-salesforce-two-way-sync-works)
* [Review Features & Functionality and FAQs](/data-pulse/faqs)


# FAQs

Find answers to common questions about the Data Pulse.

## Frequently Asked Questions

### General Questions

<details>

<summary>What does Data Pulse validate?</summary>

Data Pulse validates key contact data such as email addresses, phone numbers, and names. It checks for correctness, deliverability, formatting, and classification (e.g., valid, invalid, risky).

</details>

<details>

<summary>What problem does Data Pulse solve?</summary>

Data Pulse solves the problem of data degradation in your CRM by continuously validating and monitoring contact data after it is created. It ensures emails, phone numbers, and names remain accurate, standardized, and usable, while providing clear visibility into data quality, trends, and issues - without requiring manual effort or multiple tools.

</details>

<details>

<summary>Does Data Pulse update data back to the source?</summary>

Yes, validated and standardized data is written back to the source, ensuring your system always reflects the latest and most accurate information.

</details>

<details>

<summary>What is the frequency at which reports are sent by Data Pulse?</summary>

Data Pulse sends reports weekly, every Monday, based on the user's configured time zone.

</details>

<details>

<summary>Can I opt out of reports?</summary>

Yes. You can opt out at any time by disabling reports from the **Data Pulse Settings** page.

</details>

<details>

<summary>How is "Cost Saved" calculated?</summary>

Cost saved is an estimate of the value Data Pulse delivered by catching bad data before it does damage, not money billed, refunded, or transferred. It's a directional figure, calculated based on your activity.

{% code title="The formula" expandable="true" %}

```
Cost saved = ($2 × bad fields caught) + ($0.01 × contacts monitored)
```

{% endcode %}

* Why is each bad field worth $2?\
  A "bad field" is any invalid email, name, or phone, plus valid-but-disposable emails and valid-but-gibberish names.

  Left live in your CRM, each one quietly costs you downstream: a hard bounce that erodes your sender reputation, an SDR's time wasted dialing a dead number, budget spent emailing or advertising to someone who doesn't exist, and the deliverability hit that drags down your next campaign too.

  We anchor the $2 to the 1-10-100 rule, a *data-quality framework first published by Labovitz and Chang in 1992*: roughly $1 to prevent a bad record at entry, $10 to fix it later, and $100 if it's left unchecked. Data Pulse works at the prevention end—catching bad fields on arrival—so we price each catch at a conservative $2, near that prevention floor and far below the $10–$100 a bad record costs once it has spread through your campaigns, reports, and outreach.
* Why $0.01 per monitored contact?\
  Beyond catching bad data, Data Pulse keeps every contact under continuous watch so decay is caught as it happens rather than discovered in a future bulk clean-up.

  We value that ongoing monitoring at a fraction of a cent per contact.

{% code title="Example" expandable="true" %}

```
For an account with 50 bad fields caught and 47 contacts monitored:
($2 × 50) + ($0.01 × 47) = $100 + $0.47 = $100.47
```

{% endcode %}

* What this number is not:\
  The $2 and $0.01 rates are Clearout's assumptions, informed by the framework above but not a guaranteed return.

  Your actual savings depend on your send volume, how you use these contacts, and your cost of a bounce or bad call.

  We chose conservative, round rates so the estimate stays easy to audit — you can recompute it yourself from the formula at any time.

</details>

### Connections & Accounts

<details>

<summary>How many HubSpot accounts can I connect to one Clearout account?</summary>

There is no limit to the number of HubSpot accounts you can connect to a single Clearout account. You can connect and manage multiple accounts without any restrictions.

</details>

<details>

<summary>Can real-time Data Pulse be active for a HubSpot account on multiple Clearout accounts?</summary>

No. At any given time, real-time Data Pulse can only be active on one Clearout account per HubSpot account.

</details>

<details>

<summary>How do I validate my existing data in HubSpot CRM before connecting Data Pulse?</summary>

To validate data already in your HubSpot CRM, use Clearout's native integrations:

* Use **Clearout Email Verification** to validate email addresses
* Use **Clearout Phone Validation** to validate phone numbers

Once validated, the results can be synced back to HubSpot, ensuring your existing data is clean and standardized before enabling Data Pulse.

</details>

### Credits & Billing

<details>

<summary>How many credits are charged for data validation and verification?</summary>

2 credits are charged per validation. This applies to all validated fields including name, email, and phone.

</details>

<details>

<summary>Will credits be charged if verification fails?</summary>

No. Credits are not charged if the verification fails or returns an unknown status.

</details>

<details>

<summary>What happens if my credits are exhausted?</summary>

Once your credits are exhausted, the system stops accepting any new requests from the data source. All existing requests in the queue will fail with an error. An email notification is also sent to the account owner informing them that Data Pulse has been disabled.

</details>

<details>

<summary>Can real-time Data Pulse re-enable itself after credits are exhausted?</summary>

Yes. If Data Pulse was disabled due to exhausted credits, it will automatically re-enable once credits are replenished. The Clearout account owner will be notified when Data Pulse is reactivated.

</details>

<details>

<summary>How can I verify data left unprocessed due to exhausted credits?</summary>

You can use **Bulk Email Verification** and **Bulk Phone Validation** to process any remaining data. Once completed, export the results and update them back to your data source.

</details>


# Overview

Build prospect lists from LinkedIn with emails

Clearout Prospecting helps you discover, capture, enrich, and manage B2B leads (especially from [LinkedIn](https://linkedin.com/) and [Wellfound](https://wellfound.com/)) so you can **build high-quality prospect lists** and push them into your **outreach workflows** with minimal friction.​​

## What is Clearout Prospecting

Clearout Prospecting is a sales intelligence activity that can be achieved through the **LinkedIn Chrome extension** or **in-app people/company search**. It consolidates captured leads with pre-verified email addresses, phone number classification, and other rich enrichment that helps perform outreach actions more precisely. It also comes with exports and integrations, eliminating the need to manage multiple spreadsheets or tools.

### Core capabilities

* **Capture prospects from LinkedIn** (standard, Sales Navigator, search, people pages, and connections) using the **Clearout Chrome extension**, individually or in bulk.​​
* **Enrich each prospect** with **verified business emails, phone numbers, company details, location, job role, tech stack, and more** using Clearout’s data sources.​
* **Organize prospects into reusable “Lists”** for campaigns, territories, SDRs, or experiments, and keep them continuously updated.​
* **Export lists as CSV or Google Sheets**, or **sync them into CRMs and outreach tools** as part of your existing Clearout integrations.​​

### Typical use cases

* **Build ICP-based lists** using filters like **company, role, industry, headcount, and geography**, then capture matching profiles from LinkedIn in bulk.​​
* **Quickly validate and enrich existing LinkedIn connections** before outreach, filling gaps in **email, phone, or company intelligence**.​​
* Create “**New**” or “**Recently changed**” segments to spot fresh prospects and engage them before competitors.​​

### How to get started

Clearout enables real-time prospecting using its[ Google Chrome Extension](/platform-features/tools/chrome-extension) on LinkedIn and Wellfound, allowing you to discover and capture enriched prospect details directly while browsing profiles, search results, and company pages

* Install and log in to the Clearout Chrome extension from the [Chrome Web Store](https://chromewebstore.google.com/detail/email-finder-phone-enrich/hjhpmemgiecpogjpmofnnaghdokkfcpp), using your Clearout account credentials.​​
* On LinkedIn, define your search (or open a profile/connection list), launch the extension, choose manual or auto mode, select or create a target list, and **start capturing prospects**.​​
* In the [**Clearout dashboard**](https://app.clearout.io/dashboard), open the Prospecting section, review your lists, trigger enrichment for selected or all records, then export or sync to your sales tools.​​

### Key concepts to know

* **Prospect**: An individual contact with attributes like name, title, company, email, phone, and LinkedIn URL captured or imported into Prospecting.​
* **List**: A collection of prospects grouped for a specific use case (campaign, region, persona, or account list) that you can enrich, export, and track independently.​
* **Enrichment**: The process of filling in or validating missing data (emails, phones, firmographics, technographics) for one or many prospects in a list.


# Real-Time Prospecting

Capture LinkedIn leads with verified emails

Clearout enables real-time prospecting using the **Chrome Extension on both LinkedIn and Wellfound**, so you can discover and save prospect details while you browse profiles, searches, and company/startup pages.&#x20;

As you visit a profile or results page, the extension instantly reveals pre-verified emails, phone numbers, and key firmographic details, and it lets you add those prospects directly to your Clearout lists without leaving the site.

## Prospecting on LinkedIn

**Use the Clearout Chrome Extension** to prospect in real time on LinkedIn, uncovering verified emails, phone numbers, and key firmographics while you **browse profiles, conduct searches, connect with others, and explore Sales Navigator** lead lists.

<div data-with-frame="true"><figure><img src="/files/IlhpvDOyMfmRtQjjiM8f" alt="Overview of Clearout LinkedIn Chrome Extension on LinkedIn"><figcaption></figcaption></figure></div>

### List building on LinkedIn

Clearout’s LinkedIn Chrome Extension lets you turn any LinkedIn surface, profile pages, search results, and Sales Navigator lead lists into a continuously growing prospect list inside Clearout.&#x20;

You can work in manual mode for precise selection or use automation to capture prospects in bulk while you focus on other tasks

### From individual profiles

* Open any LinkedIn profile that matches your ICP (decision-makers, champions, or influencers).
* Launch the Clearout extension to instantly reveal verified emails, phone numbers, and company details for that profile
* Click **Add to list** to choose an existing list or create a new one, and the contact is synced to your Prospecting workspace for enrichment and export

### From LinkedIn search results

* Run a LinkedIn people search using filters such as role, industry, company size, and geography to narrow down your ideal prospects
* With the search results open, start the extension in manual mode to select specific profiles on the page, or switch to Auto mode to capture multiple pages in a single run.
* Define the target list, starting page, and number of pages, and Clearout will automatically visit each result, fetch contact details, and build your list in real time.

### From Sales Navigator

* Use Sales Navigator’s advanced filters (seniority, function, headcount, technologies, and more) to build highly targeted lead or account searches
* Open the Clearout extension on the Sales Navigator results, select manual or Auto mode, and map the captured leads to the right list in Clearout Prospecting
* As the extension processes the results, it enriches each lead with pre-verified emails and phones, so your Sales Navigator searches become ready-to-use outbound lists instead of static views

## Prospecting on Wellfound

**Clearout’s Chrome Extension lets you build** targeted prospect lists directly from Wellfound (formerly AngelList) by capturing **startup and investor intelligence** as you browse

<div data-with-frame="true"><figure><img src="/files/zaAG9l1nirqmWRby7QVH" alt="Overview of Clearout LinkedIn Chrome Extension on Wellfound" width="563"><figcaption></figcaption></figure></div>

### List building on Wellfound

Clearout supports person and company list building from Wellfound, so you can turn startup company profiles into structured prospect lists in your Prospecting workspace.&#x20;

You can extract details like funding, investors, headcount, roles, and locations while simultaneously discovering verified contact information for the right people behind each startup.

### From startup and company pages

* Visit individual startup or company pages on Wellfound to see detailed information like team, funding history, and investors.​
* Use the extension to capture the company and key contacts into your Clearout list, along with enriched data such as emails, phone numbers, and funding insights for precise targeting


# Search & Enrich

Find & enrich B2B prospect contact data

Using Clearout's **powerful in-built prospect search** and **enrichment** helps you find contacts and companies directly in the database using in-app filters and search options. You can then save results into Prospect lists and enrich them with verified emails, phone numbers, and other details for outreach

## Accessing Prospecting In-App

* Sign in to your [Clearout dashboard](https://app.clearout.io/dashboard).
* Click the Prospect tab in the top navigation.
* Click the Search icon to open the in-app Search & Enrich workspace.​
* Choose whether you want to search for Contacts or Companies using the navigation bar.

<div data-with-frame="true"><figure><img src="/files/1Ium29KLWVxB8YmcuKSD" alt="Overview of Clearout In-app Prospecting"><figcaption></figcaption></figure></div>

## Using the filter panel

* Use the left filter panel to refine by attributes like location, role, company size, industry, technologies, and more (depending on contact vs. company mode).​
* Apply at least one filter to generate results; adding more filters narrows the audience toward your ICP.​
* Save frequently used filter combinations so you can quickly rerun common searches for new prospects later.

<div data-with-frame="true"><figure><img src="/files/IAXgVSkZdVUKoYw139w1" alt="Create Your Frequently used Filters for In-app Prospecting " width="563"><figcaption></figcaption></figure></div>

## Finding New Prospects

* Use the New filter to find fresh prospects that are not yet part of any existing list in your account.​
* This helps you continuously discover fresh contacts and avoid re-adding or re-enriching the same records across multiple searches.

<div data-with-frame="true"><figure><img src="/files/3gapVTKGOo23PZqsVogc" alt="Find New Prospects Everytime with &#x22;New&#x22; Filter" width="563"><figcaption></figcaption></figure></div>

## Creating and enriching prospect lists

* After running a search, select the contacts or companies you want and add them to a new or existing Prospect list.
* Go to [Prospect → List](https://app.clearout.io/prospect/lists), open the list, and click Enrich to start enrichment.​
* When enrichment is complete, a summary shows how many email addresses and phone numbers were added or verified for that list.

## Export Your Enriched Lists

* From the Prospect list view, export enriched data to CSV or Google Sheets for use in your CRM or outreach tools.​
* For the first Google Sheets export, connect your Google account; there is no limit to how many times a list can be exported afterwards.​

<div data-with-frame="true"><figure><img src="/files/tnHd3FwlP3oeVIUsDJzE" alt="Export Your Enriched Prospect Lists to Google Sheets or CSV" width="563"><figcaption></figcaption></figure></div>


# FAQs

Find answers to common questions about Clearout Prospecting

## General Questions  <a href="#general-questions" id="general-questions"></a>

<details>

<summary>What is a sales prospecting tool and why is it important for B2B businesses?</summary>

A sales prospecting tool helps identify potential leads and gather relevant contact information such as business email addresses, company details, and professional profiles. It allows sales and marketing teams to efficiently build prospect lists and reach decision-makers for outreach campaigns.

</details>

<details>

<summary>What is a LinkedIn Chrome extension and how does it find contact details?</summary>

A [LinkedIn Chrome extension](https://chromewebstore.google.com/detail/email-finder-phone-enrich/hjhpmemgiecpogjpmofnnaghdokkfcpp) works within the browser to extract publicly available information from LinkedIn profiles. It uses data signals such as name, company domain, and profile information to generate or discover associated business email addresses and contact details.

</details>

<details>

<summary>How accurate are emails found through LinkedIn prospecting tools?</summary>

The accuracy of emails discovered through LinkedIn prospecting tools depends on the available data, company email patterns, and domain configuration. Many tools, like [Clearout Email Finder Chrome Extension](https://chromewebstore.google.com/detail/email-finder-phone-enrich/hjhpmemgiecpogjpmofnnaghdokkfcpp), verify discovered emails using validation checks to reduce invalid or risky results.

</details>

<details>

<summary>How long does it take to find an email from a LinkedIn profile?</summary>

Email discovery from a LinkedIn profile usually takes only a few seconds. Processing time may vary depending on the available data, domain configuration, and the number of profiles being processed.

</details>

<details>

<summary>What is data enrichment and how does it work?</summary>

Data enrichment is the process of enhancing existing contact records by adding additional information such as company details, job titles, email addresses, phone numbers, or social profiles.

Enrichment tools use multiple data sources and validation checks to supplement missing or incomplete data fields.

</details>

<details>

<summary>How accurate is enriched data?</summary>

The accuracy of enriched data depends on the availability and quality of external data sources. Most enrichment tools, such as [Clearout Email Finder Chrome Extension](https://chromewebstore.google.com/detail/email-finder-phone-enrich/hjhpmemgiecpogjpmofnnaghdokkfcpp), apply verification and validation checks to improve the reliability of the returned information.

</details>

<details>

<summary>How often should data enrichment be performed?</summary>

Data enrichment should be performed periodically to keep contact records accurate and up to date. Many organizations run enrichment when importing new contacts, before campaigns, or during routine database maintenance.

</details>

## Technical Questions <a href="#general-questions" id="general-questions"></a>

<details>

<summary>Can I use the LinkedIn Chrome Extension on multiple profiles?</summary>

Yes. The extension can be used across multiple LinkedIn profiles while browsing. Each successful prospect discovery will consume credits.

</details>

<details>

<summary>Why might prospect data not be available for some profiles?</summary>

Prospect data may not be available if the profile does not contain sufficient public information or if reliable data sources cannot identify associated contact details.

</details>

## Billing Questions <a href="#general-questions" id="general-questions"></a>

<details>

<summary>How are prospecting credits calculated?</summary>

Credits are deducted when Clearout successfully discovers contact details such as business email addresses during prospecting activities, as per your [prospecting settings](https://app.clearout.io/settings/prospect). The credits charged are as follows:

* 4 credits (non-role)
* 2 credits (role-based)
* 2 credits per valid/invalid phone

For more information, visit our [pricing guide](https://clearout.io/pricing-guide/).

</details>

<details>

<summary>Are credits charged for unsuccessful prospect searches?</summary>

No. Credits are only consumed when contact information is successfully discovered.

</details>

> Visit [Prospecting & Enrichment FAQs](/help-and-support/featured-answered/prospect) to explore detailed answers and guidance.


# Overview

Find verified contact details from email or LinkedIn

Clearout Reverse Lookup allows you to **search using a LinkedIn URL** or **email address** or **domain name** and uncover associated names, roles, companies, and social profiles. This is useful when you already have a touchpoint (profile or email or domain) and want to know who that person is before adding them to your prospecting or CRM workflows.

<div data-with-frame="true"><figure><img src="/files/k7HRjDNgh4Xs37wNPQLa" alt="Overview of Clearout Reverse Lookup via LinkedIn URL and Email address"><figcaption></figcaption></figure></div>

## Use Cases&#x20;

| Feature             | Key Use Cases                                                           | Primary Benefits                                                  |
| ------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------- |
| **Email Lookup**    | Inbound lead enrichment and scoring to identify high-value prospects.   | Speeds up response times and enables hyper-personalized outreach. |
| **LinkedIn Lookup** | Extracting verified contact details directly from profiles or searches. | Reduces manual entry while maintaining high data accuracy.        |
| **Domain Lookup**   | B2B lead generation and identifying companies visiting the website.     | Uncovers anonymous visitor intent and assists in ABM strategies.  |

## How to get started

* Open the Clearout dashboard and go to the Reverse Lookup section from the main navigation.​
* Choose whether you want to work with [Email Reverse Lookup](/reverse-lookup/email-reverse-lookup), [LinkedIn Reverse Lookup](/reverse-lookup/linkedin-reverse-lookup), or [Domain Reverse Lookup](/reverse-lookup/domain-reverse-lookup) based on the data you have.​
* Paste your input (email addresses or LinkedIn profile URLs) into the lookup box and start the search to retrieve enriched contact details.


# Email Reverse Lookup&#x20;

Look up person details by email address

Email Reverse Lookup **uncovers details like a name, a job title, a company, and other attributes associated with an email address** while simultaneously validating it. This helps you qualify inbound leads, clean legacy lists, and personalize outreach to generic or unfamiliar email IDs.​

## How to use Email Reverse Lookup

* Go to Reverse Lookup → [Email Reverse Lookup](https://app.clearout.io/reverse-lookup/email) in the Clearout dashboard.
* Enter an email address in the input
* Click Search to start the reverse search and validation process.
* Successful search results will be automatically added to the default list and you can export them to your sales tools for outreach activities.

{% hint style="info" %}
**Developer note**

Want to automate email reverse lookup, refer to the **Reverse Email Lookup API**[ ](https://docs.clearout.io/developers/api/reverse-lookup#get-reverse_lookup-email)section for sample code and integration details.
{% endhint %}


# Linkedin Reverse Lookup&#x20;

Identify LinkedIn profile contacts & details

LinkedIn Reverse Lookup **converts LinkedIn profile URLs into** **enriched contact records with pre-verified email addresses** and related details. This enables you to utilize your LinkedIn network's connections, profile visits, and saved leads as a means of generating high-intent prospects and conducting outreach via the email channel.

## How to use LinkedIn Reverse Lookup

* Go to Reverse Lookup → [LinkedIn Reverse Lookup](https://app.clearout.io/reverse-lookup/linkedin) in the Clearout dashboard.
* Paste the LinkedIn profile URL into the input box.
* Click Search to fetch the associated contact details (emails and other available attributes).
* Successful search results will be automatically added to the default list and you can export them to your sales tools for outreach activities.

{% hint style="info" %}
**Developer note**

Want to automate email reverse lookup, refer to the **Reverse LinkedIn Lookup API**[ ](https://docs.clearout.io/developers/api/reverse-lookup#get-reverse_lookup-linkedin) section for sample code and integration details.
{% endhint %}


# Domain Reverse Lookup

Find company info from domain name

**Domain Reverse Lookup** can be used to determine the company for the given input domain. Lookup results **will include company name, address, logo, industry, size, and LinkedIn URL**. If the domain matches multiple companies, then the results will contain an array of company profile information.&#x20;

## How to use Domain Reverse Lookup

* Currently, it is available only through the **API**, not inside the Clearout dashboard.

{% hint style="info" %}
**Developer note**

Want to automate email reverse lookup, refer to the [**Reverse Domain Lookup API**](https://docs.clearout.io/developers/api/reverse-lookup#get-reverse_lookup-domain) section for sample code and integration details.
{% endhint %}


# FAQs

Find answers to common questions about Clearout Reverse Lookup

## General Questions  <a href="#general-questions" id="general-questions"></a>

<details>

<summary>What is the difference between Reverse Email Lookup, LinkedIn Reverse Lookup, and Domain Reverse Lookup?</summary>

Clearout provides different reverse lookup tools depending on the type of input available:

* **Reverse Email Lookup** – uses an email address to discover associated contact or company details.
* **LinkedIn Reverse Lookup** – uses a LinkedIn profile URL to identify contact information related to the profile.
* **Domain Reverse Lookup** – uses a company domain to identify contacts or associated email addresses linked to that domain.

Each tool helps enrich or identify contact information using a different starting data point.

</details>

<details>

<summary>How accurate are reverse lookup results?</summary>

Reverse lookup results depend on the availability and reliability of data sources. Clearout applies validation checks and data matching techniques to improve the accuracy of the returned information.

However, accuracy may vary depending on the input provided and the availability of associated public or verified data.

</details>

<details>

<summary>Can reverse lookup be performed in bulk email lookup on LinkedIn?</summary>

Absolutely! Clearout offers a Chrome Extension that enables bulk email lookup. [Install the extension](https://chromewebstore.google.com/detail/email-finder-phone-enrich/hjhpmemgiecpogjpmofnnaghdokkfcpp) and find verified email addresses of your Ideal Customer Profile (ICP) directly on LinkedIn.

</details>

<details>

<summary>Is reverse lookup legal and privacy compliant?</summary>

Reverse lookup tools operate using publicly available or legally accessible data sources. Users should ensure that their use of the tool complies with applicable data protection regulations and privacy laws in their region.

Clearout follows standard data protection practices when processing lookup requests.

</details>

## Technical Questions <a href="#general-questions" id="general-questions"></a>

<details>

<summary>Why might reverse lookup results return limited information?</summary>

Reverse lookup results depend on the availability of associated data. If limited information is available for the provided email, domain, or LinkedIn profile, only partial results may be returned.

</details>

<details>

<summary>Can reverse lookup support bulk processing?</summary>

No. Currently, Reverse lookup does not support bulk processing. You can use our [reverse lookup API](https://docs.clearout.io/developers/api/reverse-lookup) to automate the enrichment of the provided email, domain, or LinkedIn profile

</details>

## Billing Questions <a href="#general-questions" id="general-questions"></a>

<details>

<summary>How are reverse lookup credits charged?</summary>

Credits are deducted when the tool successfully retrieves associated contact or profile information from the provided input. The credits charged are as follows:

* 4 credits (non-role)
* 2 credits (role-based)
* 2 credits per valid/invalid phone

For more information, visit our [pricing guide](https://clearout.io/pricing-guide/).

</details>

<details>

<summary>Will credits be charged if no information is found?</summary>

No. Credits are only deducted when data is successfully returned from the reverse lookup process.

</details>

> Visit [Reverse Lookup FAQs](/help-and-support/featured-answered/reverse-lookup) to explore detailed answers and guidance.


# API

Real-time Email verification, Email finder, Domain Autocomplete and MX/WhoIs lookups

The Clearout API gives you **RESTful endpoints to** verify emails, find business emails, autocomplete addresses, and resolve domain details, so you can **embed reliable data quality checks directly into your apps, forms, and GTM workflows**.


# Overview

Endpoints to validate, verify, and discover emails in real time with Clearout APIs.

Clearout provides a set of **RESTful APIs for email validation, advanced verification, and discovery** at scale. You can verify or discover millions of email addresses in real time, with endpoints covering [email verification](/developers/api/email-verify), [email finding](/developers/api/email-finder), reverse lookup, remaining credits, company-to-domain [auto-completion](/developers/api/autocomplete), and additional [domain](/developers/api/misc-domain-api) utilities.

## How to Get Started

Getting started with Clearout APIs is quick and straightforward:

{% stepper %}
{% step %}
**Create a free Clearout account**

[Sign up](https://app.clearout.io/register) to receive **100 free credits** and instant access to the API.
{% endstep %}

{% step %}
**Generate your API token**

Find your API token in the Clearout [developer](https://app.clearout.io/developer/api/list) dashboard and use it to authenticate all API requests.
{% endstep %}

{% step %}
**Set service-level settings**

Configure your preferred [settings](https://app.clearout.io/settings/email_verifier), then call the service API endpoint to get the response.
{% endstep %}

{% step %}
**Integrate with your application**

Call APIs from your backend or automation workflows to verify or discover email addresses.
{% endstep %}

{% step %}
**Go live and scale**

Monitor your usage, manage credits, and upgrade your plan as it grows.
{% endstep %}
{% endstepper %}

## API Base URL&#x20;

Clearout APIs use a **base URL** to which all endpoint paths are appended. Since the base URL may vary based on your account host region, API users should check it by logging into the [Clearout app](https://app.clearout.io/developer/reference) and navigating to the **Developer** **→ Reference** tab.

<div data-with-frame="true"><figure><img src="/files/cEA7voJGcToECIaFBmGQ" alt="Overview of Developer section showcasing API Base URL "><figcaption></figcaption></figure></div>

## Generating an API Token&#x20;

After signing up and logging in, select the **Developer** tab located at the top-right, and then click on the **API → Create API Token** button. All created tokens are listed under this tab. Use this token as the **Bearer** value in all API requests. Tokens can be reset at any time by clicking the **Reset Token** icon.

* Log in to your Clearout dashboard.
* Navigate to **Developer → API**.
* Click [**Create API Token**](https://app.clearout.io/developer/api/list).
* Use the token as the `Authorization: Bearer <TOKEN>` header in all API requests.<br>

<div data-with-frame="true"><figure><img src="/files/010IODnOD5bluRT9nurJ" alt="Generating an API Token "><figcaption></figcaption></figure></div>

### Example - Using a CURL Request

{% code fullWidth="false" %}

```bash
curl -X GET 'https://api.clearout.io/v2/email_verify/getcredits' \
-H 'Authorization: 3ec7egp34f992762fb5cf6a3479e7e34:d43d2e605e94a8c4s9b72be13b37c19c74b41610c3560484e5c422ccb4fb4074'
```

{% endcode %}

## API Response Objects and Status Codes

### HTTP response codes

These are the HTTP response codes set by Clearout to indicate the success or failure of a request:

<table data-header-hidden><thead><tr><th width="308.6640625"></th><th></th></tr></thead><tbody><tr><td><strong>HTTP Status Code</strong></td><td><strong>Meaning / Description</strong></td></tr><tr><td>200</td><td>Success</td></tr><tr><td>400</td><td>Bad Request</td></tr><tr><td>401</td><td>Unauthorized</td></tr><tr><td>402</td><td>Payment Required</td></tr><tr><td>403</td><td>Forbidden</td></tr><tr><td>415</td><td>Invalid Content Type (must be <code>application/json</code>)</td></tr><tr><td>429</td><td>Rate Limit Exceeded</td></tr><tr><td>500</td><td>Internal Server Error</td></tr><tr><td>503</td><td>Service Unavailable</td></tr><tr><td>524</td><td>Request Timeout</td></tr></tbody></table>

### Clearout error codes

The following Clearout error codes will be included in the error response object:

<table data-header-hidden><thead><tr><th width="163.10546875" align="center"></th><th></th></tr></thead><tbody><tr><td align="center"><strong>Error Code</strong></td><td><strong>Description</strong></td></tr><tr><td align="center">1001</td><td>You’ve reached the maximum number of bulk verify requests. Please wait for the existing request to complete or contact <a href="mailto:us@clearout.io"><strong>us@clearout.io</strong></a></td></tr><tr><td align="center">1002</td><td>You’ve exhausted your credits. Please add additional credits to continue</td></tr><tr><td align="center">1004</td><td>Unable to determine email addresses in the list. Ensure emails are present or explicitly specified in a header row using <strong>Email</strong>, <strong>Emails</strong>, <strong>Email address</strong>, or <strong>Emailaddress</strong></td></tr><tr><td align="center">1007</td><td>List has expired. Contact <a href="mailto:us@clearout.io"><strong>us@clearout.io</strong></a></td></tr><tr><td align="center">1008</td><td>You are not authorized to access this resource</td></tr><tr><td align="center">1017</td><td>You’ve reached the daily verify limit. Try again the next day or contact <a href="mailto:us@clearout.io"><strong>us@clearout.io</strong></a></td></tr><tr><td align="center">1027</td><td>Email address not found</td></tr><tr><td align="center">1028</td><td>Available credits (<strong>AVAILABLE_CREDITS</strong>) are insufficient to verify <strong>NUMBER_OF_EMAILS</strong> emails</td></tr><tr><td align="center">1029</td><td>List is not available</td></tr><tr><td align="center">1030</td><td>API rate limit reached. Retry after <strong>[CURRENT TIMESTAMP + 60 seconds] UTC</strong>, or upgrade your plan / contact <a href="mailto:us@clearout.io"><strong>us@clearout.io</strong></a></td></tr><tr><td align="center">1031</td><td>You have exhausted your credits. </td></tr><tr><td align="center">1032</td><td>You have reached your daily verify limit; please try next day</td></tr><tr><td align="center">1074</td><td>Invalid origin</td></tr></tbody></table>

### Flatten Response Object

By adding <mark style="color:$primary;">response=flat</mark> as a query parameter to any API request, the nested object will be converted into a flat object. This is helpful when your system does not support nested JSON objects.

## Cross-Origin Resource Sharing (CORS)&#x20;

Clearout does not support API requests directly from web browsers or client apps. This means Clearout APIs can be used only from your **server-side application**

## Limits and Quotas

### API Rate Limit

Clearout APIs apply rate limits to ensure platform reliability and fair usage across all plans. Rate-limit details are included in the response headers for every API request.

#### Rate Limit Headers

<table data-header-hidden><thead><tr><th width="227.21484375"></th><th></th></tr></thead><tbody><tr><td>Header</td><td>Description</td></tr><tr><td><code>x-ratelimit-limit</code></td><td>Total number of requests allowed within a 60-second window</td></tr><tr><td><code>x-ratelimit-remaining</code></td><td>Number of requests remaining in the current 60-second window</td></tr><tr><td><code>x-ratelimit-reset</code></td><td>Time remaining (in seconds) before the rate-limit window resets</td></tr></tbody></table>

#### Example Response

```
x-ratelimit-limit: 100
x-ratelimit-remaining: 42
x-ratelimit-reset: 18
```

#### How It Works

* A maximum of **100 requests** can be made per minute
* **42 requests** are still available in the current window
* The quota resets in **18 seconds**

#### When the Limit Is Exceeded

If you exceed the allowed request limit:

* **HTTP Status Code:** `429 Too Many Requests`
* **Clearout Error Code:** `1030`

You should wait until the duration specified `x-ratelimit-reset` elapses before retrying.\
To increase your rate limit, upgrade your plan or contact [support](/help-and-support/how-to-work-with-support).

### Plan-Specific Limits

Clearout offers flexible pay-as-you-go and subscription plans, each with different API limits. Compared to pay-as-you-go plans, subscription plans offer higher limits, which you can increase by selecting an add-on option.&#x20;

Please find below the breakup of plans and API **Request Per Limits (RPM).**&#x20;

<h4 align="center">Monthly/Annual Subscription</h4>

| Credits             | Instant Email Verify (RPM) | Instant Email Finder (RPM) |
| ------------------- | :------------------------: | :------------------------: |
| 3,000               |             25             |             14             |
| 10,000              |             55             |             40             |
| 50,000              |             90             |             55             |
| 100,000             |             135            |             85             |
| 250,000             |             185            |             110            |
| 500,000             |             240            |             140            |
| 1,000,000           |             300            |             190            |
| More than 5,000,000 |             400            |             240            |

<h4 align="center">Pay-As-You-Go </h4>

| Credits              | Instant Email Verify (RPM) | Instant Email Finder (RPM) |
| -------------------- | :------------------------: | :------------------------: |
| 5,000                |             20             |             10             |
| 10,000               |             45             |             30             |
| 100,000              |             70             |             45             |
| 250,000              |             110            |             70             |
| 500,000              |             150            |             90             |
| 1,000,000            |             190            |             110            |
| 5,000,000            |             240            |             150            |
| More than 10,000,000 |             320            |             190            |

For more details on limits and pricing, please refer to the [pricing page](https://clearout.io/pricing/) here.

## Testing&#x20;

To confirm that your integration works as intended without incurring credits, use the test email addresses listed below for all possible email verification results.

<table><thead><tr><th width="340.41015625">Test Email Address</th><th>Description</th></tr></thead><tbody><tr><td>invalid@example.com</td><td>An invalid email address</td></tr><tr><td>valid@example.com</td><td>A valid email address</td></tr><tr><td>catch_all@example.com</td><td>Accept-all or catch-all email address</td></tr><tr><td>unknown@example.com</td><td>An unknown email address</td></tr><tr><td>safe_to_send_yes@example.com</td><td>Safe to send email address</td></tr><tr><td>safe_to_send_no@example.com</td><td>Not a safe to send email address</td></tr><tr><td>safe_to_send_risky@example.com</td><td>Risky email address</td></tr><tr><td>disposable@example.com</td><td>Disposable email address</td></tr><tr><td>role@example.com</td><td>Role- or group-based email address</td></tr><tr><td>free@example.com</td><td>Free email provider address</td></tr><tr><td>gibberish@example.com</td><td>Gibberish email address</td></tr><tr><td>hard_bounce@example.com</td><td>Hard bounce email address</td></tr><tr><td>soft_bounce@example.com</td><td>Soft bounce email address</td></tr><tr><td>suggested_email_address@example.com</td><td>An auto-suggested email address</td></tr><tr><td>syntax_error@example.com</td><td>Syntax error email address</td></tr><tr><td>greylisted@example.com</td><td>Greylisted email address</td></tr><tr><td>spamtrap@example.com</td><td>Spamtrap email address</td></tr><tr><td>blocklist_email_address@example.com</td><td>Found part of blocklist email address</td></tr><tr><td>allowlist_email_address@example.com</td><td>Found part of allowlist email address</td></tr><tr><td>blocklist_domain@example.com</td><td>Found part of blocklist domain</td></tr><tr><td>allowlist_domain@example.com</td><td>Found part of allowlist domain</td></tr><tr><td>domain_not_found@example.com</td><td>The domain does not exist for the email address</td></tr><tr><td>not_a_mailserver@example.com</td><td>Not a mail server email address</td></tr><tr><td>mailbox_not_found@example.com</td><td>Mailbox not found email address</td></tr><tr><td>mailbox_quota_exceeded@example.com</td><td>Mail quota exceeded email address</td></tr><tr><td>dns_query_timeout@example.com</td><td>DNS query timeout email address</td></tr><tr><td>unroutable_mailserver@example.com</td><td>Unroutable mail exchange server email address</td></tr><tr><td>overquota_and_inactive@example.com</td><td>Dormant email address</td></tr><tr><td>receiving_limit_reached@example.com</td><td>Receiving limit exceeded email address</td></tr></tbody></table>


# Email Verify

The Email Verify API lets you validate email addresses in real time or in bulk before sending, so you can reduce bounces, protect sender reputation, and keep your contact database clean across all your GTM workflows.

## Instant Verify

> Instant verification API can be seamlessly integrated into your signup or onboarding process with just a single request. Use this API to verify Email Address without going through queue

```json
{"openapi":"3.0.2","info":{"title":"Clearout OpenAPI","version":"1.1"},"tags":[{"name":"Email Verify","description":"The Email Verify API lets you validate email addresses in real time or in bulk before sending, so you can reduce bounces, protect sender reputation, and keep your contact database clean across all your GTM workflows."}],"servers":[{"url":"https://api.clearout.io/v2"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"VerifyEmail":{"type":"object","required":["email"],"properties":{"email":{"type":"string"},"timeout":{"type":"integer","minimum":1000,"maximum":180000,"default":130000,"description":"Request wait time (in milliseconds), Maximum allowed wait time should not exceed 180,000 milliseconds"}}},"InstantVerifySuccessResponseType":{"type":"object","properties":{"status":{"type":"string","description":"Response Object status"},"data":{"type":"object","properties":{"email_address":{"type":"string"},"safe_to_send":{"type":"string"},"status":{"type":"string"},"verified_on":{"type":"string"},"time_taken":{"type":"integer"},"sub_status":{"type":"object","properties":{"code":{"type":"integer"},"desc":{"type":"string"}}},"detail_info":{"type":"object","properties":{"mx_record":{"type":"string"},"smtp_provider":{"type":"string"},"account":{"type":"string"},"domain":{"type":"string"}}},"disposable":{"type":"string"},"free":{"type":"string"},"role":{"type":"string"},"gibberish":{"type":"string"},"suggested_email_address":{"type":"string"},"profile":{"type":"string"},"bounce_type":{"type":"string"}}}}},"InstantVerifyFailureResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"InstantVerifyBadRequestResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"message":{"type":"string"},"reasons":{"type":"array","items":{"properties":{"field":{"type":"array","items":{}},"location":{"type":"string"},"messages":{"type":"array","items":{}},"types":{"type":"array","items":{}}}}}}}}},"InstantVerifyUnauthorizedResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"InstantVerifyPaymentRequiredResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"InstantVerifyRateLimitReachedResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"message":{"type":"string"}}}}},"InstantVerifyTimeoutOccuredResponseType":{"type":"object","required":["status","error"],"properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"message":{"type":"string"},"additional_info":{"type":"object","properties":{"resource_name":{"type":"string"},"resource_value":{"type":"string"}}}}}}}}},"paths":{"/email_verify/instant":{"post":{"tags":["Email Verify"],"summary":"Instant Verify","description":"Instant verification API can be seamlessly integrated into your signup or onboarding process with just a single request. Use this API to verify Email Address without going through queue","operationId":"verifyEmail","requestBody":{"required":true,"description":"Email to Verify Instantly","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyEmail"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/InstantVerifySuccessResponseType"},{"$ref":"#/components/schemas/InstantVerifyFailureResponseType"}]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstantVerifyBadRequestResponseType"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstantVerifyUnauthorizedResponseType"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstantVerifyPaymentRequiredResponseType"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstantVerifyRateLimitReachedResponseType"}}}},"503":{"description":"Service Unavailable"},"524":{"description":"A Timeout Occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstantVerifyTimeoutOccuredResponseType"}}}}}}}}}
```

## Bulk Verify

> Use bulk verify to upload your contact lists, request will be put on queue and at any point you can check the status of your request using Bulk Verify Progress Status API

```json
{"openapi":"3.0.2","info":{"title":"Clearout OpenAPI","version":"1.1"},"tags":[{"name":"Email Verify","description":"The Email Verify API lets you validate email addresses in real time or in bulk before sending, so you can reduce bounces, protect sender reputation, and keep your contact database clean across all your GTM workflows."}],"servers":[{"url":"https://api.clearout.io/v2"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"BulkVerifySuccessResponseType":{"type":"object","properties":{"status":{"type":"string"},"data":{"type":"object","properties":{"list_id":{"type":"string"}}}}},"BulkVerifyFailureResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"BulkVerifyDailyLimitReachedResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"BulkVerifyBadRequestResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"message":{"type":"string"},"reasons":{"type":"array","items":{"properties":{"field":{"type":"array","items":{}},"messages":{"type":"array","items":{}},"types":{"type":"array","items":{}}}}}}}}},"BulkVerifyUnauthorizedResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"BulkVerifyPaymentRequiredResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}}}},"paths":{"/email_verify/bulk":{"post":{"tags":["Email Verify"],"summary":"Bulk Verify","description":"Use bulk verify to upload your contact lists, request will be put on queue and at any point you can check the status of your request using Bulk Verify Progress Status API","operationId":"verifyBulkEmails","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["file"],"properties":{"file":{"type":"string","format":"base64"},"optimize":{"type":"string","description":"Can be either 'highest_accuracy' or 'fastest_turnaround'","default":"highest_accuracy"},"ignore_duplicate_file":{"type":"string","description":"Whether to allow file with the same name and size that match with your recent upload","default":false}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/BulkVerifySuccessResponseType"},{"$ref":"#/components/schemas/BulkVerifyFailureResponseType"},{"$ref":"#/components/schemas/BulkVerifyDailyLimitReachedResponseType"}]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkVerifyBadRequestResponseType"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkVerifyUnauthorizedResponseType"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkVerifyPaymentRequiredResponseType"}}}},"503":{"description":"Service Unavailable"}}}}}}
```

## Bulk Verify Progress Status

> To know the overall progress status of bulk verify request

```json
{"openapi":"3.0.2","info":{"title":"Clearout OpenAPI","version":"1.1"},"tags":[{"name":"Email Verify","description":"The Email Verify API lets you validate email addresses in real time or in bulk before sending, so you can reduce bounces, protect sender reputation, and keep your contact database clean across all your GTM workflows."}],"servers":[{"url":"https://api.clearout.io/v2"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"BulkVerifyProgressStatusSuccessResponseType":{"type":"object","properties":{"status":{"type":"string"},"data":{"type":"object","properties":{"progress_status":{"type":"string"},"percentile":{"type":"integer"}}}}},"BulkVerifyProgressStatusFailureResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"BulkVerifyProgressStatusDailyLimitReachedResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"BulkVerifyProgressStatusBadRequestResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"message":{"type":"string"},"reasons":{"type":"array","items":{"properties":{"field":{"type":"array","items":{}},"location":{"type":"string"},"messages":{"type":"array","items":{}},"types":{"type":"array","items":{}}}}}}}}},"BulkVerifyProgressStatusUnauthorizedResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}}}},"paths":{"/email_verify/bulk/progress_status":{"get":{"tags":["Email Verify"],"summary":"Bulk Verify Progress Status","description":"To know the overall progress status of bulk verify request","operationId":"verifyBulkEmailsProgressStatus","parameters":[{"in":"query","name":"list_id","schema":{"type":"string","description":"Pass the value of bulk verify list_id property from response object"},"required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/BulkVerifyProgressStatusSuccessResponseType"},{"$ref":"#/components/schemas/BulkVerifyProgressStatusFailureResponseType"},{"$ref":"#/components/schemas/BulkVerifyProgressStatusDailyLimitReachedResponseType"}]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkVerifyProgressStatusBadRequestResponseType"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkVerifyProgressStatusUnauthorizedResponseType"}}}},"503":{"description":"Service Unavailable"}}}}}}
```

## Bulk Verify Result Download

> Bulk verify result download

```json
{"openapi":"3.0.2","info":{"title":"Clearout OpenAPI","version":"1.1"},"tags":[{"name":"Email Verify","description":"The Email Verify API lets you validate email addresses in real time or in bulk before sending, so you can reduce bounces, protect sender reputation, and keep your contact database clean across all your GTM workflows."}],"servers":[{"url":"https://api.clearout.io/v2"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ListIdType":{"type":"object","required":["list_id"],"properties":{"list_id":{"type":"string","description":"Pass the value of bulk list_id property from response object"}}},"BulkVerifyResultDownloadSuccessResponseType":{"type":"object","properties":{"status":{"type":"string"},"data":{"type":"object","properties":{"url":{"type":"string"}}}}},"BulkVerifyResultDownloadFailureResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"BulkVerifyResultDownloadResultFileExpiredResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"BulkVerifyResultDownloadBadRequestResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"message":{"type":"string"},"reasons":{"type":"array","items":{"properties":{"field":{"type":"array","items":{}},"location":{"type":"string"},"messages":{"type":"array","items":{}},"types":{"type":"array","items":{}}}}}}}}},"BulkVerifyResultDownloadUnauthorizedResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"BulkVerifyResultDownloadPaymentRequiredResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}}}},"paths":{"/download/result":{"post":{"tags":["Email Verify"],"summary":"Bulk Verify Result Download","description":"Bulk verify result download","operationId":"downloadResultBulkEmails","requestBody":{"required":true,"description":"List ID to Bulk verify result download","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListIdType"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/BulkVerifyResultDownloadSuccessResponseType"},{"$ref":"#/components/schemas/BulkVerifyResultDownloadFailureResponseType"},{"$ref":"#/components/schemas/BulkVerifyResultDownloadResultFileExpiredResponseType"}]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkVerifyResultDownloadBadRequestResponseType"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkVerifyResultDownloadUnauthorizedResponseType"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkVerifyResultDownloadPaymentRequiredResponseType"}}}},"503":{"description":"Service Unavailable"}}}}}}
```

## Bulk Verify Result Removal

> Bulk verify result removal

```json
{"openapi":"3.0.2","info":{"title":"Clearout OpenAPI","version":"1.1"},"tags":[{"name":"Email Verify","description":"The Email Verify API lets you validate email addresses in real time or in bulk before sending, so you can reduce bounces, protect sender reputation, and keep your contact database clean across all your GTM workflows."}],"servers":[{"url":"https://api.clearout.io/v2"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"RemoveParamType":{"type":"object","required":["list_id"],"properties":{"list_id":{"type":"string","description":"Pass the value of bulk list_id property from response object"},"ignore_result":{"type":"boolean","description":"Set this value to true when download request is in progress, otherwise list removal will be denied","default":false}}},"BulkSuccessResponseType":{"type":"object","properties":{"status":{"type":"string"},"data":{"type":"object","properties":{"name":{"type":"string"},"source":{"type":"string"},"created_on":{"type":"string"}}}}},"BulkFailureListNotAvailableResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"BulkBadRequestResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"message":{"type":"string"},"reasons":{"type":"array","items":{"properties":{"field":{"type":"array","items":{}},"location":{"type":"string"},"messages":{"type":"array","items":{}},"types":{"type":"array","items":{}}}}}}}}},"BulkVerifyRemovalUnauthorizedResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"BulkVerifyRemovalPaymentRequiredResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}}}},"paths":{"/email_verify/list/remove":{"post":{"tags":["Email Verify"],"summary":"Bulk Verify Result Removal","description":"Bulk verify result removal","operationId":"removeBulkEmailsResult","requestBody":{"required":true,"description":"List ID to bulk verify removal","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveParamType"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/BulkSuccessResponseType"},{"$ref":"#/components/schemas/BulkFailureListNotAvailableResponseType"}]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkBadRequestResponseType"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkVerifyRemovalUnauthorizedResponseType"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkVerifyRemovalPaymentRequiredResponseType"}}}},"503":{"description":"Service Unavailable"}}}}}}
```

## Bulk Verify Cancel

> Cancel running bulk verify contact list

```json
{"openapi":"3.0.2","info":{"title":"Clearout OpenAPI","version":"1.1"},"tags":[{"name":"Email Verify","description":"The Email Verify API lets you validate email addresses in real time or in bulk before sending, so you can reduce bounces, protect sender reputation, and keep your contact database clean across all your GTM workflows."}],"servers":[{"url":"https://api.clearout.io/v2"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ListIdType":{"type":"object","required":["list_id"],"properties":{"list_id":{"type":"string","description":"Pass the value of bulk list_id property from response object"}}},"BulkSuccessResponseType":{"type":"object","properties":{"status":{"type":"string"},"data":{"type":"object","properties":{"name":{"type":"string"},"source":{"type":"string"},"created_on":{"type":"string"}}}}},"BulkFailureListNotAvailableResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"BulkFailureListNotRunningResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"BulkBadRequestResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"message":{"type":"string"},"reasons":{"type":"array","items":{"properties":{"field":{"type":"array","items":{}},"location":{"type":"string"},"messages":{"type":"array","items":{}},"types":{"type":"array","items":{}}}}}}}}}}},"paths":{"/email_verify/list/cancel":{"post":{"tags":["Email Verify"],"summary":"Bulk Verify Cancel","description":"Cancel running bulk verify contact list","operationId":"cancelBulkVerifyList","requestBody":{"required":true,"description":"List ID to bulk verify cancel","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListIdType"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/BulkSuccessResponseType"},{"$ref":"#/components/schemas/BulkFailureListNotAvailableResponseType"},{"$ref":"#/components/schemas/BulkFailureListNotRunningResponseType"}]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkBadRequestResponseType"}}}},"503":{"description":"Service Unavailable"}}}}}}
```

## Get Email Verifier List

> The Get Email Verifier List endpoint allows you to retrieve your Email Verifier bulk lists. It supports filtering results and utilizes cursor-based pagination for navigating through large sets of data

```json
{"openapi":"3.0.2","info":{"title":"Clearout OpenAPI","version":"1.1"},"tags":[{"name":"Email Verify","description":"The Email Verify API lets you validate email addresses in real time or in bulk before sending, so you can reduce bounces, protect sender reputation, and keep your contact database clean across all your GTM workflows."}],"servers":[{"url":"https://api.clearout.io/v2"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"EmailVerifierListRequest":{"type":"object","properties":{"limit":{"type":"integer","description":"Number of records to fetch (max 100)","minimum":1,"maximum":100,"default":10},"start_after":{"type":"string","nullable":true,"description":"Cursor for pagination.\n- Pass null for first request\n- Use `page_info.last_cursor` from previous response\n"},"filter":{"type":"object","description":"Filters to refine the email verifier list results","properties":{"date_range":{"type":"string","description":"Select any one predefined date range to filter results based on `created_on`. Default value is `ps_last_7_days_including_today` if not provided.\n","enum":["ps_today","ps_yesterday","ps_last_24_hours","ps_this_week_mon_today","ps_last_7_days_including_today","ps_last_week_mon_sun","ps_this_month","ps_last_30_days"]},"verified":{"type":"string","description":"Filter lists based on verification status. If not provided, results will include all verification statuses.\n","enum":["non_verified","verified","in_progress","cancelled"]},"type":{"type":"string","description":"Filter lists based on source type. If not provided, results will include all source types.\n","enum":["upload","leads","mailchimp","active_campaign","moosend","sendgrid","automizy","hubspot","mailerlite","clevertap","apollo","lemlist","go_high_level","kit","zoho","skylead"]}}}}},"EmailVerifierListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"list_id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string","description":"Source of the list"},"action_inprogress":{"type":"object","properties":{"action":{"type":"string","nullable":true},"status":{"type":"string","nullable":true}}},"last_verified_on":{"type":"string","format":"date-time","nullable":true},"last_cancelled_on":{"type":"string","format":"date-time","nullable":true},"result_expires_on":{"type":"integer","nullable":true},"last_exported_on":{"type":"string","format":"date-time","nullable":true},"non_verified_list_expires_on":{"type":"integer","nullable":true},"last_analysed_on":{"type":"string","format":"date-time","nullable":true},"created_on":{"type":"string","format":"date-time"}}}},"page_info":{"type":"object","properties":{"limit":{"type":"integer"},"has_more":{"type":"boolean"},"last_cursor":{"type":"string","nullable":true,"description":"Use this value as `start_after` for next page"}}}}},"EmailVerifierListBadRequestResponseType":{"type":"object","properties":{"status":{"type":"string","description":"Response status"},"error":{"type":"object","properties":{"message":{"type":"string","description":"Error summary"},"reasons":{"type":"array","description":"List of validation errors","items":{"type":"object","properties":{"field":{"type":"array","description":"Path of the invalid field","items":{"type":"string"}},"location":{"type":"string","description":"Location of the error (e.g., request body, query)"},"messages":{"type":"array","description":"Detailed validation messages","items":{"type":"string"}},"types":{"type":"array","description":"Error types","items":{"type":"string"}}}}}}}}},"EmailVerifierListUnauthorizedResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}}}},"paths":{"/email_verify/list":{"post":{"tags":["Email Verify"],"summary":"Get Email Verifier List","description":"The Get Email Verifier List endpoint allows you to retrieve your Email Verifier bulk lists. It supports filtering results and utilizes cursor-based pagination for navigating through large sets of data","operationId":"getEmailVerifierList","requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailVerifierListRequest"}}}},"responses":{"200":{"description":"Successfully retrieved email verifier list","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailVerifierListResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailVerifierListBadRequestResponseType"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailVerifierListUnauthorizedResponseType"}}}},"503":{"description":"Service Unavailable"}}}}}}
```

## Catch-All Verify

> Verify email address for Catch-All, since certain servers accept all the emails for that domain and never bounces it back to the sender, those email addresses are flagged as catch-all emails

```json
{"openapi":"3.0.2","info":{"title":"Clearout OpenAPI","version":"1.1"},"tags":[{"name":"Email Verify","description":"The Email Verify API lets you validate email addresses in real time or in bulk before sending, so you can reduce bounces, protect sender reputation, and keep your contact database clean across all your GTM workflows."}],"servers":[{"url":"https://api.clearout.io/v2"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"CatchAllEmail":{"type":"object","required":["email"],"properties":{"email":{"type":"string"},"timeout":{"type":"integer"}}},"CatchAllVerifySuccessResponseType":{"type":"object","properties":{"status":{"type":"string"},"data":{"type":"object","properties":{"email_address":{"type":"string"},"catchall":{"type":"string"},"verified_on":{"type":"string"},"time_taken":{"type":"integer"}}}}},"CatchAllVerifyFailureResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"CatchAllVerifyBadRequestResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"message":{"type":"string"},"reasons":{"type":"array","items":{"properties":{"field":{"type":"array","items":{}},"location":{"type":"string"},"messages":{"type":"array","items":{}},"types":{"type":"array","items":{}}}}}}}}},"CatchAllVerifyUnauthorizedResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"CatchAllVerifyPaymentRequiredResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"CatchAllVerifyTimeoutOccurredResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"message":{"type":"string"},"additional_info":{"type":"object","properties":{"resource_name":{"type":"string"},"resource_value":{"type":"string"}}}}}}}}},"paths":{"/email/verify/catchall":{"post":{"tags":["Email Verify"],"summary":"Catch-All Verify","description":"Verify email address for Catch-All, since certain servers accept all the emails for that domain and never bounces it back to the sender, those email addresses are flagged as catch-all emails","operationId":"verifyCatchAllEmails","requestBody":{"required":true,"description":"Catch-All Email to Verify","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatchAllEmail"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/CatchAllVerifySuccessResponseType"},{"$ref":"#/components/schemas/CatchAllVerifyFailureResponseType"}]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatchAllVerifyBadRequestResponseType"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatchAllVerifyUnauthorizedResponseType"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatchAllVerifyPaymentRequiredResponseType"}}}},"503":{"description":"Service Unavailable"},"524":{"description":"A Timeout Occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatchAllVerifyTimeoutOccurredResponseType"}}}}}}}}}
```

## Disposable Account Verify

> Verify email address for Disposable, generally these email addresses live for short period of time and used for account activation or confirmation emails for sites like forums, e-shopping etc. so it is highly recommended not to send email to disposable addresses

```json
{"openapi":"3.0.2","info":{"title":"Clearout OpenAPI","version":"1.1"},"tags":[{"name":"Email Verify","description":"The Email Verify API lets you validate email addresses in real time or in bulk before sending, so you can reduce bounces, protect sender reputation, and keep your contact database clean across all your GTM workflows."}],"servers":[{"url":"https://api.clearout.io/v2"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"DisposableEmail":{"type":"object","required":["email"],"properties":{"email":{"type":"string"},"timeout":{"type":"integer"}}},"DisposableVerifySuccessResponseType":{"type":"object","properties":{"status":{"type":"string"},"data":{"type":"object","properties":{"email_address":{"type":"string"},"catchall":{"type":"string"},"verified_on":{"type":"string"},"time_taken":{"type":"integer"}}}}},"DisposableVerifyFailureResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"DisposableVerifyBadRequestResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"message":{"type":"string"},"reasons":{"type":"array","items":{"properties":{"field":{"type":"array","items":{}},"location":{"type":"string"},"messages":{"type":"array","items":{}},"types":{"type":"array","items":{}}}}}}}}},"DisposableVerifyUnauthorizedResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"DisposableVerifyPaymentRequiredResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}}}},"paths":{"/email/verify/disposable":{"post":{"tags":["Email Verify"],"summary":"Disposable Account Verify","description":"Verify email address for Disposable, generally these email addresses live for short period of time and used for account activation or confirmation emails for sites like forums, e-shopping etc. so it is highly recommended not to send email to disposable addresses","operationId":"verifyDisposableEmails","requestBody":{"required":true,"description":"Dsiposable Email to Verify","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DisposableEmail"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/DisposableVerifySuccessResponseType"},{"$ref":"#/components/schemas/DisposableVerifyFailureResponseType"}]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DisposableVerifyBadRequestResponseType"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DisposableVerifyUnauthorizedResponseType"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DisposableVerifyPaymentRequiredResponseType"}}}},"503":{"description":"Service Unavailable"}}}}}}
```

## Business Account Verify

> Verify email address belongs to business (a.k.a work) account

```json
{"openapi":"3.0.2","info":{"title":"Clearout OpenAPI","version":"1.1"},"tags":[{"name":"Email Verify","description":"The Email Verify API lets you validate email addresses in real time or in bulk before sending, so you can reduce bounces, protect sender reputation, and keep your contact database clean across all your GTM workflows."}],"servers":[{"url":"https://api.clearout.io/v2"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"BusinessEmail":{"type":"object","required":["email"],"properties":{"email":{"type":"string"},"timeout":{"type":"integer"}}},"BusinessAccountVerifySuccessResponseType":{"type":"object","properties":{"status":{"type":"string"},"data":{"type":"object","properties":{"email_address":{"type":"string"},"business_account":{"type":"string"},"verified_on":{"type":"string"},"time_taken":{"type":"integer"}}}}},"BusinessAccountVerifyFailureResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"BusinessAccountVerifyBadRequestResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"message":{"type":"string"},"reasons":{"type":"array","items":{"properties":{"field":{"type":"array","items":{}},"location":{"type":"string"},"messages":{"type":"array","items":{}},"types":{"type":"array","items":{}}}}}}}}},"BusinessAccountVerifyUnauthorizedResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"BusinessAccountVerifyPaymentRequiredResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}}}},"paths":{"/email/verify/business":{"post":{"tags":["Email Verify"],"summary":"Business Account Verify","description":"Verify email address belongs to business (a.k.a work) account","operationId":"verifyBusinessEmails","requestBody":{"required":true,"description":"Business Account Email to Verify","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessEmail"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/BusinessAccountVerifySuccessResponseType"},{"$ref":"#/components/schemas/BusinessAccountVerifyFailureResponseType"}]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessAccountVerifyBadRequestResponseType"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessAccountVerifyUnauthorizedResponseType"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessAccountVerifyPaymentRequiredResponseType"}}}},"503":{"description":"Service Unavailable"}}}}}}
```

## Free Account Verify

> Verify email address for free mail service such as Gmail, Yahoo!, AOL, Mail.ru etc. In many cases, it is perfectly acceptable to send email to a user of a free email service. However, in certain contexts, businesses can receive better open/response rates when only sending to non-free / business email addresses

```json
{"openapi":"3.0.2","info":{"title":"Clearout OpenAPI","version":"1.1"},"tags":[{"name":"Email Verify","description":"The Email Verify API lets you validate email addresses in real time or in bulk before sending, so you can reduce bounces, protect sender reputation, and keep your contact database clean across all your GTM workflows."}],"servers":[{"url":"https://api.clearout.io/v2"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"FreeEmail":{"type":"object","required":["email"],"properties":{"email":{"type":"string"},"timeout":{"type":"integer"}}},"FreeAccountVerifySuccessResponseType":{"type":"object","properties":{"status":{"type":"string"},"data":{"type":"object","properties":{"email_address":{"type":"string"},"business_account":{"type":"string"},"verified_on":{"type":"string"},"time_taken":{"type":"integer"}}}}},"FreeAccountVerifyFailureResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"FreeAccountVerifyBadRequestResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"message":{"type":"string"},"reasons":{"type":"array","items":{"properties":{"field":{"type":"array","items":{}},"location":{"type":"string"},"messages":{"type":"array","items":{}},"types":{"type":"array","items":{}}}}}}}}},"FreeAccountVerifyUnauthorizedResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"FreeAccountVerifyPaymentRequiredResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}}}},"paths":{"/email/verify/free":{"post":{"tags":["Email Verify"],"summary":"Free Account Verify","description":"Verify email address for free mail service such as Gmail, Yahoo!, AOL, Mail.ru etc. In many cases, it is perfectly acceptable to send email to a user of a free email service. However, in certain contexts, businesses can receive better open/response rates when only sending to non-free / business email addresses","operationId":"verifyFreeEmail","requestBody":{"required":true,"description":"Free Account Email to Verify","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FreeEmail"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/FreeAccountVerifySuccessResponseType"},{"$ref":"#/components/schemas/FreeAccountVerifyFailureResponseType"}]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FreeAccountVerifyBadRequestResponseType"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FreeAccountVerifyUnauthorizedResponseType"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FreeAccountVerifyPaymentRequiredResponseType"}}}},"503":{"description":"Service Unavailable"}}}}}}
```

## Role Account Verify

> Verify email address for role account, typically these addresses are associated with a role or group (postmaster, support, sales, etc.) account instead of a person. In some instances, mailing to a role address can lead to a decreased open rate and is generally advised against while sending an email

```json
{"openapi":"3.0.2","info":{"title":"Clearout OpenAPI","version":"1.1"},"tags":[{"name":"Email Verify","description":"The Email Verify API lets you validate email addresses in real time or in bulk before sending, so you can reduce bounces, protect sender reputation, and keep your contact database clean across all your GTM workflows."}],"servers":[{"url":"https://api.clearout.io/v2"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"RoleEmail":{"type":"object","required":["email"],"properties":{"email":{"type":"string"},"timeout":{"type":"integer"}}},"RoleAccountVerifySuccessResponseType":{"type":"object","properties":{"status":{"type":"string"},"data":{"type":"object","properties":{"email_address":{"type":"string"},"business_account":{"type":"string"},"verified_on":{"type":"string"},"time_taken":{"type":"integer"}}}}},"RoleAccountVerifyFailureResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"RoleAccountVerifyBadRequestResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"message":{"type":"string"},"reasons":{"type":"array","items":{"properties":{"field":{"type":"array","items":{}},"location":{"type":"string"},"messages":{"type":"array","items":{}},"types":{"type":"array","items":{}}}}}}}}},"RoleAccountVerifyUnauthorizedResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"RoleAccountVerifyPaymentRequiredResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}}}},"paths":{"/email/verify/role":{"post":{"tags":["Email Verify"],"summary":"Role Account Verify","description":"Verify email address for role account, typically these addresses are associated with a role or group (postmaster, support, sales, etc.) account instead of a person. In some instances, mailing to a role address can lead to a decreased open rate and is generally advised against while sending an email","operationId":"verifyRoleEmail","requestBody":{"required":true,"description":"Role Account Email to Verify","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleEmail"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/RoleAccountVerifySuccessResponseType"},{"$ref":"#/components/schemas/RoleAccountVerifyFailureResponseType"}]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleAccountVerifyBadRequestResponseType"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleAccountVerifyUnauthorizedResponseType"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleAccountVerifyPaymentRequiredResponseType"}}}},"503":{"description":"Service Unavailable"}}}}}}
```

## Gibberish Account Verify

> Verify email address for gibberish account, typically these addresses are not used by the genuine users, so its highly adviceable not to accept such email addresses

```json
{"openapi":"3.0.2","info":{"title":"Clearout OpenAPI","version":"1.1"},"tags":[{"name":"Email Verify","description":"The Email Verify API lets you validate email addresses in real time or in bulk before sending, so you can reduce bounces, protect sender reputation, and keep your contact database clean across all your GTM workflows."}],"servers":[{"url":"https://api.clearout.io/v2"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"GibberishEmail":{"type":"object","required":["email"],"properties":{"email":{"type":"string"},"timeout":{"type":"integer"}}},"GibberishAccountVerifySuccessResponseType":{"type":"object","properties":{"status":{"type":"string"},"data":{"type":"object","properties":{"email_address":{"type":"string"},"business_account":{"type":"string"},"verified_on":{"type":"string"},"time_taken":{"type":"integer"}}}}},"GibberishAccountVerifyFailureResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"GibberishAccountVerifyBadRequestResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"message":{"type":"string"},"reasons":{"type":"array","items":{"properties":{"field":{"type":"array","items":{}},"location":{"type":"string"},"messages":{"type":"array","items":{}},"types":{"type":"array","items":{}}}}}}}}},"GibberishAccountVerifyUnauthorizedResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"GibberishAccountVerifyPaymentRequiredResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}}}},"paths":{"/email/verify/gibberish":{"post":{"tags":["Email Verify"],"summary":"Gibberish Account Verify","description":"Verify email address for gibberish account, typically these addresses are not used by the genuine users, so its highly adviceable not to accept such email addresses","operationId":"verifyGibberishEmail","requestBody":{"required":true,"description":"Gibberish Account Email to Verify","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GibberishEmail"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/GibberishAccountVerifySuccessResponseType"},{"$ref":"#/components/schemas/GibberishAccountVerifyFailureResponseType"}]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GibberishAccountVerifyBadRequestResponseType"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GibberishAccountVerifyUnauthorizedResponseType"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GibberishAccountVerifyPaymentRequiredResponseType"}}}},"503":{"description":"Service Unavailable"}}}}}}
```

## Get Available Credits

> Instantly get to know the available credits.

```json
{"openapi":"3.0.2","info":{"title":"Clearout OpenAPI","version":"1.1"},"tags":[{"name":"Email Verify","description":"The Email Verify API lets you validate email addresses in real time or in bulk before sending, so you can reduce bounces, protect sender reputation, and keep your contact database clean across all your GTM workflows."}],"servers":[{"url":"https://api.clearout.io/v2"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"GetCreditsSuccessResponseType":{"type":"object","properties":{"available_credits":{"type":"integer"},"credits":{"type":"object","properties":{"available":{"type":"integer"},"subs":{"type":"string"},"available_daily_verify_limit":{"type":"string"},"reset_daily_verify_limit_date":{"type":"string"},"total":{"type":"integer"}}},"low_credit_balance_min_threshold":{"type":"integer"}}},"GetCreditsUnauthorizedResponseType":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"paths":{"/email_verify/getcredits":{"get":{"tags":["Email Verify"],"summary":"Get Available Credits","description":"Instantly get to know the available credits.","operationId":"getAvailableCredits","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","description":"Response Object status"},"data":{"$ref":"#/components/schemas/GetCreditsSuccessResponseType"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"array","items":{"properties":{"status":{"type":"string","description":"Response Object Status for 401"},"error":{"$ref":"#/components/schemas/GetCreditsUnauthorizedResponseType"}}}}}}},"503":{"description":"Service Unavailable"}}}}}}
```


# Email Finder

The Email Finder API helps you discover verified business email addresses for the right contacts using just a name and company or domain, so you can enrich your CRM, power outbound campaigns, and scale prospecting workflows without manual research

## Instant Email Finder

> Instantly discover email address of any person giving their name and domain or company name

```json
{"openapi":"3.0.2","info":{"title":"Clearout OpenAPI","version":"1.1"},"tags":[{"name":"Email Finder","description":"The Email Finder API helps you discover verified business email addresses for the right contacts using just a name and company or domain, so you can enrich your CRM, power outbound campaigns, and scale prospecting workflows without manual research"}],"servers":[{"url":"https://api.clearout.io/v2"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"InstantEmailFinderSuccessResponseType":{"type":"object","properties":{"status":{"type":"string"},"data":{"type":"object","properties":{"emails":{"type":"array","items":{"properties":{"email_address":{"type":"string"},"role":{"type":"string"},"business":{"type":"string"}}}},"first_name":{"type":"string"},"last_name":{"type":"string"},"full_name":{"type":"string"},"domain":{"type":"string"},"confidence_score":{"type":"integer"},"total":{"type":"integer"},"company":{"type":"object","properties":{"name":{"type":"string"}}},"found_on":{"type":"string"}}}}},"InstantEmailFinderFailureResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"InstantEmailFinderBadRequestResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"message":{"type":"string"},"reasons":{"type":"array","items":{"properties":{"field":{"type":"array","items":{}},"location":{"type":"string"},"messages":{"type":"array","items":{}},"types":{"type":"array","items":{}}}}}}}}},"InstantEmailFinderUnauthorizedResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"InstantEmailFinderPaymentRequiredResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"InstantEmailFinderRateLimitReachedResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"message":{"type":"string"}}}}},"InstantEmailFinderTimeoutOccurredResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"message":{"type":"string"},"additional_info":{"type":"object","properties":{"resource_name":{"type":"string"},"resource_value":{"type":"string"},"queue_id":{"type":"string"}}}}}}}}},"paths":{"/email_finder/instant":{"post":{"tags":["Email Finder"],"summary":"Instant Email Finder","description":"Instantly discover email address of any person giving their name and domain or company name","operationId":"findEmail","requestBody":{"required":true,"description":"Email to Find Instantly","content":{"application/json":{"schema":{"type":"object","required":["name","domain"],"properties":{"name":{"type":"string","description":"Name of the person (eg:- Mr. Tony Stark or Robert Downey Jr.)"},"domain":{"type":"string","description":"Domain or Company name (eg:- marvel.com or Marvel Entertainment Company)"},"timeout":{"type":"integer","description":"Request wait time (in milliseconds)","maximum":180000,"default":30000},"queue":{"type":"boolean","description":"Flag to indicate whether email discovery can be performed in background even after the request timed out, this will help to retrieve result later using queue id or downloaded from Clearout App -> My Activities. Setting 'false' will stop the email discovery immediately when timeout occured","default":true}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/InstantEmailFinderSuccessResponseType"},{"$ref":"#/components/schemas/InstantEmailFinderFailureResponseType"}]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstantEmailFinderBadRequestResponseType"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstantEmailFinderUnauthorizedResponseType"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstantEmailFinderPaymentRequiredResponseType"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstantEmailFinderRateLimitReachedResponseType"}}}},"503":{"description":"Service Unavailable"},"524":{"description":"A Timeout Occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstantEmailFinderTimeoutOccurredResponseType"}}}}}}}}}
```

## Instant Email Finder Status

> To know the email finder request status in queue

```json
{"openapi":"3.0.2","info":{"title":"Clearout OpenAPI","version":"1.1"},"tags":[{"name":"Email Finder","description":"The Email Finder API helps you discover verified business email addresses for the right contacts using just a name and company or domain, so you can enrich your CRM, power outbound campaigns, and scale prospecting workflows without manual research"}],"servers":[{"url":"https://api.clearout.io/v2"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"InstantEmailFinderStatusSuccessResponseType":{"type":"object","properties":{"status":{"type":"string"},"data":{"type":"object","properties":{"emails":{"type":"array","items":{"properties":{"email_address":{"type":"string"},"role":{"type":"string"},"business":{"type":"string"}}}},"first_name":{"type":"string"},"last_name":{"type":"string"},"full_name":{"type":"string"},"domain":{"type":"string"},"confidence_score":{"type":"integer"},"total":{"type":"integer"},"company":{"type":"object","properties":{"name":{"type":"string"}}},"found_on":{"type":"string"}}}}},"InstantEmailFinderStatusFailureResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"InstantEmailFinderStatusBadRequestResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"message":{"type":"string"},"reasons":{"type":"array","items":{"properties":{"field":{"type":"array","items":{}},"location":{"type":"string"},"messages":{"type":"array","items":{}},"types":{"type":"array","items":{}}}}}}}}},"InstantEmailFinderStatusUnauthorizedResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}}}},"paths":{"/email_finder/instant/queue_status":{"get":{"tags":["Email Finder"],"summary":"Instant Email Finder Status","description":"To know the email finder request status in queue","operationId":"findEmailStatus","parameters":[{"in":"query","name":"qid","schema":{"type":"string","description":"Queue ID received as part of the instant email finder response object"},"required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/InstantEmailFinderStatusSuccessResponseType"},{"$ref":"#/components/schemas/InstantEmailFinderStatusFailureResponseType"}]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstantEmailFinderStatusBadRequestResponseType"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstantEmailFinderStatusUnauthorizedResponseType"}}}},"503":{"description":"Service Unavailable"}}}}}}
```

## Bulk Email Finder

> Use bulk finder API to discover the email address of the person in contact list of any size. Email discovery process will occur in background and once complete it will be notified through email. Use Bulk Email Finder Progress Status API to know the overall completion status of the list in percentage

```json
{"openapi":"3.0.2","info":{"title":"Clearout OpenAPI","version":"1.1"},"tags":[{"name":"Email Finder","description":"The Email Finder API helps you discover verified business email addresses for the right contacts using just a name and company or domain, so you can enrich your CRM, power outbound campaigns, and scale prospecting workflows without manual research"}],"servers":[{"url":"https://api.clearout.io/v2"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"BulkEmailFinderSuccessResponseType":{"type":"object","properties":{"status":{"type":"string"},"data":{"type":"object","properties":{"list_id":{"type":"string"}}}}},"BulkEmailFinderFailureResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"BulkEmailFinderBadRequestResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"BulkEmailFinderUnauthorizedResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"BulkEmailFinderPaymentRequiredResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"additional_info":{"type":"object","properties":{"required_credits":{"type":"integer"}}}}}}}}},"paths":{"/email_finder/bulk":{"post":{"tags":["Email Finder"],"summary":"Bulk Email Finder","description":"Use bulk finder API to discover the email address of the person in contact list of any size. Email discovery process will occur in background and once complete it will be notified through email. Use Bulk Email Finder Progress Status API to know the overall completion status of the list in percentage","operationId":"findBulkEmails","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["file"],"properties":{"file":{"type":"string","format":"base64"},"ignore_duplicate_file":{"type":"string","description":"Whether to allow file with the same name and size that match with your recent upload","default":false}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/BulkEmailFinderSuccessResponseType"},{"$ref":"#/components/schemas/BulkEmailFinderFailureResponseType"},{"$ref":"#/components/schemas/BulkEmailFinderBadRequestResponseType"}]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkEmailFinderUnauthorizedResponseType"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkEmailFinderPaymentRequiredResponseType"}}}},"503":{"description":"Service Unavailable"}}}}}}
```

## Bulk Email Finder Progress Status

> To know the overall progress status of the bulk finder request

```json
{"openapi":"3.0.2","info":{"title":"Clearout OpenAPI","version":"1.1"},"tags":[{"name":"Email Finder","description":"The Email Finder API helps you discover verified business email addresses for the right contacts using just a name and company or domain, so you can enrich your CRM, power outbound campaigns, and scale prospecting workflows without manual research"}],"servers":[{"url":"https://api.clearout.io/v2"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"BulkEmailFinderProgressStatusSuccessResponseType":{"type":"object","properties":{"status":{"type":"string"},"data":{"type":"object","properties":{"progress_status":{"type":"string"},"percentage":{"type":"integer"}}}}},"BulkEmailFinderProgressStatusFailureResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"BulkEmailFinderProgressStatusBadRequestResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"message":{"type":"string"},"reasons":{"type":"array","items":{"properties":{"field":{"type":"array","items":{}},"location":{"type":"string"},"messages":{"type":"array","items":{}},"types":{"type":"array","items":{}}}}}}}}},"BulkEmailFinderProgressStatusUnauthorizedResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}}}},"paths":{"/email_finder/bulk/progress_status":{"get":{"tags":["Email Finder"],"summary":"Bulk Email Finder Progress Status","description":"To know the overall progress status of the bulk finder request","operationId":"findBulkEmailsProgressStatus","parameters":[{"in":"query","name":"list_id","schema":{"type":"string","description":"Pass the value of bulk list_id property from response object"},"required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/BulkEmailFinderProgressStatusSuccessResponseType"},{"$ref":"#/components/schemas/BulkEmailFinderProgressStatusFailureResponseType"}]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkEmailFinderProgressStatusBadRequestResponseType"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkEmailFinderProgressStatusUnauthorizedResponseType"}}}},"503":{"description":"Service Unavailable"}}}}}}
```

## Bulk Finder Result Download

> Bulk email finder result file download

```json
{"openapi":"3.0.2","info":{"title":"Clearout OpenAPI","version":"1.1"},"tags":[{"name":"Email Finder","description":"The Email Finder API helps you discover verified business email addresses for the right contacts using just a name and company or domain, so you can enrich your CRM, power outbound campaigns, and scale prospecting workflows without manual research"}],"servers":[{"url":"https://api.clearout.io/v2"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ListIdType":{"type":"object","required":["list_id"],"properties":{"list_id":{"type":"string","description":"Pass the value of bulk list_id property from response object"}}},"BulkFinderResultDownloadSuccessResponseType":{"type":"object","properties":{"status":{"type":"string"},"data":{"type":"object","properties":{"url":{"type":"string"}}}}},"BulkFinderResultDownloadFailureResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"BulkFinderResultDownloadResultFileExpiredResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"BulkFinderResultDownloadBadRequestResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"message":{"type":"string"},"reasons":{"type":"array","items":{"properties":{"field":{"type":"array","items":{}},"location":{"type":"string"},"messages":{"type":"array","items":{}},"types":{"type":"array","items":{}}}}}}}}},"BulkFinderResultDownloadUnauthorizedResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}}}},"paths":{"/email_finder/download/result":{"post":{"tags":["Email Finder"],"summary":"Bulk Finder Result Download","description":"Bulk email finder result file download","operationId":"downloadBulkEmailsResult","requestBody":{"required":true,"description":"List ID to bulk email finder result file download","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListIdType"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/BulkFinderResultDownloadSuccessResponseType"},{"$ref":"#/components/schemas/BulkFinderResultDownloadFailureResponseType"},{"$ref":"#/components/schemas/BulkFinderResultDownloadResultFileExpiredResponseType"}]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkFinderResultDownloadBadRequestResponseType"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkFinderResultDownloadUnauthorizedResponseType"}}}},"503":{"description":"Service Unavailable"}}}}}}
```

## Bulk Email Finder Removal

> Remove your bulk finder contact list

```json
{"openapi":"3.0.2","info":{"title":"Clearout OpenAPI","version":"1.1"},"tags":[{"name":"Email Finder","description":"The Email Finder API helps you discover verified business email addresses for the right contacts using just a name and company or domain, so you can enrich your CRM, power outbound campaigns, and scale prospecting workflows without manual research"}],"servers":[{"url":"https://api.clearout.io/v2"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"RemoveParamType":{"type":"object","required":["list_id"],"properties":{"list_id":{"type":"string","description":"Pass the value of bulk list_id property from response object"},"ignore_result":{"type":"boolean","description":"Set this value to true when download request is in progress, otherwise list removal will be denied","default":false}}},"BulkSuccessResponseType":{"type":"object","properties":{"status":{"type":"string"},"data":{"type":"object","properties":{"name":{"type":"string"},"source":{"type":"string"},"created_on":{"type":"string"}}}}},"BulkFailureListNotAvailableResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"BulkBadRequestResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"message":{"type":"string"},"reasons":{"type":"array","items":{"properties":{"field":{"type":"array","items":{}},"location":{"type":"string"},"messages":{"type":"array","items":{}},"types":{"type":"array","items":{}}}}}}}}},"BulkEmailFinderRemovalUnauthorizedResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"BulkEmailFinderRemovalPaymentRequiredResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}}}},"paths":{"/email_finder/list/remove":{"post":{"tags":["Email Finder"],"summary":"Bulk Email Finder Removal","description":"Remove your bulk finder contact list","operationId":"removeBulkEmailsList","requestBody":{"required":true,"description":"List ID to bulk email finder removal","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveParamType"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/BulkSuccessResponseType"},{"$ref":"#/components/schemas/BulkFailureListNotAvailableResponseType"}]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkBadRequestResponseType"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkEmailFinderRemovalUnauthorizedResponseType"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkEmailFinderRemovalPaymentRequiredResponseType"}}}},"503":{"description":"Service Unavailable"}}}}}}
```

## Bulk Finder Cancel

> Cancel running bulk finder list

```json
{"openapi":"3.0.2","info":{"title":"Clearout OpenAPI","version":"1.1"},"tags":[{"name":"Email Finder","description":"The Email Finder API helps you discover verified business email addresses for the right contacts using just a name and company or domain, so you can enrich your CRM, power outbound campaigns, and scale prospecting workflows without manual research"}],"servers":[{"url":"https://api.clearout.io/v2"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ListIdType":{"type":"object","required":["list_id"],"properties":{"list_id":{"type":"string","description":"Pass the value of bulk list_id property from response object"}}},"BulkSuccessResponseType":{"type":"object","properties":{"status":{"type":"string"},"data":{"type":"object","properties":{"name":{"type":"string"},"source":{"type":"string"},"created_on":{"type":"string"}}}}},"BulkFailureListNotAvailableResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"BulkFailureListNotRunningResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"BulkBadRequestResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"message":{"type":"string"},"reasons":{"type":"array","items":{"properties":{"field":{"type":"array","items":{}},"location":{"type":"string"},"messages":{"type":"array","items":{}},"types":{"type":"array","items":{}}}}}}}}}}},"paths":{"/email_finder/list/cancel":{"post":{"tags":["Email Finder"],"summary":"Bulk Finder Cancel","description":"Cancel running bulk finder list","operationId":"cancelBulkFinderList","requestBody":{"required":true,"description":"List ID to cancel bulk finding","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListIdType"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/BulkSuccessResponseType"},{"$ref":"#/components/schemas/BulkFailureListNotAvailableResponseType"},{"$ref":"#/components/schemas/BulkFailureListNotRunningResponseType"}]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkBadRequestResponseType"}}}},"503":{"description":"Service Unavailable"}}}}}}
```

## Get Email Finder List

> The Get Email Finder List endpoint allows you to retrieve your email finder bulk lists. It supports filtering results and utilizes cursor-based pagination for navigating through large sets of data

```json
{"openapi":"3.0.2","info":{"title":"Clearout OpenAPI","version":"1.1"},"tags":[{"name":"Email Finder","description":"The Email Finder API helps you discover verified business email addresses for the right contacts using just a name and company or domain, so you can enrich your CRM, power outbound campaigns, and scale prospecting workflows without manual research"}],"servers":[{"url":"https://api.clearout.io/v2"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"EmailFinderListRequest":{"type":"object","properties":{"limit":{"type":"integer","description":"Number of records to fetch (max 100)"},"start_after":{"type":"string","nullable":true,"description":"Cursor for pagination. \n- Pass null for first request\n- Use `page_info.last_cursor` from previous response for next page\n"},"filter":{"type":"object","description":"Filters to refine the email finder list results","properties":{"date_range":{"type":"string","description":"Select any one predefined date range to filter results based on `created_on`. Default value is `ps_last_7_days_including_today` if not provided.\n","enum":["ps_today","ps_yesterday","ps_last_24_hours","ps_this_week_mon_today","ps_last_7_days_including_today","ps_last_week_mon_sun","ps_this_month","ps_last_30_days"],"default":"ps_last_7_days_including_today"},"processed":{"type":"string","description":"Filter lists based on processing status. If not provided, results will include all processing statuses.\n","enum":["non_processed","processed","in_progress","cancelled"]}}}}},"EmailFinderListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"list_id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string","description":"Source of the list"},"action_inprogress":{"type":"object","properties":{"action":{"type":"string","nullable":true},"status":{"type":"string","nullable":true}}},"last_processed_on":{"type":"string","format":"date-time","nullable":true},"created_on":{"type":"string","format":"date-time"},"email_finder_result":{"type":"object","properties":{"total":{"type":"integer"},"duplicate":{"type":"object","properties":{"value":{"type":"integer"},"percentage":{"type":"number"}}},"found":{"type":"object","properties":{"value":{"type":"integer"},"percentage":{"type":"number"}}},"billable":{"type":"integer"},"business":{"type":"object","properties":{"value":{"type":"integer"},"percentage":{"type":"number"}}},"role":{"type":"object","properties":{"value":{"type":"integer"},"percentage":{"type":"number"}}},"confidence_score":{"type":"object","properties":{"value":{"type":"integer"},"percentage":{"type":"number"}}},"confidence_level":{"type":"string"},"time_taken":{"type":"integer","description":"Time taken in milliseconds"}}}}}},"page_info":{"type":"object","properties":{"limit":{"type":"integer"},"has_more":{"type":"boolean"},"last_cursor":{"type":"string","nullable":true,"description":"Use this value as `start_after` for next page"}}}}},"EmailFinderListBadRequestResponseType":{"type":"object","properties":{"status":{"type":"string","description":"Response status"},"error":{"type":"object","properties":{"message":{"type":"string","description":"Error summary"},"reasons":{"type":"array","description":"List of validation errors","items":{"type":"object","properties":{"field":{"type":"array","description":"Path of the invalid field","items":{"type":"string"}},"location":{"type":"string","description":"Location of the error (e.g., request body, query)"},"messages":{"type":"array","description":"Detailed validation messages","items":{"type":"string"}},"types":{"type":"array","description":"Error types","items":{"type":"string"}}}}}}}}},"EmailFinderListUnauthorizedResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}}}},"paths":{"/email_finder/list":{"post":{"tags":["Email Finder"],"summary":"Get Email Finder List","description":"The Get Email Finder List endpoint allows you to retrieve your email finder bulk lists. It supports filtering results and utilizes cursor-based pagination for navigating through large sets of data","operationId":"getEmailFinderList","requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailFinderListRequest"}}}},"responses":{"200":{"description":"Successfully retrieved email finder list","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailFinderListResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailFinderListBadRequestResponseType"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailFinderListUnauthorizedResponseType"}}}},"503":{"description":"Service Unavailable"}}}}}}
```


# Reverse Lookup

The Reverse Lookup API helps you find LinkedIn profiles and associated lead information from email addresses or LinkedIn URLs, so you can enrich your contact database and power your prospecting workflows

## Reverse Lookup LinkedIn Profile

> Retrieve lead information from a LinkedIn profile URL

```json
{"openapi":"3.0.2","info":{"title":"Clearout OpenAPI","version":"1.1"},"tags":[{"name":"Reverse Lookup","description":"The Reverse Lookup API helps you find LinkedIn profiles and associated lead information from email addresses or LinkedIn URLs, so you can enrich your contact database and power your prospecting workflows"}],"servers":[{"url":"https://api.clearout.io/v2"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ReverseLookupLinkedinSuccessResponseType":{"type":"object","properties":{"status":{"type":"string","description":"Response Object status"},"data":{"type":"object","properties":{"lead":{"$ref":"#/components/schemas/LeadType"}}}}},"LeadType":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"contructed_title":{"type":"string"},"profile_picture":{"type":"string"},"linkedin_url":{"type":"string"},"title":{"type":"string"},"company_name":{"type":"string"},"company_domain":{"type":"string"},"addresses":{"type":"array","items":{"$ref":"#/components/schemas/AddressType"}},"total_experience_in_months":{"type":"integer"}}},"AddressType":{"type":"object","properties":{"full_address":{"type":"string"},"state":{"type":"string"},"city":{"type":"string"},"country":{"type":"string"},"country_code":{"type":"string"}}}}},"paths":{"/reverse_lookup/linkedin":{"get":{"tags":["Reverse Lookup"],"summary":"Reverse Lookup LinkedIn Profile","description":"Retrieve lead information from a LinkedIn profile URL","operationId":"reverseLookupLinkedin","parameters":[{"name":"url","in":"query","required":true,"description":"LinkedIn profile URL to lookup","schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved lead information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReverseLookupLinkedinSuccessResponseType"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"402":{"description":"Payment Required"}}}}}}
```

## Reverse Lookup Email Address

> Retrieve lead information from an email address

```json
{"openapi":"3.0.2","info":{"title":"Clearout OpenAPI","version":"1.1"},"tags":[{"name":"Reverse Lookup","description":"The Reverse Lookup API helps you find LinkedIn profiles and associated lead information from email addresses or LinkedIn URLs, so you can enrich your contact database and power your prospecting workflows"}],"servers":[{"url":"https://api.clearout.io/v2"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ReverseLookupEmailSuccessResponseType":{"type":"object","properties":{"status":{"type":"string","description":"Response Object status"},"data":{"type":"object","properties":{"email_address":{"type":"string"},"lead":{"$ref":"#/components/schemas/LeadType"}}}}},"LeadType":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"contructed_title":{"type":"string"},"profile_picture":{"type":"string"},"linkedin_url":{"type":"string"},"title":{"type":"string"},"company_name":{"type":"string"},"company_domain":{"type":"string"},"addresses":{"type":"array","items":{"$ref":"#/components/schemas/AddressType"}},"total_experience_in_months":{"type":"integer"}}},"AddressType":{"type":"object","properties":{"full_address":{"type":"string"},"state":{"type":"string"},"city":{"type":"string"},"country":{"type":"string"},"country_code":{"type":"string"}}}}},"paths":{"/reverse_lookup/email":{"get":{"tags":["Reverse Lookup"],"summary":"Reverse Lookup Email Address","description":"Retrieve lead information from an email address","operationId":"reverseLookupEmail","parameters":[{"name":"email_address","in":"query","required":true,"description":"Email address to lookup","schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved lead information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReverseLookupEmailSuccessResponseType"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"402":{"description":"Payment Required"}}}}}}
```

## Reverse Lookup Domain

> Retrieve company lead information from a domain name

```json
{"openapi":"3.0.2","info":{"title":"Clearout OpenAPI","version":"1.1"},"tags":[{"name":"Reverse Lookup","description":"The Reverse Lookup API helps you find LinkedIn profiles and associated lead information from email addresses or LinkedIn URLs, so you can enrich your contact database and power your prospecting workflows"}],"servers":[{"url":"https://api.clearout.io/v2"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ReverseLookupDomainSuccessResponseType":{"type":"object","properties":{"status":{"type":"string","description":"Response Object status"},"data":{"type":"object","properties":{"name":{"type":"string"},"lead":{"$ref":"#/components/schemas/CompanyLeadType"}}}}},"CompanyLeadType":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"profile_picture":{"type":"string"},"linkedin_url":{"type":"string"},"addresses":{"$ref":"#/components/schemas/CompanyAddressType"}}},"CompanyAddressType":{"type":"object","properties":{"full_address":{"type":"string"},"country":{"type":"string"},"country_code":{"type":"string"}}}}},"paths":{"/reverse_lookup/domain":{"get":{"tags":["Reverse Lookup"],"summary":"Reverse Lookup Domain","description":"Retrieve company lead information from a domain name","operationId":"reverseLookupDomain","parameters":[{"name":"name","in":"query","required":true,"description":"Domain name to lookup","schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved company lead information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReverseLookupDomainSuccessResponseType"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"402":{"description":"Payment Required"}}}}}}
```


# Name Validation

The **Name Validation API** leverages a trained AI model to perform deep, contextual validation that goes far beyond standard regex or pattern matching. It evaluates the legitimacy of a **person's name** in real time, effectively filtering out structural gibberish, profanity strings, and unsupported characters to ensure high-integrity data ingestion.

## Name validate

> Instantly verify the legitimacy of a person's name to ensure clean data at the point of capture.

```json
{"openapi":"3.0.2","info":{"title":"Clearout OpenAPI","version":"1.1"},"tags":[{"name":"Name Validation","description":"The **Name Validation API** leverages a trained AI model to perform deep, contextual validation that goes far beyond standard regex or pattern matching. It evaluates the legitimacy of a **person's name** in real time, effectively filtering out structural gibberish, profanity strings, and unsupported characters to ensure high-integrity data ingestion."}],"servers":[{"url":"https://api.clearout.io/v2"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"NameValidateRequestType":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"The full name or name string to validate."},"settings":{"type":"object","description":"Optional validation settings.","properties":{"gibberish_threshold":{"type":"string","default":"high","description":"Adjusts the sensitivity of the AI model's gibberish detection. Allowed values are off, medium, high."}}},"timeout":{"type":"integer","description":"Request timeout in milliseconds","minimum":1000,"maximum":10000,"default":8000}}},"NameValidateSuccessResponseType":{"type":"object","properties":{"status":{"type":"string","description":"Response Object status"},"data":{"type":"object","properties":{"input_name":{"type":"string","description":"Original input name"},"status":{"type":"string","description":"Validation status"},"profanity":{"type":"boolean","description":"Whether the name contains profanity"},"gibberish":{"type":"boolean","description":"Whether the name is gibberish"},"time_taken":{"type":"integer","description":"Time taken to process in milliseconds"}}}}},"NameValidateBadRequestResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"message":{"type":"string"},"reasons":{"type":"array","items":{"type":"string"}}}}}},"NameValidateUnauthorizedResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"NameValidateRateLimitResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"NameValidateTimeoutOccurredResponseType":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"object","properties":{"message":{"type":"string"},"additional_info":{"type":"object","properties":{"resource_name":{"type":"string"},"resource_value":{"type":"string"}}}}}}}}},"paths":{"/name/validate":{"post":{"tags":["Name Validation"],"summary":"Name validate","description":"Instantly verify the legitimacy of a person's name to ensure clean data at the point of capture.","operationId":"nameValidate","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NameValidateRequestType"}}}},"responses":{"200":{"description":"Successfully validated name","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NameValidateSuccessResponseType"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NameValidateBadRequestResponseType"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NameValidateUnauthorizedResponseType"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NameValidateRateLimitResponseType"}}}},"503":{"description":"Service Unavailable"},"524":{"description":"A Timeout Occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NameValidateTimeoutOccurredResponseType"}}}}}}}}}
```


# Autocomplete

Clearout's Autocomplete API is a free API that effectively identifies the corresponding website domains for a given company name, accompanied with the corporate logo and a confidence score

## Find Domains for Company

> Clearout's Autocomplete API is a free API that effectively identifies the corresponding website domains for a given company name, accompanied with the corporate logo and a confidence score

```json
{"openapi":"3.0.2","info":{"title":"Clearout OpenAPI","version":"1.1"},"tags":[{"name":"Autocomplete","description":"Clearout's Autocomplete API is a free API that effectively identifies the corresponding website domains for a given company name, accompanied with the corporate logo and a confidence score"}],"servers":[{"url":"https://api.clearout.io/v2"}],"security":[],"paths":{"/public/companies/autocomplete":{"get":{"tags":["Autocomplete"],"summary":"Find Domains for Company","description":"Clearout's Autocomplete API is a free API that effectively identifies the corresponding website domains for a given company name, accompanied with the corporate logo and a confidence score","operationId":"autocompleteCompany","parameters":[{"in":"query","name":"query","required":true,"schema":{"type":"string"},"description":"A company name or domain or even the website URL"}],"responses":{"200":{"description":"OK","content":{"application/json":{}}},"400":{"description":"Bad Request","content":{"application/json":{}}},"429":{"description":"Too Many Requests","content":{"application/json":{}}},"503":{"description":"Service Unavailable","content":{"application/json":{}}},"524":{"description":"Timeout Occurred","content":{"application/json":{}}}}}}}}
```


# Account

The Account API lets you programmatically fetch information about your Clearout account, including profile details, current subscription or pay-as-you-go plans, remaining credits and limits.

## Get Plans and Addons

> Retrieve details about the account's active subscription plan and any associated add-ons, including pricing and upcoming billing renewal cycles

```json
{"openapi":"3.0.2","info":{"title":"Clearout OpenAPI","version":"1.1"},"tags":[{"name":"Account","description":"The Account API lets you programmatically fetch information about your Clearout account, including profile details, current subscription or pay-as-you-go plans, remaining credits and limits."}],"servers":[{"url":"https://api.clearout.io/v2"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"MyPlansDataType":{"type":"object","description":"User's current plan and addons information","required":["current_plan","addons"],"properties":{"current_plan":{"$ref":"#/components/schemas/PlanType"},"addons":{"type":"array","description":"List of active addons for the account","items":{"$ref":"#/components/schemas/AddonType"}}}},"PlanType":{"type":"object","description":"Plan information for the current subscription","required":["name","status","type","charge"],"properties":{"name":{"type":"string","description":"Name of the plan"},"status":{"type":"string","description":"Current status of the plan","enum":["active","inactive","suspended"]},"type":{"type":"string","description":"Type of the plan","enum":["subscription","one-time"]},"charge":{"type":"string","description":"Charge information for the plan"},"next_credit_allocation":{"type":"string","format":"date-time","description":"Date when next credits will be allocated"},"next_charge_renewal":{"type":"string","format":"date-time","description":"Date of the next charge renewal"}}},"AddonType":{"type":"object","description":"Addon subscription details","required":["name","status","type"],"properties":{"name":{"type":"string","description":"Name of the addon"},"status":{"type":"string","description":"Current status of the addon","enum":["active","inactive","suspended"]},"type":{"type":"string","description":"Type of the addon","enum":["subscription","one-time"]},"charge":{"type":"string","description":"Charge information for the addon"},"next_charge_renewal":{"type":"string","format":"date-time","description":"Date of the next charge renewal"}}},"GetCreditsUnauthorizedResponseType":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"paths":{"/account/myplans":{"get":{"tags":["Account"],"summary":"Get Plans and Addons","description":"Retrieve details about the account's active subscription plan and any associated add-ons, including pricing and upcoming billing renewal cycles","operationId":"getMyPlans","responses":{"200":{"description":"Successfully retrieved plan and addon information","content":{"application/json":{"schema":{"type":"object","description":"Success response containing plan details","required":["status","data"],"properties":{"status":{"type":"string","description":"Response status"},"data":{"$ref":"#/components/schemas/MyPlansDataType"}}}}}},"401":{"description":"Unauthorized - Invalid or missing authentication credentials","content":{"application/json":{"schema":{"type":"object","description":"Unauthorized error response","properties":{"status":{"type":"string","description":"Response Object Status"},"error":{"$ref":"#/components/schemas/GetCreditsUnauthorizedResponseType"}}}}}},"503":{"description":"Service Unavailable - Server is temporarily unavailable"}}}}}}
```

## Get Remaining Credits

> Retrieve the total remaining credit balance along with a categorized breakdown (subscription, pay-as-you-go, and bonus credits) for both individual and organization accounts.

```json
{"openapi":"3.0.2","info":{"title":"Clearout OpenAPI","version":"1.1"},"tags":[{"name":"Account","description":"The Account API lets you programmatically fetch information about your Clearout account, including profile details, current subscription or pay-as-you-go plans, remaining credits and limits."}],"servers":[{"url":"https://api.clearout.io/v2"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"CreditsDataType":{"type":"object","properties":{"total_remaining_credits":{"type":"integer","description":"Total credits available in the account"},"plan_remaining_credits":{"type":"object","description":"Remaining credits split by plan type","properties":{"pay-as-you-go":{"type":"integer"},"subscription":{"type":"integer"},"bonus":{"type":"integer"}}},"low_credit_balance_min_threshold":{"type":"integer","description":"Minimum threshold to trigger low credit alert"}}},"GetCreditsUnauthorizedResponseType":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"paths":{"/account/credits":{"get":{"tags":["Account"],"summary":"Get Remaining Credits","description":"Retrieve the total remaining credit balance along with a categorized breakdown (subscription, pay-as-you-go, and bonus credits) for both individual and organization accounts.","operationId":"getCredits","responses":{"200":{"description":"Successfully retrieved credits information","content":{"application/json":{"schema":{"type":"object","description":"Success response containing credits data","required":["status","data"],"properties":{"status":{"type":"string","description":"Response status"},"data":{"$ref":"#/components/schemas/CreditsDataType"}}}}}},"401":{"description":"Unauthorized - Invalid or missing authentication credentials","content":{"application/json":{"schema":{"type":"object","description":"Unauthorized error response","properties":{"status":{"type":"string","description":"Response status"},"error":{"$ref":"#/components/schemas/GetCreditsUnauthorizedResponseType"}}}}}},"503":{"description":"Service Unavailable - Server is temporarily unavailable"}}}}}}
```

## Get Service Limits

> Retrieve the account's active rate limits (Requests Per Minute) and parallel processing constraints for both real-time and bulk verification services.

```json
{"openapi":"3.0.2","info":{"title":"Clearout OpenAPI","version":"1.1"},"tags":[{"name":"Account","description":"The Account API lets you programmatically fetch information about your Clearout account, including profile details, current subscription or pay-as-you-go plans, remaining credits and limits."}],"servers":[{"url":"https://api.clearout.io/v2"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"LimitsDataType":{"type":"object","description":"Account service limits and concurrency restrictions","required":["email_verify"],"properties":{"email_verify":{"$ref":"#/components/schemas/EmailVerifyLimitsType"}}},"EmailVerifyLimitsType":{"type":"object","description":"Service-specific limits for email verify API","required":["api_rate_limit"],"properties":{"api_rate_limit":{"$ref":"#/components/schemas/ApiRateLimitType"},"bulk_verify_concurrency_limit":{"$ref":"#/components/schemas/ConcurrencyLimitType"}}},"ApiRateLimitType":{"type":"object","description":"API rate limit information for a specific service","required":["total","remaining"],"properties":{"total":{"type":"string","description":"Total API rate limit"},"remaining":{"type":"string","description":"Remaining API rate limit"},"next_limit_reset":{"type":"string","format":"date-time","description":"Timestamp when the rate limit resets"}}},"ConcurrencyLimitType":{"type":"object","description":"Concurrency limit information for bulk operations","required":["total","remaining"],"properties":{"total":{"type":"string","description":"Total concurrency limit"},"remaining":{"type":"string","description":"Remaining concurrency limit"}}},"GetCreditsUnauthorizedResponseType":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"paths":{"/account/limits":{"get":{"tags":["Account"],"summary":"Get Service Limits","description":"Retrieve the account's active rate limits (Requests Per Minute) and parallel processing constraints for both real-time and bulk verification services.","operationId":"getAccountLimits","responses":{"200":{"description":"Successfully retrieved service limits","content":{"application/json":{"schema":{"type":"object","description":"Success response containing limits data","required":["status","data"],"properties":{"status":{"type":"string","description":"Response status"},"data":{"$ref":"#/components/schemas/LimitsDataType"}}}}}},"401":{"description":"Unauthorized - Invalid or missing authentication credentials","content":{"application/json":{"schema":{"type":"object","description":"Unauthorized error response","properties":{"status":{"type":"string","description":"Response status"},"error":{"$ref":"#/components/schemas/GetCreditsUnauthorizedResponseType"}}}}}},"503":{"description":"Service Unavailable - Server is temporarily unavailable"}}}}}}
```


# Misc Domain API

The Misc Domain API provides helper endpoints to resolve MX and Whois records for any domain, so you can quickly check where email for a domain is hosted, validate domain ownership, and enrich leads or accounts with reliable domain metadata inside your workflows

## Find MX

> Convenience API to find and return the MX records for domain in higher priority order

```json
{"openapi":"3.0.2","info":{"title":"Clearout OpenAPI","version":"1.1"},"tags":[{"name":"Misc Domain API","description":"The Misc Domain API provides helper endpoints to resolve MX and Whois records for any domain, so you can quickly check where email for a domain is hosted, validate domain ownership, and enrich leads or accounts with reliable domain metadata inside your workflows"}],"servers":[{"url":"https://api.clearout.io/v2"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}},"paths":{"/domain/resolve/mx":{"post":{"tags":["Misc Domain API"],"summary":"Find MX","description":"Convenience API to find and return the MX records for domain in higher priority order","operationId":"findMX","requestBody":{"required":true,"description":"Find MX records for domain","content":{"application/json":{"schema":{"type":"object","required":["domain"],"properties":{"domain":{"type":"string","description":"Find MX records for domain"},"timeout":{"type":"number","description":"Request wait time (in milliseconds), Maximum allowed wait time should not exceed 110000 milliseconds","default":90000}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{}}},"400":{"description":"Bad Request","content":{"application/json":{}}},"401":{"description":"Unauthorized","content":{"application/json":{}}},"402":{"description":"Payment Required","content":{"application/json":{}}},"503":{"description":"Service Unavailable"},"524":{"description":"Timeout Occurred","content":{"application/json":{}}}}}}}}
```

## Find Whois

> Convenience API to find and return the Whois record for domain in JSON format

```json
{"openapi":"3.0.2","info":{"title":"Clearout OpenAPI","version":"1.1"},"tags":[{"name":"Misc Domain API","description":"The Misc Domain API provides helper endpoints to resolve MX and Whois records for any domain, so you can quickly check where email for a domain is hosted, validate domain ownership, and enrich leads or accounts with reliable domain metadata inside your workflows"}],"servers":[{"url":"https://api.clearout.io/v2"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}},"paths":{"/domain/resolve/whois":{"post":{"tags":["Misc Domain API"],"summary":"Find Whois","description":"Convenience API to find and return the Whois record for domain in JSON format","operationId":"findWhois","requestBody":{"required":true,"description":"Find Whois record for domain","content":{"application/json":{"schema":{"type":"object","required":["domain"],"properties":{"domain":{"type":"string","description":"Find Whois record for domain"},"timeout":{"type":"number","description":"Request wait time (in milliseconds), Maximum allowed wait time should not exceed 110000 milliseconds","default":90000}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{}}},"400":{"description":"Bad Request","content":{"application/json":{}}},"401":{"description":"Unauthorized","content":{"application/json":{}}},"402":{"description":"Payment Required","content":{"application/json":{}}},"503":{"description":"Service Unavailable"},"524":{"description":"Timeout Occurred","content":{"application/json":{}}}}}}}}
```


# Webhooks

Real-time webhooks for email & phone validation events

Webhooks enable real-time communication between Clearout and your application. When validation, enrichment, or prospecting events occur, Clearout automatically sends HTTP POST requests to your specified endpoint with detailed payload data.

With webhooks, you can:

* **Receive instant notifications** when email and phone validation results are ready
* **Automate workflows** by triggering actions in your CRM, marketing platform, or internal systems
* **Reduce polling** by eliminating the need for continuous API calls
* **Build reactive systems** that respond immediately to data quality events

Next section covers everything you need to set up, test, validate, and manage webhooks for your Clearout integration.


# Webhooks Overview

Real-time webhooks for validation results

Clearout Webhooks send **real-time notifications for email validation, email finder, and form guard operations**. Webhooks deliver data to your application immediately instead of polling our APIs. You can build real-time integrations with webhooks to process verification results, update databases, trigger follow-up actions, or notify users without manual intervention.&#x20;

Clearout provides [webhook authentication](/developers/webhooks/validate-deliveries) to ensure secure delivery, allowing your application to verify the authenticity of each webhook request before processing the payload. This helps protect your endpoint from spoofed or tampered requests

## Webhook vs API&#x20;

APIs send you data when you request it. With Webhooks, you don't need to make requests - you receive data automatically when it's available.

{% hint style="info" %}
**Example**

If you need to know whether an email finder is complete, using APIs requires you to keep polling every few seconds until the process finishes. However, with webhooks, you can configure a webhook event like `email_finder.instant.completed` to receive notifications automatically when email finder completes.
{% endhint %}

## Use Cases&#x20;

Webhooks can be used for multiple purposes. Here are some common use cases:

<table data-header-hidden><thead><tr><th width="205.541015625"></th><th></th><th></th></tr></thead><tbody><tr><td>Use Case </td><td>Description</td><td>Primary Benefit</td></tr><tr><td><strong>Real-time Notifications</strong></td><td>Receive instant alerts when email validation, discovery, or Form Guard operations are completed.</td><td>Allows you to immediately inform users of results or trigger prompt follow-up actions.</td></tr><tr><td><strong>Automated Workflows</strong></td><td>Automatically sync validation data with your CRM, database, or internal workflow tools.</td><td>Eliminates the need for manual data entry and ensures systems are updated without human intervention.</td></tr><tr><td><strong>Integration Automation</strong></td><td>Connect Clearout services with existing platforms to create seamless automated pipelines.</td><td>Replaces the need for constant API polling, saving server resources and improving efficiency.</td></tr></tbody></table>

## How Webhooks Work&#x20;

When you configure a webhook in Clearout:

* You specify a URL endpoint where you want to receive notifications
* You choose which events to subscribe to (e.g., email validation complete, bulk verification finished)
* When an event occurs, Clearout sends an HTTP POST request with JSON payload to your configured URL
* To validate deliveries via webhooks, your application verifies the webhook authentication details to confirm the request came from Clearout.​
* After verification succeeds, your application processes the webhook data and takes the appropriate action.

{% hint style="info" %}
**Important**

Despite network issues, webhooks ensure you receive results even if your initial API request fails or returned with unknown status

Webhook URLs must be publicly accessible and support HTTPS.
{% endhint %}

{% hint style="info" %}
**Good to know**

Webhook events themselves are not charged. In the event of a request timeout or an unknown status response, you are charged for the service request action that was previously unsuccessful or returned unknown. Refer to [Webhook Events & Payloads](/developers/webhooks/webhook-events-and-payloads) for details on specific events, and check our [Pricing Guide ](https://clearout.io/pricing-guide/#billable-service-action) to understand how much is charged for each service action.
{% endhint %}


# Set up & Edit Webhooks

Set up, manage, and test Clearout webhooks for real-time event delivery

This guide explains how to set up, configure, and manage webhooks in your Clearout App so you can automatically receive real-time notifications when important events occur, such as email validation completions, email finder results, or form guard triggers. You'll also learn how to select events, secure your webhooks, and test your integration for reliability.

## Accessing Webhooks&#x20;

To access webhook settings in Clearout:

{% stepper %}
{% step %}
Log in to your [Clearout App](https://app.clearout.io/)

{% endstep %}

{% step %}
Navigate to the **Developers** section in the main menu

{% endstep %}

{% step %}
Click on **Webhook** to access webhook management

{% endstep %}
{% endstepper %}

<div data-with-frame="true"><figure><img src="/files/mdapyi505WRgoeJ8SqkR" alt="Set up &#x26; Edit Webhooks" width="563"><figcaption></figcaption></figure></div>

## Creating a Webhook&#x20;

To create a new webhook:

{% stepper %}
{% step %}
Click the **Create Webhook** button

{% endstep %}

{% step %}
Fill in the webhook configuration form

{% endstep %}

{% step %}
Select the events you want to subscribe to

{% endstep %}

{% step %}
Save your webhook configuration
{% endstep %}
{% endstepper %}

<div data-with-frame="true"><figure><img src="/files/GRZLFPH3Bt1V5YP4Ny9H" alt="Creating a Webhook" width="525"><figcaption></figcaption></figure></div>

## Webhook Configuration  <a href="#webhook-configuration" id="webhook-configuration"></a>

When creating or editing a webhook, you'll need to configure the following fields:

#### Basic Fields <a href="#basic-fields" id="basic-fields"></a>

* **Name** - A descriptive name for your webhook
* **Description** - Description of the webhook's purpose (150 character limit)
* **URL** - The HTTPS endpoint where webhook notifications will be sent

#### Custom Headers <a href="#custom-headers" id="custom-headers"></a>

You can add custom headers to your webhook requests:

* Click **Add Header** to add a new header
* Specify the **Key** and **Value** for each header
* Common use cases include authentication headers or custom identifiers

> <mark style="color:$info;">**Header Examples**</mark>
>
> <mark style="color:$info;">You might add headers like</mark> <mark style="color:$info;"></mark><mark style="color:$info;">`Authorization: Bearer your-token`</mark> <mark style="color:$info;"></mark><mark style="color:$info;">or</mark> <mark style="color:$info;"></mark><mark style="color:$info;">`X-Custom-ID: your-identifier`</mark> <mark style="color:$info;"></mark><mark style="color:$info;">for authentication or tracking purposes.</mark>

#### Event Selection <a href="#event-selection" id="event-selection"></a>

Events are organized by service and displayed in a grouped checkbox format. You can view all events or only selected ones using the tabs.

<div data-with-frame="true"><figure><img src="/files/Kah5WNBdzUEKmf7aPWYZ" alt="Selecting Webhook Events for Email verification, Email Finding and Form Guard" width="377"><figcaption></figcaption></figure></div>

> **Event Selection Tips**
>
> Use the "Select all" checkbox to quickly select all available events, or expand each service section to choose specific events. For detailed information about each event and their payloads, see our [Webhook Events & Payloads](https://docs.clearout.io/webhooks/webhooks-events-payloads.html) page.

## Secret Token  <a href="#secret-token" id="secret-token"></a>

The secret token is used to verify that webhook requests come from Clearout. It's generated at the account level and shared across all webhooks.

<div data-with-frame="true"><figure><img src="/files/WwLJfPYIsAeTNzs0uakO" alt="Generating Secret Token"><figcaption></figcaption></figure></div>

#### Generating Your Secret Token<br>

* In the webhook dashboard, scroll down to the **Secret Token** section
* If this is your first time, click the **Generate Token** button to create your secret token
* **Important:** Copy the generated token immediately, as it will only be visible during generation

<div data-with-frame="true"><figure><img src="/files/sCqQFkYRSfIRH1T3uKAF" alt="Copying Generated Secret Token" width="563"><figcaption></figcaption></figure></div>

#### Rotating Your Secret Token <a href="#rotating-secret-token" id="rotating-secret-token"></a>

* Click the rotate button (circular arrow icon) next to your current token
* A new token will be generated and displayed
* Copy the new token immediately, as it will only be visible during generation
* Update your webhook endpoint to use the new token
* The dashboard will show when the token was last updated

<div data-with-frame="true"><figure><img src="/files/TFkW3g8Xabpck0aEwJtZ" alt="Rotating/Regenerating Secret Token"><figcaption></figcaption></figure></div>

> **Important**
>
> The secret token is only visible during generation or rotation. Make sure to copy it immediately and store it securely. Use it to verify webhook signatures as described in our [Validate Deliveries](https://docs.clearout.io/webhooks/validate-deliveries.html) guide.

## Managing Webhooks <a href="#managing-webhooks" id="managing-webhooks"></a>

Once you've created webhooks, they appear in the "My Webhooks" table, where you can manage them using the action buttons:

<table data-view="cards"><thead><tr><th></th></tr></thead><tbody><tr><td><h4><strong>View Event Logs</strong></h4><p>View detailed delivery history, response codes, and JSON payloads for all webhook events. Shows success/failure status and timestamps.</p></td></tr><tr><td><h4><strong>Test Events</strong></h4><p>Send test payloads to verify your webhook endpoint is working correctly. Select from available event types to simulate real webhook deliveries.</p></td></tr><tr><td><h4><strong>Edit Webhook</strong></h4><p>Modify webhook configuration including name, description, URL, custom headers, and event subscriptions.</p></td></tr><tr><td><h4><strong>Delete Webhook</strong></h4><p>Remove the webhook configuration permanently. You'll be asked to confirm the deletion before it's removed.</p></td></tr></tbody></table>

#### Webhook Table View <a href="#webhook-table-view" id="webhook-table-view"></a>

The webhook dashboard displays your configured webhooks in a table format with the following columns:

* **Name** - Your webhook name with description below
* **URL** - The endpoint URL where webhooks are sent
* **Status** - Toggle switch to enable/disable the webhook
* **Listening To** - Number of events the webhook is subscribed to
* **Actions** - The four action buttons described above

## Testing Webhooks&#x20;

You can test your webhook configuration directly from the dashboard:

* Click the **Test Events** button (paper plane icon) for any webhook
* Select the event type you want to test
* A sample payload will be sent to your webhook URL
* Check your endpoint to verify the payload was received correctly

<div data-with-frame="true"><figure><img src="/files/XFSTA94our9L7AJ89k5J" alt="Testing Webhook" width="563"><figcaption></figcaption></figure></div>

> **Local Testing**
>
> For local development, use tools like [ngrok](https://ngrok.com/) to expose your local server with HTTPS. This allows you to test webhooks on your development environment.

**Next Steps**

Once your webhook is configured, learn about the [event payloads](https://docs.clearout.io/webhooks/webhooks-events-payloads.html) you'll receive and how to [validate webhook deliveries](https://docs.clearout.io/webhooks/validate-deliveries.html) for security.


# Webhook Events & Payloads

Reference webhook events and payload structures for Clearout APIs

This page provides a complete reference for all Clearout webhook events and their payload structures. Each webhook event contains detailed information about the completed operation, allowing you to process the results in real time.

> **Event Timing**
>
> All webhook events are triggered immediately after the service completes.

## Webhook Events Overview&#x20;

<table><thead><tr><th width="333">Event Type</th><th>When Triggered</th></tr></thead><tbody><tr><td><code>email_verifier.instant.completed</code> *</td><td>After instant email verification completes</td></tr><tr><td><code>email_verifier.bulk.completed</code></td><td>After bulk email verification completes</td></tr><tr><td><code>email_finder.instant.completed</code> *</td><td>After email finder operation completes</td></tr><tr><td><code>email_finder.bulk.completed</code></td><td>After bulk email finding completes</td></tr><tr><td><code>form_guard.email_validation.completed</code> *</td><td>After email validation in forms is completed</td></tr><tr><td><code>form_guard.phone_validation.completed</code> </td><td>After phone validation in forms is completed</td></tr><tr><td><code>form_guard.name_validation.completed</code> </td><td>After name validation in forms is completed</td></tr></tbody></table>

> Events that may be chargeable on a conditional basis; see our [Pricing Guide ](https://clearout.io/pricing-guide/#billable-service-action) for more details

## Webhook Structure&#x20;

All webhook payloads follow a consistent structure with common fields and service-specific data:

#### Common Fields <a href="#common-fields" id="common-fields"></a>

* **event\_id** - Unique identifier for this webhook delivery
* **event\_type** - The type of event that occurred
* **event\_mode** - Environment mode (live/test)
* **event\_created\_on** - ISO 8601 timestamp when the event was created
* **payload** - Contains the actual event data and results

#### Payload Structure <a href="#payload-structure" id="payload-structure"></a>

The payload object contains:

* **status** - Overall operation status (success/error)
* **data** - Service-specific data and results

## Email Verifier Events&#x20;

#### email\_verifier.instant.completed&#x20;

Triggered when instant email verification is completed.

**Payload Example**

{% code overflow="wrap" expandable="true" %}

```json
{
  "event_id": "68b52198f204df746f72c3ec",
  "event_type": "email_verifier.instant.completed",
  "event_mode": "live",
  "event_created_on": "2025-09-01T04:31:20.445Z",
  "payload": {
    "status": "success",
    "data": {
      "email_address": "sanjay@socialfrontier.com",
      "status": "valid",
      "sub_status": {
        "code": 200,
        "desc": "Success"
      },
      "safe_to_send": "yes",
      "ai_verdict": "Given email address is from Gsuite provider, sending message will be delivered without a bounce",
      "suggested_email_address": "",
      "verified_on": "2025-09-01T04:31:20.042Z",
      "time_taken": 380,
      "disposable": "no",
      "free": "no",
      "role": "no",
      "gibberish": "no",
      "bounce_type": "",
      "detail_info": {
        "account": "sanjay",
        "domain": "socialfrontier.com",
        "mx_record": "aspmx.l.google.com",
        "smtp_provider": "gsuite"
      },
      "profile": null
    }
  }
}
```

{% endcode %}

> **Data Structure**
>
> The payload data structure is identical to the Email Verification API response. Refer to the [Email Verification API documentation](https://docs.clearout.io/email-verifier-api.html) for detailed field descriptions.

#### email\_verifier.bulk.completed&#x20;

Triggered when bulk email verification is completed.

**Payload Example**

```json
{
  "event_id": "68b18464a73994ef5ae36608",
  "event_type": "email_verifier.bulk.completed",
  "event_mode": "live",
  "event_created_on": "2025-08-29T10:43:48.077Z",
  "payload": {
    "status": "success",
    "data": {
      "list_id": "68b1821500b0b980de170e2d",
      "list_name": "clearout_email_verifier_sample_list.csv"
    }
  }
}
```

## Email Finder Events&#x20;

#### email\_finder.instant.completed&#x20;

Triggered when instant email finding is completed.

**Payload Example**

{% code expandable="true" %}

```json
{
  "event_id": "68994705edd8dab364becfe6",
  "event_type": "email_finder.instant.completed",
  "event_mode": "live",
  "event_on": "2025-08-11T01:27:33.597Z",
  "payload": {
    "status": "success",
    "data": {
      "emails": [
        {
          "email_address": "sinha@clearout.io",
          "role": "no",
          "business": "yes"
        }
      ],
      "first_name": "sinha",
      "last_name": "",
      "full_name": "sinha",
      "domain": "clearout.io",
      "confidence_score": 99,
      "_depreciated": {
        "confidence_score": 92
      },
      "total": 1,
      "company": {
        "name": "clearout"
      },
      "found_on": "2025-08-11T01:27:33.564Z",
      "credits_charged": 4
    }
  }
}
```

{% endcode %}

> **Data Structure**
>
> The payload data structure is identical to the Email Finder API response. Refer to the [Email Finder API documentation](https://docs.clearout.io/email-finder-api.html) for detailed field descriptions.

#### email\_finder.bulk.completed&#x20;

Triggered when bulk email finding is completed.

**Payload Example**

```json
{
  "event_id": "68b18464a73994ef5ae36608",
  "event_type": "email_finder.bulk.completed",
  "event_mode": "live",
  "event_created_on": "2025-08-29T10:43:48.077Z",
  "payload": {
    "status": "success",
    "data": {
      "list_id": "68b1821500b0b980de170e2d",
      "list_name": "clearout_email_verifier_sample_list.csv"
    }
  }
}
```

## Form Guard Events&#x20;

#### form\_guard.email\_validation.completed&#x20;

Triggered when email validation in forms is completed.

**Payload Example**

{% code expandable="true" %}

```json
{
  "event_id": "69f0621ac1b2d86092997d45",
  "event_type": "form_guard.email_validation.completed",
  "event_mode": "live",
  "event_created_on": "2026-04-28T07:30:34.280Z",
  "payload": {
    "status": "success",
    "data": {
      "result": {
        "email_address": "us@clearout.io",
        "status": "valid",
        "sub_status": {
          "code": 200,
          "desc": "Success"
        },
        "safe_to_send": "yes",
        "ai_verdict": "Given email address is from Gsuite provider, sending message will be delivered without a bounce",
        "suggested_email_address": "",
        "verified_on": "2026-04-28T07:30:31.958Z",
        "time_taken": 2282,
        "disposable": "no",
        "free": "no",
        "role": "no",
        "gibberish": "no",
        "bounce_type": "",
        "detail_info": {
          "account": "us",
          "domain": "clearout.io",
          "mx_record": "aspmx.l.google.com",
          "smtp_provider": "gsuite"
        },
        "profile": null
      },
      "page_url": "https://clearout.io/form-guard/",
      "name": "clearout_formguard",
      "version": "3.5.0"
    }
  }
}
```

{% endcode %}

#### form\_guard.phone\_validation.completed&#x20;

Triggered when phone validation in forms is completed.

**Payload Example**

{% code expandable="true" %}

```json
{
  "event_id": "69f06158c1b2d86092997d0e",
  "event_type": "form_guard.phone_validation.completed",
  "event_mode": "test",
  "event_created_on": "2026-04-28T07:27:20.376Z",
  "payload": {
    "status": "success",
    "data": {
      "result": {
        "status": "valid",
        "line_type": "fixed_line",
        "carrier": "TERRA NOVA",
        "location": "TROY, MI",
        "country_name": "United States of America",
        "country_timezone": "America/New_York",
        "country_code": "US",
        "country_utcoffset": "-05:00",
        "country_dstobservedhrs": -1,
        "international_format": "+1 (248) 434-1234",
        "local_format": "(248) 434-1234",
        "e164_format": "+12484341234",
        "can_be_internationally_dialled": "yes",
        "validated_on": "2026-05-12T12:42:38+00:00",
        "time_taken": 3
      },
      "page_url": "https://clearout.io/form-guard/",
      "name": "clearout_formguard",
      "version": "3.5.0"
    }
  }
}
```

{% endcode %}

#### form\_guard.name\_validation.completed&#x20;

Triggered when name validation in forms is completed.

**Payload Example**

{% code expandable="true" %}

```json
{
  "event_id": "69f05c595b1eebdb91601b92",
  "event_mode": "test",
  "event_type": "form_guard.name_validation.completed",
  "event_created_on": "2026-04-28T07:05:42.251Z",
  "payload": {
    "status": "success",
    "data": {
      "result": {
        "input_name": "Elon Musk",
        "status": "valid",
        "regex_result": "valid",
        "profanity": false,
        "gibberish": false,
        "normalized_name": "Elon Musk",
        "time_taken": 235
      },
      "page_url": "https://clearout.io/form-guard/",
      "name": "clearout_formguard",
      "version": "3.5.0"
    }
  }
}
```

{% endcode %}

**Next Steps**

Now that you understand the webhook events and payloads, learn how to [validate webhook deliveries](https://docs.clearout.io/webhooks/validate-deliveries.html) for security and [test your webhook integration](https://docs.clearout.io/webhooks/test-webhooks.html).


# Validate Deliveries

Validate Clearout webhook deliveries with HMAC signature verification

This guide explains how to validate Clearout **webhook deliveries using HMAC signature** verification. Validating webhook requests properly guarantees their authenticity and prevents your application from receiving malicious requests.

### Why Validate Webhooks&#x20;

Webhook validation is crucial for security and includes protection against:

* **Replay Attacks** - Timestamps prevent old requests from being replayed
* **Request Tampering** - HMAC signatures ensure data integrity
* **Unauthorized Requests** - Only requests with valid signatures are processed
* **Data Spoofing** - Verification confirms requests originate from Clearout

> **Important**
>
> Always validate webhook signatures in production. Never process webhook data without proper verification, as this could lead to security vulnerabilities and data corruption.

### Signature Format&#x20;

Clearout sends webhook signatures in the `x-co-webhook-signature` header with the following format:

```
t=,v1=
```

#### Signature Components <a href="#signature-components" id="signature-components"></a>

* **t** - Unix timestamp (UTC) when the webhook was created
* **v1** - HMAC-SHA256 signature of the payload

#### How Signatures Are Generated <a href="#signature-generation" id="signature-generation"></a>

Clearout generates signatures using the following process:

* Create a string by concatenating the timestamp and raw JSON payload: `timestamp.payload`
* Generate HMAC-SHA256 hash using your webhook secret token
* Encode the hash as a hexadecimal string
* Include both timestamp and signature in the header

### General Instructions for Any Language&#x20;

When implementing webhook verification in any programming language, follow these core steps:

{% stepper %}
{% step %}
**Parse Signature Header**

Extract the timestamp and signature from the `x-co-webhook-signature` header:

```
Header format: t=,v1=
Example: t=1691234567,v1=abc123def456...
```

{% endstep %}

{% step %}
**Construct Data String**

Create the data string for HMAC calculation using this exact format:

```
data = timestamp + "." + raw_webhook_body
```

> **Critical: Use Raw Body**
>
> Always use the raw request body as received, before any parsing or modifications:
>
> * **Before JSON parsing** - Use the raw string before converting to JSON objects
> * **Before any processing** - Don't modify, trim, or reformat the body
> * **Exact match required** - The body must match exactly what was sent by Clearout
> * **Preserve formatting** - Maintain original whitespace, indentation, and field ordering
>   {% endstep %}

{% step %}
**Calculate HMAC**

Generate HMAC SHA256 signature using your webhook secret:

```
expected_signature = HMAC_SHA256(data_string, webhook_secret)
```

{% endstep %}

{% step %}
**Verify Signature**

Compare signatures using constant-time comparison to prevent timing attacks:

```
if (constant_time_compare(expected_signature, received_signature)) {
    // Signature is valid
}
```

{% endstep %}

{% step %}
**Validate Timestamp (Optional)**

Check that the timestamp is recent to prevent replay attacks (optional but recommended):

```
current_time = get_current_unix_timestamp()
age = current_time - webhook_timestamp

if (age > 120) { // >2 minutes old (recommended)
    // Reject webhook
}
```

> **Recommended Time Window**
>
> We recommend validating timestamps within a 2-minute window, but you can choose any grace period between 2-5 minutes based on your security requirements and system performance needs. This validation is optional but helps prevent replay attacks.
> {% endstep %}

{% step %}
**Return Response**

Always return HTTP 200 status for successful webhook processing:

```
HTTP/1.1 200 OK
Content-Type: application/json

{"status": "success"}
```

> **Important: HTTP Status Codes**
>
> Your webhook endpoint must return HTTP 200 for successful processing. Any other status code will cause Clearout to retry the webhook delivery according to the retry schedule.
> {% endstep %}
> {% endstepper %}

### **JavaScript Example**&#x20;

{% code expandable="true" %}

```javascript
import express, { Request, Response } from "express";
import crypto from "crypto";

const app = express();
const port = 3000;

// Parse JSON body
app.use(express.json());

// Webhook signature verification function
function verifySignature(secret, body, signatureHeader) {
  try {
    const [tPart, v1Part] = signatureHeader.split(",");

    if (!tPart || !v1Part) {
      console.log("Invalid signature header format");
      return false;
    }

    const timestamp = tPart.split("=")[1];
    const receivedSig = v1Part.split("=")[1];

    if (!timestamp || !receivedSig) {
      console.log("Missing timestamp or signature in header");
      return false;
    }

    const data = `${timestamp}.${JSON.stringify(body)}`;
    const expectedSig = crypto
      .createHmac("sha256", secret)
      .update(data, "utf8")
      .digest("hex");

    if (expectedSig !== receivedSig) {
      console.log("Signature verification failed");
      return false;
    }

    console.log("Signature verified");
    return true;
  } catch (error) {
    console.log("Error verifying signature:", error);
    return false;
  }
}

// Timestamp validation function
function verifyTimestamp(signatureHeader, maxAgeSeconds = 120) {
  try {
    const [tPart] = signatureHeader.split(",");

    if (!tPart) {
      console.log("Invalid signature header format");
      return false;
    }

    const timestamp = tPart.split("=")[1];

    if (!timestamp) {
      console.log("Missing timestamp in header");
      return false;
    }

    const age = Math.floor(Date.now() / 1000) - parseInt(timestamp, 10);

    if (age <  0) {
      console.log("Timestamp is in the future");
      return false;
    }

    if (age > maxAgeSeconds) {
      console.log(`Timestamp too old: ${age} seconds (max: ${maxAgeSeconds})`);
      return false;
    }

    console.log("Timestamp verified");
    return true;
  } catch (error) {
    console.log("Error verifying timestamp:", error);
    return false;
  }
}

// Webhook endpoint
app.post("/webhook", (req, res) => {
  const secret = process.env.WEBHOOK_SECRET || "your-webhook-secret";

  // Extract signature header safely
  const signatureHeader = req.headers["x-co-webhook-signature"];

  if (typeof signatureHeader !== "string") {
    return res
      .status(400)
      .json({ status: "error", message: "Missing signature header" });
  }

  // Verify signature and timestamp
  const isValidSignature = verifySignature(secret, req.body, signatureHeader);
  const isValidTimestamp = verifyTimestamp(signatureHeader, 120); // 2 minutes

  if (!isValidSignature) {
    return res
      .status(401)
      .json({ status: "error", message: "Invalid signature" });
  }

  if (!isValidTimestamp) {
    return res
      .status(401)
      .json({ status: "error", message: "Timestamp too old" });
  }

  // Process webhook data here
  console.log("Webhook processed successfully:", req.body);

  // Return 200 OK to confirm successful processing
  res.json({
    status: "OK",
    message: "Webhook received and processed",
    signatureValid: isValidSignature,
    timestampValid: isValidTimestamp,
  });
});

app.listen(port, () => {
  console.log(`Webhook server listening on port ${port}`);
});
```

{% endcode %}

> **Key Features**
>
> * **Signature Verification** - Validates HMAC-SHA256 signature
> * **Timestamp Validation** - Prevents replay attacks (2-minute window)
> * **Error Handling** - Proper error responses for different failure scenarios
> * **Security** - Uses environment variables for secrets
> * **Logging** - Detailed console output for debugging

### Python Example&#x20;

{% code expandable="true" %}

```python
from flask import Flask, request, jsonify
import hmac
import hashlib
import time
import os

app = Flask(__name__)

def verify_signature(secret, body, signature_header):
    """
    Verify HMAC SHA256 signature using raw body (exact string sent in request).
    Header format: "t=,v1="
    """
    try:
        t_part, v1_part = signature_header.split(",")
        timestamp = t_part.split("=")[1]
        received_sig = v1_part.split("=")[1]

        # Must use raw request body (string), not re-dumped JSON
        data = f"{timestamp}.{body}"
        expected_sig = hmac.new(
            secret.encode("utf-8"),
            data.encode("utf-8"),
            hashlib.sha256,
        ).hexdigest()

        print("body:", body)
        print("secret:", secret)
        print("timestamp:", timestamp)
        print("receivedSig:", received_sig)
        print("expectedSig:", expected_sig)

        # Verify signature match
        if not hmac.compare_digest(expected_sig, received_sig):
            return False
        print("Signature verified")

        return True
    except Exception as e:
        print("Error in verify_signature:", e)
        return False

def verify_timestamp(signature_header):
    """
    Verify timestamp freshness (reject older than 2 minutes).
    """
    try:
        t_part, _ = signature_header.split(",")
        timestamp = int(t_part.split("=")[1])
        print("timestamp:", timestamp)

        age = int(time.time()) - timestamp
        print("age:", age)
        if age > 120:  # >2 minutes old (recommended)
            return False
        print("Timestamp verified")

        return True
    except Exception as e:
        print("Error in verify_timestamp:", e)
        return False

@app.route("/")
def hello_world():
    return "Hello, World!"

@app.route("/webhook", methods=["POST"])
def webhook():
    signature_header = request.headers.get("x-co-webhook-signature")
    print("signatureHeader:", signature_header)
    raw_body = request.get_data(as_text=True)
    secret = os.environ.get("WEBHOOK_SECRET", "your-secret-here")

    if not signature_header:
        return jsonify({"status": "error", "message": "Missing signature header"}), 400

    # Verify signature and timestamp
    is_valid_signature = verify_signature(secret, raw_body, signature_header)
    is_valid_timestamp = verify_timestamp(signature_header)

    print("isValidSignature:", is_valid_signature)
    print("isValidTimestamp:", is_valid_timestamp)

    if not (is_valid_signature and is_valid_timestamp):
        return jsonify({
            "status": "error",
            "message": "Invalid signature or timestamp",
            "signatureValid": is_valid_signature,
            "timestampValid": is_valid_timestamp,
        }), 400

    return jsonify({
        "status": "OK",
        "message": "Webhook received",
        "signatureValid": is_valid_signature,
        "timestampValid": is_valid_timestamp,
    })

if __name__ == "__main__":
    app.run()
```

{% endcode %}

> **Important Notes for Python**
>
> * **Raw Body** - Use `request.get_data(as_text=True)` to get the exact raw body string
> * **JSON Stringify** - The raw body must match exactly what was sent, including whitespace and formatting
> * **HMAC Compare** - Use `hmac.compare_digest()` for secure signature comparison
> * **Error Handling** - Always wrap signature verification in try-catch blocks
> * **Environment Variables** - Store your webhook secret in environment variables for security

### PHP Example&#x20;

{% code expandable="true" %}

```php
<?php
function verify_signature($secret, $body, $signature_header) {
    // Parse the signature header
    $parts = explode(',', $signature_header);
    $timestamp = explode('=', $parts[0])[1];
    $received_sig = explode('=', $parts[1])[1];

    // Create the expected signature
    $data = $timestamp . '.' . json_encode($body);
    $expected_sig = hash_hmac('sha256', $data, $secret);

    // Verify signature match
    if (!hash_equals($expected_sig, $received_sig)) {
        return false;
    }

    return true;
}

function verify_timestamp($signature_header) {
    // Parse the signature header
    $parts = explode(',', $signature_header);
    $timestamp = intval(explode('=', $parts[0])[1]);

    // Verify timestamp freshness (reject older than 2 minutes)
    $age = time() - $timestamp;
    if ($age > 120) { // >2 minutes old (recommended)
        return false;
    }

    return true;
}

// Usage example
$signature = $_SERVER['HTTP_X_CO_WEBHOOK_SIGNATURE'] ?? '';
$secret = $_ENV['WEBHOOK_SECRET'] ?? 'your-secret-here';

if (!$signature) {
    http_response_code(400);
    echo json_encode(['error' => 'Missing signature header']);
    exit;
}

$body = json_decode(file_get_contents('php://input'), true);

if (!verify_signature($secret, $body, $signature) || !verify_timestamp($signature)) {
    http_response_code(400);
    echo json_encode(['error' => 'Invalid signature or timestamp']);
    exit;
}

// Process the webhook
echo json_encode(['status' => 'success']);
?>
```

{% endcode %}

> **Important Notes for PHP**
>
> * **Error Handling** - Always validate signature header exists before processing
> * **Timestamp Validation** - Validates timestamps within 2 minutes (recommended range: 2-5 minutes)
> * **Hash Equals** - Use `hash_equals()` for secure signature comparison
> * **Environment Variables** - Store your webhook secret in environment variables for security

### Security Best Practices&#x20;

#### Secret Management <a href="#secret-management" id="secret-management"></a>

* **Store securely** - Never hardcode secrets in your application code
* **Use environment variables** - Store secrets in environment variables or secure key management systems
* **Rotate regularly** - Update your webhook secret periodically for enhanced security
* **Access control** - Limit access to webhook secrets to authorized personnel only

#### Validation Requirements <a href="#validation-requirements" id="validation-requirements"></a>

* **Always validate** - Never skip signature validation, even in development
* **Check timestamps** - Reject requests older than 5 minutes to prevent replay attacks
* **Use constant-time comparison** - Use secure comparison functions to prevent timing attacks
* **Return appropriate status codes** - Return HTTP 200 for successful processing

#### Timestamp Validation (Optional) <a href="#timestamp-validation" id="timestamp-validation"></a>

Verify that the webhook timestamp is recent to prevent replay attacks:

* **Extract timestamp** from the signature header
* **Calculate age** by comparing with current time
* **Reject old requests** beyond your chosen time window
* **UTC timezone** - All timestamps are in UTC

> **Recommended Time Window**
>
> We recommend validating timestamps within a 2-minute window, but you can choose any grace period between 2-5 minutes based on your security requirements and system performance needs.

### HTTP Status Codes&#x20;

Your webhook endpoint must return appropriate HTTP status codes to indicate successful processing

#### Successful Response <a href="#successful-response" id="successful-response"></a>

* **200 OK** - Webhook processed successfully
* **Response Time** - Must respond within 30 seconds

> **Important**
>
> You **must** return a 200 status code for the webhook delivery to be considered successful. Any other status code (4xx or 5xx) will cause the webhook to be retried after a certain time interval. Only a 200 response will mark the webhook as delivered and stop the retry process.

#### What Triggers Retries <a href="#retry-triggers" id="retry-triggers"></a>

* **4xx Client Errors** - Bad request, unauthorized, forbidden, not found, etc.
* **5xx Server Errors** - Internal server error, service unavailable, etc.
* **Timeout** - No response within 30 seconds
* **Connection Errors** - Network issues, DNS failures, etc.

> **Retry Behavior**
>
> When your endpoint returns a non-200 status code, Clearout will automatically retry the webhook delivery using exponential backoff. The retry schedule depends on your account type. See our [Redelivering Webhooks](https://docs.clearout.io/webhooks/redelivering-webhooks.html) guide for detailed retry timing information.

**Next Steps**

Now that you can validate webhook deliveries, learn how to [test your webhook integration](https://docs.clearout.io/webhooks/test-webhooks.html) and understand [webhook retry behavior](https://docs.clearout.io/webhooks/redelivering-webhooks.html).


# Test Webhooks

Test Clearout webhook integrations with sample events and payloads

This guide explains **how to test your webhook integration** using Clearout's built-in testing tools and local development environments. Proper testing ensures your webhook endpoints work correctly before handling real events.

### Dashboard Testing&#x20;

Clearout provides a built-in test interface that allows you to send sample webhook events to your configured endpoints. This method is the simplest way to confirm that your webhook integration is functioning correctly.

**Test Events Benefits**

Webhook test events let you simulate real event payloads, so you can verify your endpoint configuration and ensure your application handles webhooks correctly before going live.

### Accessing Test Interface&#x20;

To access the webhook test interface:

{% stepper %}
{% step %}
Log in to your [Clearout App](https://app.clearout.io/login)
{% endstep %}

{% step %}
Navigate to the **Developer** section in the main navigation
{% endstep %}

{% step %}
Click on **Webhook** in the left sidebar
{% endstep %}

{% step %}
In the webhook list, click the **Test Events** button (paper plane icon) for any webhook
{% endstep %}

{% step %}
You'll be taken to the Test Events interface
{% endstep %}
{% endstepper %}

### Test Events Interface&#x20;

The test interface provides a simple form to send test webhook events:

#### URL Input <a href="#url-input" id="url-input"></a>

* **Pre-filled URL** - The webhook URL from your configuration is automatically filled in
* **HTTPS Required** - All test URLs must use HTTPS for security
* **Configured Endpoints Only** - You can only test your configured webhook endpoints

#### Event Selection <a href="#event-selection" id="event-selection"></a>

The Events dropdown contains all available webhook events organized by service. Select the event type you want to test from the dropdown menu.

<div data-with-frame="true"><figure><img src="/files/mUGc1xA6o9rw2lfhwgNN" alt="Webhook Event Selection Dropdown" width="563"><figcaption><p>Event selection dropdown showing all available webhook events grouped by service</p></figcaption></figure></div>

### Test Process&#x20;

Testing webhooks is straightforward using the dashboard interface:

1. **Select Event Type** - Choose the event you want to test from the dropdown
2. **Click Test Button** - Send the test event to your webhook URL
3. **Verify Delivery** - Check your endpoint to confirm the payload was received
4. **Check Event Logs** - View delivery status and details in the event logs

**Test Event Characteristics**

* Test events are sent immediately (no retries)
* Test events are free and don't consume credits
* Test events have `event_mode: "test"` in the payload
* Test events appear in event logs for verification

### Local Development&#x20;

For local development, you'll need to expose your local server to receive webhooks. Here are the recommended approaches:

#### Using ngrok <a href="#ngrok-setup" id="ngrok-setup"></a>

[ngrok](https://ngrok.com/) is the most popular tool for local webhook development:

* Install ngrok: `npm install -g ngrok` or download from [ngrok.com](https://ngrok.com/download)
* Start your local webhook server (e.g., on port 3000)
* Expose your local server: `ngrok http 3000`
* Copy the HTTPS URL provided by ngrok (e.g., `https://abc123.ngrok-free.app`)
* Use this URL as your webhook endpoint in the Clearout dashboard

**ngrok Tips**

The free ngrok plan provides a new URL each time you restart. For consistent testing, consider upgrading to a paid plan for static URLs, or use the ngrok authtoken for more stable URLs.

#### Alternative Tools <a href="#other-tools" id="other-tools"></a>

* **webhook.site** - Simple webhook testing service for quick testing
* **Beeceptor** - Mock API service with webhook support
* **LocalTunnel** - Open source alternative to ngrok
* **Cloudflare Tunnel** - Free tunneling service from Cloudflare

### Test Payload Example&#x20;

Here's an example test payload for `email_finder.instant.completed`:

```json
{
  "event_id": "68994705edd8dab364becfe6",
  "event_type": "email_finder.instant.completed",
  "event_mode": "test",
  "event_on": "2025-08-11T01:27:33.597Z",
  "payload": {
    "status": "success",
    "data": {
      "emails": [
        {
          "email_address": "sinha@clearout.io",
          "role": "no",
          "business": "yes"
        }
      ],
      "first_name": "sinha",
      "last_name": "",
      "full_name": "sinha",
      "domain": "clearout.io",
      "confidence_score": 99,
      "_depreciated": {
        "confidence_score": 92
      },
      "total": 1,
      "company": {
        "name": "clearout"
      },
      "found_on": "2025-08-11T01:27:33.564Z",
      "credits_charged": 4
    }
  }
}
```

**Test vs Live Events**

The only difference between test and live events is the `event_mode` field. Test events use `"test"` while live events use `"live"`. All other payload data remains the same.

### Testing Signature Validation&#x20;

When testing signature validation, you can generate test signatures using your webhook secret:

#### Signature Generation Steps <a href="#signature-generation-steps" id="signature-generation-steps"></a>

{% stepper %}
{% step %}
Get the current timestamp: `Math.floor(Date.now() / 1000)`
{% endstep %}

{% step %}
Create the data string: `timestamp + '.' + JSON.stringify(payload)`
{% endstep %}

{% step %}
Generate HMAC-SHA256 hash with your webhook secret
{% endstep %}

{% step %}
Format the signature header: `t=timestamp,v1=signature`
{% endstep %}
{% endstepper %}

#### Test Signature Example <a href="#test-signature-example" id="test-signature-example"></a>

```javascript
// Example signature generation for testing
const crypto = require('crypto');

function generateTestSignature(secret, payload) {
  const timestamp = Math.floor(Date.now() / 1000);
  const data = `${timestamp}.${JSON.stringify(payload)}`;
  const signature = crypto
    .createHmac('sha256', secret)
    .update(data, 'utf8')
    .digest('hex');

  return `t=${timestamp},v1=${signature}`;
}

// Usage
const testPayload = { /* your test payload */ };
const secret = 'your-webhook-secret';
const signature = generateTestSignature(secret, testPayload);
console.log('Test signature:', signature);
```

### Viewing Test Results&#x20;

After sending a test event, you can view the results in the Event Logs:

#### Accessing Event Logs <a href="#accessing-event-logs" id="accessing-event-logs"></a>

* Click the **View Event Logs** button (eye icon) for any webhook
* Or click the **Event Logs** button at the top of the webhook dashboard
* Select the test event from the list on the left
* View detailed information in the right panel

#### Event Log Details <a href="#event-log-details" id="event-log-details"></a>

The event logs show comprehensive information about each webhook delivery:

* **Summary Section** - Event type, delivery status, timestamps, and webhook URL
* **Event Data Section** - Complete JSON payload that was sent to your endpoint
* **Delivery Status** - Success/failure status with response codes
* **Mode Indicator** - Shows "Test" for test events vs "Live" for real events

**Next Steps**

Now that you can test your webhooks, learn about [webhook signature validation](https://docs.clearout.io/webhooks/validate-deliveries.html) and understand [webhook retry behavior](https://docs.clearout.io/webhooks/redelivering-webhooks.html) for production reliability.


# Redelivering Webhooks

Clearout Webhook redelivery guide with retries, backoff, and failure handling

This guide explains **Clearout's webhook retry logic and redelivery system**. When webhook deliveries fail, Clearout automatically retries with exponential backoff to ensure reliable delivery of your webhook events.

### Retry Overview&#x20;

Clearout automatically retries failed webhook deliveries to ensure your application receives important event notifications. The retry system uses exponential backoff to handle temporary failures while avoiding overwhelming your server.

#### When Retries Occur <a href="#when-retries-occur" id="when-retries-occur"></a>

Webhook retries are triggered when:

* **HTTP Error Responses** - Your endpoint returns 4xx or 5xx status codes
* **Connection Timeouts** - Your server doesn't respond within 30 seconds
* **Network Issues** - Temporary network connectivity problems
* **Server Unavailability** - Your webhook endpoint is temporarily down

#### Retry Limits <a href="#retry-limits" id="retry-limits"></a>

The number of retry attempts depends on your account type

**Request Timeout**

Each webhook request has a maximum timeout of 30 seconds. If your endpoint doesn't respond within this time, the request will be considered failed and retried.

### Retry Schedule&#x20;

Clearout uses exponential backoff for webhook retries, with delays that increase after each failed attempt:

| Attempt | Delay After Previous | Cumulative Time |
| ------- | -------------------- | --------------- |
| 1st     | Immediate            | 0 minutes       |
| 2nd     | 5 minutes            | 5 minutes       |
| 3rd     | 10 minutes           | 15 minutes      |
| 4th     | 20 minutes           | 35 minutes      |
| 5th     | 40 minutes           | 1 hour 15 min   |
| 6th     | 80 minutes           | 2 hours 35 min  |
| 7th     | 160 minutes          | 5 hours 15 min  |
| 8th     | 320 minutes          | 10 hours 35 min |
| 9th     | 640 minutes          | 21 hours 15 min |

**Exponential Backoff**

The retry delays approximately double with each attempt, providing time for temporary issues to resolve while preventing overloading your server with rapid retries.

### Failure Handling&#x20;

When all retry attempts are exhausted, the webhook delivery is permanently marked as failed:

#### Permanent Failure <a href="#permanent-failure" id="permanent-failure"></a>

* **No More Retries** - After the maximum number of attempts, no further retries will be made
* **Failed Status** - The webhook delivery is marked as permanently failed
* **Event Logs** - The failure is recorded in your webhook delivery logs

#### Manual Retry <a href="#manual-retry" id="manual-retry"></a>

Manual retry functionality is not currently available. Once a webhook delivery is permanently failed, it cannot be manually retriggered through the dashboard.

### Monitoring&#x20;

You can monitor webhook delivery status through the Clearout dashboard:

#### Event Logs <a href="#event-logs" id="event-logs"></a>

* **Access Logs** - Click the "View Event Logs" button in the webhook table
* **Delivery Status** - View success/failure status for each webhook delivery attempt
* **Response Details** - See HTTP status codes, response times, and error messages
* **JSON Payloads** - View the complete payload that was sent to your endpoint

#### Event Details <a href="#event-details" id="event-details"></a>

Click on any event in the logs to view detailed information including delivery status, response details, and the complete JSON payload.

<div data-with-frame="true"><figure><img src="/files/PRBMgDpU18EwOXe3Nn70" alt="Webhook Event Details Panel"><figcaption><p>Event details panel showing delivery status, response information, and JSON payload</p></figcaption></figure></div>

#### Monitoring Recommendations <a href="#monitoring-recommendations" id="monitoring-recommendations"></a>

* **Regular Checks** - Monitor your webhook delivery logs regularly for failed deliveries
* **Success Rate Tracking** - Track your webhook delivery success rate over time
* **Alert Setup** - Consider setting up external monitoring for your webhook endpoints
* **Performance Monitoring** - Monitor response times to identify performance issues

### Best Practices&#x20;

#### Webhook Endpoint Reliability <a href="#webhook-endpoint-reliability" id="webhook-endpoint-reliability"></a>

* **Fast Response** - Return HTTP 200 status codes quickly (within 30 seconds)
* **Idempotency** - Handle duplicate webhook deliveries gracefully
* **Error Handling** - Implement proper error handling for webhook processing
* **Queue Processing** - Use message queues for asynchronous webhook processing

#### Duplicate Delivery Handling <a href="#duplicate-handling" id="duplicate-handling"></a>

* **Event ID Tracking** - Use the `event_id` field to track processed events
* **Database Deduplication** - Store processed event IDs to prevent duplicate processing
* **Idempotent Operations** - Design your webhook handlers to be idempotent

#### Performance Optimization <a href="#performance-optimization" id="performance-optimization"></a>

* **Async Processing** - Process webhook data asynchronously when possible
* **Connection Pooling** - Use connection pooling for database operations
* **Resource Management** - Ensure adequate server resources for webhook processing
* **Monitoring** - Implement comprehensive monitoring and alerting

**Next Steps**

Now that you understand webhook retry behavior, check out our [FAQ](https://docs.clearout.io/webhooks/faq.html) for answers to common questions about webhooks.


# SDKs

Node.js & JavaScript SDKs for email, phone, name validation

Clearout provides official SDKs for Node.js and a JavaScript widget to streamline the integration of email validation, phone verification, and data enrichment in your applications. These SDKs simplify API interactions, handle authentication, and provide type-safe methods for seamless implementation.

Choose the SDK that best fits your project:

* **Node.js** - For server-side Node.js applications with full access to all Clearout APIs
* **JavaScript Widget** - For client-side web applications requiring form validation and enrichment

Get started with the SDK that matches your tech stack and integrate email and phone validation in minutes


# Node.js&#x20;

JavaScript client library for Clearout Services

The Clearout **Node.js SDK serves as a wrapper** for the Clearout [REST API](/developers/api), enabling server-side JavaScript applications to execute real-time and bulk email verification, email discovery, and associated checks, including disposable, role-based, and catch-all detection.\
​\
It is designed for deployment within server environments and provides the same functionalities as the core Clearout Email Verifier and Email Finder products.

Check more from the [official NPM page](https://www.npmjs.com/package/@clearoutio/clearout)

```
npm install @clearoutio/clearout --save
```


# JavaScript Widget

Real-time Email Validation on Forms (Deprecated; use Form Guard)

The Clearout JavaScript Widget comes in handy for non-developers to easily integrate real-time verification into all kinds of online forms. This will let a user capture all valid prospects right at the time of form filling, avoiding the loss of any opportunity

{% hint style="info" %} <mark style="color:$info;">**Important note**</mark>

<mark style="color:red;">The JavaScript Widget is no longer supported</mark>. We recommend using [Form Guard](/form-guard/overview) for best features and support
{% endhint %}

<div data-with-frame="true"><figure><img src="/files/eT3AJOAjKxl20J9BdVwe" alt="SDK for Email Verification "><figcaption></figcaption></figure></div>

## JavaScript Widget 2.0 - Live Demos

**Clearout** **JavaScript widget** comes as a simple way to bring real-time email address verification to any online forms that capture the email addresses. The widget can be configured to handle what kind of email address is to be considered valid. Below page link shows how the Clearout JavaScript widget has enhanced the **HubSpot, Unbounce, and LeadPages** forms to capture only the leads with the valid email address

<table><thead><tr><th width="369.69921875">Form Provider + JavaScript Widget 2.0</th><th>Live Demo Page</th><th data-hidden></th></tr></thead><tbody><tr><td>HubSpot </td><td><a href="https://clearout.io/formguard/v2/demos/hubspot.html">Try it</a></td><td>HubSpot</td></tr><tr><td>Unbounce </td><td><a href="https://clearout.io/formguard/v2/demos/unbounce.html">Try it</a></td><td>Unbounce</td></tr><tr><td>Lead Pages </td><td><a href="https://clearout.io/formguard/v2/demos/leadpages.html">Try it</a></td><td>Lead Pages</td></tr></tbody></table>

## Getting Started with JavaScript Widget

Create your JavaScript widget from the Apps page by clicking on 'Create App' and by choosing run type as 'Client.' When creating Clearout Apps, you'll need to choose how and where to validate. This helps prevent the mishandling of credits and abuse by setting access thresholds across domains, URLs, and/or IPs.

{% hint style="info" %}
The app screenshots illustrated on this page may be irrelevant due to the fact that the JavaScript Widget has been deprecated and is no longer supported.
{% endhint %}

<div data-with-frame="true"><figure><img src="/files/g65m5F97IU4gnOrFqLGI" alt=""><figcaption></figcaption></figure></div>

## Security Configuration:

{% stepper %}
{% step %}

### Limit Usage:

You can take full control in avoiding abuse by limiting the usage by applying a rate limit on IP addresses. This will further help in using the credits effectively. It is always advisable to specify a rate limit either at a global level or at a minute interval. Failing to do so might deplete the credit balance sooner. There will be no limits applied by default.

<div data-with-frame="true"><figure><img src="/files/OVGipFpLYLJlcpcTcLlX" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Add URLs:

You can prevent abuse by adding URLs that restrict where email verification is permitted on the website. By the way, URLs can contain wildcards to specify whether verification should be performed on the entire website or a subset of websites, as shown in the image below.

<div data-with-frame="true"><figure><img src="/files/QCkB2tWtHE40TmJQcLwf" alt=""><figcaption></figcaption></figure></div>
{% endstep %}
{% endstepper %}

## Get your JavaScript Widget up and working:

Once the client-side app is created, you will be given a code snippet with the corresponding API token that needs to be inserted anywhere before the closing body tag. Upon saving the snippet as a component of the form, the client-side app begins verifying the emails.

```javascript
<script>
  var clearout = window.clearout = window.clearout || [],
  opts = {
    app_token: "REPLACE_WITH_YOUR_CLIENT_APP_TOKEN",
    mode: "ajax",
    block_role_account: true,
    feedback_role_account_message: "Don't use a role-based account, please",
  };
  clearout.push(["initialize", opts]),
      function () {
        var t = document,
          e = t.createElement("script"),
          a = t.getElementsByTagName("script")[0];
        e.type = "text/javascript", e.async = !0,
        e.src = "https://clearout.io/wp-content/co-js-widget/clearout_js_widget.js",
        a.parentNode.insertBefore(e, a)
      }();
</script>
```

With the mentioned snippet's basic settings, you can capture the valid business email addresses. In case you wanted to accept free accounts or other such accounts, you can make use of the advanced settings.

> <mark style="color:$info;">**Things to remember**</mark>
>
> * In case the account used to generate the app token runs out of credits, the form submissions will be allowed without email validation
> * In case of throttle limits are exceeded, the form submissions will be allowed without email validation

## Advanced Settings:

Once the code snippet is generated, you can specify the settings for the widget against the 'opts'. Initially, the code snippet only contains 'app\_token', which is the user identifier, and 'mode', which is configured to ajax by default. These settings are enough to make the widget work. You can configure the additional settings as follows;

{% code fullWidth="false" expandable="true" %}

```javascript
<script type="text/javascript">
    var clearout = window.clearout = window.clearout || [];
    var opts = {

        app_token: YOUR_CLIENT_APP_TOKEN,
        /**
          *Replace 'YOUR_CLIENT_APP_TOKEN' with your public token
          */

        safe_to_send_only: false,
        /**
          *The option to block the emails that Clearout verification returns safe_to_send as false -
          *default is 'false'
          *This option Supersedes every other block settings
          */

        optional_email: false,
        /**
          *Setting this option to 'true' allows form submission with empty email field value,
          *however any non-empty value will undergo validation - default is 'false'
        */

        block_role_account: true,
        /**
          *The option to accept or reject the Role based accounts (true/false) - default is 'false'
          */

        block_free_account: true,
        /**
          *The option to block Free accounts (true/false) - default is 'false'
          */

        block_disposable_account: true,
        /**
          *The option to block Disposable accounts (true/false) - default is 'true'
          */

        block_unknown_status: false,
        /**
          *The option to block the emails that Clearout verification gives Unknown result (true/false) -
          *default is 'false'
          */

        block_catchall_status: false,
        /**
          *The option to block the emails that Clearout verification gives Catchall result (true/false) -
          *default is 'false'
          */

        block_gibberish_account: false,
        /**
          *The option to block the emails that Clearout verification classifies as gibberish -
          *default is 'false'
          */

        block_form_submission_on_timeout: false,
        /**
          *The option to block the emails that timedout during the verification process -
          *default is 'false'
          */

        block_form_submission_on_limit_crossed: false,
        /**
          *The option to block the emails that are not validated by clearout after the usage limit has crossed -
          *default is 'false'
          */

        timeout: 10,
        /**
          *The option to define the maximum time that can be used for verifying the status of the given email address (Number in Seconds)
          */

        feedback: true,
        /**
          *The option to show feedback message for invalid emails (true/false)—the default is 'true'
          */

        feedback_invalid_classname: "error-msg",
        /**
          * The option to specify the class name to refer invalid CSS (String)—the default is 'error-msg'
          */

feedback_invalid_message: "<span style=\"color:red;font-size:15px;\">Invalid email address,"
        /**
          * The option to specify the HTML String to be displayed when invalid email is entered -  default is "Invalid email address."
          */

        feedback_free_account_message: "Invalid - <b>Free account</b> not allowed",
        /**
          *The option to specify the HTML String to be displayed when free account email is entered—the default is "Invalid Free account not allowed."
          */

        feedback_role_account_message: "Invalid - Role account not allowed",
        /**
          *The option to specify the HTML String to be displayed when role based email is entered - default is "Invalid—Role account not allowed."
          */

        feedback_disposable_account_message: "Invalid - Disposable account not allowed",
        /**
          *The option to specify the HTML String to be displayed when Disposable email is entered - default is "Invalid—Disposable account not allowed"
          */

        feedback_unknown_message: "Unable to verify the email address, try after sometime",
        /**
          *The option to specify the HTML String to be displayed when Clearout gives Unknown status post verification default is "Unable to verify the email address, try after sometime"
          */

        feedback_catchall_message: "Catch All email not acceptable, please enter a different email address",
        /**
          * The option to specify the HTML String to be displayed when Clearout gives Catchall status post verification—the default is "Catch All email not acceptable, please enter a different email address"
          */

        feedback_safe_to_send_only_message: "Please enter different email, entered email is not safe",
        /**
          * The option to specify the HTML String to be displayed when a non safe to send email is entered—the default is "Please enter different email, entered email is not safe"
          */

        feedback_gibberish_message: "Invalid—Gibberish email address not allowed,"
        /**
          * The option to specify the HTML String to be displayed when a gibberish email is entered—the default is "Invalid—Gibberish email address not allowed."
          */

        feedback_google_recaptcha: "Google Recaptcha Verification Failed",
        /**
          * The option to specify the HTML String to be displayed when Google Recaptcha verification fails—the default is "Google Recaptcha Verification Failed"
          */

feedback_on_timeout_message: "Email could not be verified - timeout occured",
        /**
* The option to specify the HTML string to be displayed when email verification times out—the default is "Email could not be verified—timeout occurred."
          */

        feedback_on_usage_limit_crossed_message: "Email could not be verified—usage limit crossed,"
        /**
          * The option to specify the HTML String to be displayed when usage limits have crossed—the default is "Email could not be verified - usage limit crossed"
          */

        mode: "ajax",
        /**
          *The option to specify the desired mode of verification (ajax/formSubmit) - default is "ajax"
          */

        selector: "user_email",
        /**
          *The option to specify the email field using specified selector for which verification should happen (classname eg: user_email)—the default is empty
          */

        submit_button_selector: '.submit-btn',
        /**
          * The option to specify any valid jquery selector for a submit button to use with formSubmit mode—default is empty
          */

        debug: true,
        /**
          *The option to specify debug console (true/false)—the default is 'true.'
          */

        elements: [{selector: 'ANY SELECTOR', opts: 'ANY OF THE ABOVE MENTIONED OPTIONS'}],
        /**
          *This block can be used to `configure any element in the form specifying the selector and the equivalent options as an array—the default is empty array
          */

        inspect: true
        /**
          * The option to specify if the field getting verified needs to be highlighted with a border or not defaults to 'false.'
          */

        on_before_verify: <function>,
        /**
* Use this option to pre-hook into the email validation workflow, this callback function will be called with the email and the form object parameters before the control pass to the Clearout validation, so it's the best place to do sanitization or bring your own validation. By returning false to this callback function, you will stop triggering. Clearout validation

* Example:
          * on_before_verify: function({ email, $form }){
          *   // custom code
          *   // return true or false
          * }
          */

        on_after_verify: <function>,
        /**
          *  Use this option to post-hook into email validation workflow, this callback function will be called with the email and the form object parameters after successful execution of Clearout validation along with result, so it's the best place to trigger or filter any further operation based on the validation result such as customizing UI or messages or stopping form submission based on result status by returning false

* Example:
          * on_after_verify: function({ result, $form }){
          *   // custom code
          *   // return true or false
          * }
          */

        recaptcha_site_key: <GOOGLE_RECAPTCHA_V3_SITE_KEY>,
        /**
          * Option to specify whether to use Google reCAPTCHA (v3) in * order to prevent bot or abuser from the signup forms.
          * <SITE_KEY> needs to be generated and replaced in the above option.
          */

        auto_validation: true,
       /**
          * Option to auto detect the email text field in the forms, setting 'false' won't detect email fields automatically provide a way to specify explicitly - default is 'true'
          */

        on_ready: <function>,
        /**
          * Use this option to attach Clearout validation to the custom forms, most probably this will used when 'auto_validation' option set to false
          *Example:
          * on_ready: function(){
          *   // custom code
          * }
          */

        prefill_validation: false,
        /**
          * Option to automatically validate prefilled email fields - default is 'false'
          */

        suggest_email: true,
        /**
          * The option to display a suggested email address if the user's entered email address not valid - default is 'true'
          */

        suggest_email_message_template: 'Did you mean __SUGGESTED_EMAIL_ADDRESS__ ?',
        /**
          * The option to specify the suggested email message template. the placeholder __SUGGESTED_EMAIL_ADDRESS__ will be replaced with the real suggested email - default is 'Did you mean __SUGGESTED_EMAIL_ADDRESS__ ?
          */

        suppress_form_builtin_error_message_selector: '.error-msg',
        /**
          * Use this option to suppress the form's built-in error message by specifying the valid jQuery selector of the form's error message element - default is null
          */

        submit_button_cursor_style: 'pointer',
        /**
          * Use this option to set form's submit button cursor style - default is 'pointer'
          */
      };

      clearout.push(["initialize", opts]),
      function () {
        var t = document,
          e = t.createElement("script"),
          a = t.getElementsByTagName("script")[0];
        e.type = "text/javascript", e.async = !0,
        e.src = "https://clearout.io/wp-content/co-js-widget/clearout_js_widget.js",
        a.parentNode.insertBefore(e, a)
      }();

</script>
```

{% endcode %}

> **Impact of Emails or Domains** [**Allowlist/Blocklist Settings**](https://app.clearout.io/dashboard/settings/email_verifier)
>
> In case of an incoming email address or domain is already part of allowlist or blocklist then the verification outcome will be based on that. Above setting options wont have any impact during the verification.

## reCAPTCHA:

Google reCAPTCHA (v3) helps to prevent hackers from abusing the system, as it blocks bots from submitting fake or nefarious online requests.

### Captchas can be used to

* Protect the integrity of online forms by stopping abusers from sending in repeated false responses
* Prevent abusers from signing up for multiple accounts

So, a captcha with real-time email validation would generate genuine leads. To enable Google reCAPTCHA (v3), you need to generate a site key and a secret key from [Google](https://developers.google.com/recaptcha/docs/v3)

<div data-with-frame="true"><figure><img src="/files/Fbuw2QUbRrdratm2uUxK" alt=""><figcaption></figcaption></figure></div>

## Adding Email Validation to a Specific Form

In case a page has many forms, and you are looking to enable Clearout email validation to a specific form, then it requires passing the form element as part of the initialization, as mentioned below

{% stepper %}
{% step %}
Find the form element for which the Clearout email validation needs to be added

{% endstep %}

{% step %}
Pass the form element as the third parameter in the **clearout.push()** initialization method

```javascript
<script>
    var clearout = window.clearout = window.clearout || [];
    var opts = {
    app_token: "REPLACE_WITH_YOUR_CLIENT_APP_TOKEN",
    api_url: "https://api.clearout.io",
    }
    var form = document.getElementById('YOUR_FORM_ID');  // Step 1
    clearout.push(["initialize", opts, form]);  // Step 2
    (function () {
      var u = "/";
      var d = document,
        g = d.createElement("script"),
        s = d.getElementsByTagName("script")[0];
      g.type = "text/javascript"; g.async = true;
      g.src = "https://clearout.io/wp-content/co-js-widget/clearout_js_widget.js",
      s.parentNode.insertBefore(g, s);
    })();
</script>
```

{% endstep %}
{% endstepper %}

## Adding Email Validation to Asynchronous or Deferred Form

In case the form on the page is set to be rendered dynamically, then wait for the form element to be available before adding it to the Clearout email validation.

```javascript
<html>
<body>
  <div>
    <!-- page content goes here -->
    <!-- some script to generate form -->

  </div>

  <!-- Initialize Clearout JS Widget -->
  <script>
    var clearout = window.clearout = window.clearout || [];
    var opts = {
      app_token: "REPLACE_WITH_YOUR_CLIENT_APP_TOKEN",
      api_url: "https://api.clearout.io",
      auto_validation: false // STOP ATTACHING VALIDATION AUTOMATICALLY
    };
    clearout.push(["initialize", opts]);
    (function () {
      var u = "/";
      var d = document, g = d.createElement("script"), s = d.getElementsByTagName("script")[0];
      g.type = "text/javascript"; g.async = true;
      g.src = "https://clearout.io/wp-content/co-js-widget/clearout_js_widget.js",
        s.parentNode.insertBefore(g, s);
    })();

    // Wait for form availability and then attach Clearout email validation
    var formSelector = ".myformclassname" // any valid jQuery selector
    var intervalId = setInterval(function () {
      // check jQuery loaded
      if ( typeof window.jQuery === "undefined" ) { return; }

      // jQuery loaded
      if (jQuery(formSelector).length) {
        console.log("Form is available")
        clearInterval(intervalId)
        intervalId = null
        window.clearout.emailValidator.attachToForm({ formSelector })
      }
    }, 500)

  </script>
</body>
</html>
```

## Email Validation on Popup Forms during Form Submission&#x20;

Most pop-up form providers will render the form dynamically, and even the form submit button would be a custom button created using the \<DIV> tag.

In that case, adding clearout validation to the form requires the mode to be '**formSubmit**' rather than '**ajax**'; also, to handle the custom submit button, it is necessary to take over the button click with a transparent overlay before the actual form submission occurs. The steps below illustrate how to take over the form submit button and then attach validation to the form

{% stepper %}
{% step %}
Switch off the auto-validation mode. Adding Clearout's JS Widget will auto-detect the email fields by default and attach the validation. This can be disabled by setting the 'auto\_validation' option to 'false.'
{% endstep %}

{% step %}
Specify which form & submit button on the page requires validation by setting the form options as mentioned below:

> Please change the option values according to your form setting, since the below values are only for reference.

```javascript
var formOpts = {
    formSelector: ".my-form",
    /** specify form selector - mandatory option */
    submit_button_selector: ".my-form-submit-btn",
    /** specify form submit button - forces formSubmit mode */
    mode: "formSubmit",
    /** either ajax or formSubmit - default ajax */
    submitButtonOverlay: true /** whether to overlay transparent container or not - default true */
}
```

{% endstep %}

{% step %}
Pass the form option (formOpts) to the Cleaout emailValidator service method attachToForm() is part of the widget on\_ready callback, as mentioned below.

```javascript
var coJsWidgetReady = function() {
console.log("Clearout.onReady called...attaching form for validation")
var formOpts = {
    formSelector: ".my-form",
    /** specify form selector - mandatory option */
    submit_button_selector: ".my-form-submit-btn",
    /** specify form submit button - forces formSubmit mode */
    mode: "formSubmit",
    /** either ajax or formSubmit - default ajax */
    submitButtonOverlay: true /** whether to overlay transparent container or not - default true */
  }
  clearout.emailValidator.attachToForm(formOpts)
}
```

{% endstep %}

{% step %}
The final snippet of code would look something like below and needs to be inserted on the page where the form will be rendered.

```javascript
var coJsWidgetReady = function () {
  console.log("Clearout.onReady called...attaching form for validation")
  var formOpts = {
    formSelector: ".my-form",
    /** specify form selector - mandatory option */
    submit_button_selector: ".my-form-submit-btn",
    /** specify form submit button - forces formSubmit mode */
    mode: "formSubmit",
    /** either ajax or formSubmit - default ajax */
    submitButtonOverlay: true/** whether to overlay transparent container or not - default true */
  }
  clearout.emailValidator.attachToForm(formOpts)
}

var clearout = window.clearout = window.clearout || [];
var opts = {
  app_token: 'REPLACE_WITH_YOUR_CLIENT_APP_TOKEN',
  api_url: "https://api.clearout.io",
  auto_validation: false,
  on_ready: coJsWidgetReady
}
clearout.push(["initialize", opts]);
(function () {
  var u = "/";
  var d = document,
    g = d.createElement("script"),
    s = d.getElementsByTagName("script")[0];
  g.type = "text/javascript"; g.async = true;
  g.src = "https://clearout.io/wp-content/co-js-widget/clearout_js_widget.js",
  s.parentNode.insertBefore(g, s);
})();
```

{% endstep %}
{% endstepper %}

> <mark style="color:$info;">**Note**</mark>**:** Please contact <us@clearout.io>, if none of the above methods help you integrate Clearout email validation on the form

## Integrate custom email validation using the verify() method.&#x20;

Use the **clearout.emailValidator.verify()** method at your disposal in situations where you need to implement your own form validation with Clearout's real-time email validation for the email field. To find out more about the integration, please take a look at the code example below.

{% code expandable="true" %}

```javascript
<html>
<body>
  <div>
    <!-- page content goes here -->
    <!-- Form goes here -->

  </div>

  <!-- Initialize Clearout JS Widget -->
  <script>
    var clearout = window.clearout = window.clearout || [];
    var opts = {
      app_token: "REPLACE_WITH_YOUR_CLIENT_APP_TOKEN",
      api_url: "https://api.clearout.io",
      auto_validation: false // STOP ATTACHING VALIDATION AUTOMATICALLY
    };
    clearout.push(["initialize", opts]);
    (function () {
      var u = "/";
      var d = document, g = d.createElement("script"), s = d.getElementsByTagName("script")[0];
      g.type = "text/javascript"; g.async = true;
      g.src = "https://clearout.io/wp-content/co-js-widget/clearout_js_widget.js",
        s.parentNode.insertBefore(g, s);
    })();

    // Custom Submit button handler to do validations before submitting form
    $('.submit-btn').on('click', async function(e){
      e.preventDefault()
      <!-- Custom validations and code goes here -->

      // Calling Clearout's Email validation
      let result = await clearout.emailValidator.verify(email, options)
      if (result && result.data && result.data.free === 'yes') {
        <!-- Code to ask user to enter business email -->
      }
    })

  </script>
</body>
</html>
```

{% endcode %}

> **Note:** Please contact <us@clearout.io>, if none of the above methods help you integrate Clearout email validation on the form

## Customizing Feedback Error Message

If you want to change the error message text or apply the styling, please check all the options that start with feedback, as they are of HTML string type, so feel free to update the text that suits your requirement and use inline HTML style or classname to change the look and feel.

Check out the code snippet and screenshot below to see how the feedback message text and styling have been modified.

```javascript
<script>
  var clearout = window.clearout = window.clearout || [],
  opts = {
    app_token: "REPLACE_WITH_YOUR_CLIENT_APP_TOKEN",
    mode: "ajax",
    block_role_account: true,
    feedback_invalid_message: "<span style=\"color:#f1cb03;font-size:10px;\">Correct your email address ☝</span>",
  };
  clearout.push(["initialize", opts]),
      function () {
        var t = document,
          e = t.createElement("script"),
          a = t.getElementsByTagName("script")[0];
        e.type = "text/javascript", e.async = !0,
        e.src = "https://clearout.io/wp-content/co-js-widget/clearout_js_widget.js",
        a.parentNode.insertBefore(e, a)
      }();
</script>
```

<div data-with-frame="true"><figure><img src="/files/Y2ucVz36CequBvJbbzqU" alt="Email Validation on Forms"><figcaption></figcaption></figure></div>

## Activate/Deactivate the apps:

If you want to disable any app temporarily, you can click on the toggle button against the app under the status column. Verification will not be carried out as long as the status of the app remains 'Inactive.' You can resume the verification by turning the toggle to an active state.

<div data-with-frame="true"><figure><img src="/files/mApO2FQifMqdIKouGKZ4" alt="Activating/Deactivating Javascript Widget"><figcaption></figcaption></figure></div>

## Deleting the unused/old apps:

Any unused app can be deleted by clicking the delete icon against the app. On hovering over the app name, the Delete(Bin Icon) option will be visible.

<div data-with-frame="true"><figure><img src="/files/36KZpXEExmXex8NlWmcG" alt=""><figcaption></figcaption></figure></div>

## Reset/Regenerate the Token:

Whenever an abuse is identified while you are still in control of the usage, you may reset the app token. Resetting any app token provides two options:

* Deactivating the existing token in use. The token will expire immediately (in case of abuse is identified)
* Keep the already active token working for an hour post-resetting (which might be helpful in case of migrating to a newer setup). Once the first hour completes, the old token will not work.

<div data-with-frame="true"><figure><img src="/files/EEGtZDa7Zs9hUufbJxv7" alt=""><figcaption></figcaption></figure></div>

It is always advisable to choose 'Expire Immediately' if any sort of abuse is identified. On successful resetting of the token, make sure to update the form code with the new token.


# Ui References

## GitBook UI Components – Quick Reference

Welcome to the **GitBook Components Showcase** \
This page helps new editors understand and try out all **UI blocks** available in GitBook’s Notion-style editor.

***

### &#x20;Stepper (Process / Flow Guide)

/stepper

**1️⃣ Add a Stepper Block**\
Type `/stepper` and hit Enter. You’ll get a vertical numbered layout like this.

**2️⃣ Add Your Steps**\
Each step can include text, images, lists, and even code blocks.

**3️⃣ Add More Steps**\
Press the **+** button below the step or hit **Enter twice** to add another step.

💡 *Use Stepper for process flows, setup instructions, or multi-step guides.*

/stepper

***

### &#x20;Tabs (Switchable Views)

/tabs

**User View**\
You can use `/tabs` to create multiple views for different audiences — like **User** vs **Developer** content.

**Developer View**\
Tabs help organize long guides. Perfect for “API” vs “UI” instructions.

/tabs

💡 *Use Tabs for “Quick Verify / Bulk Verify” or “Frontend / Backend” type comparisons.*

***

### Columns (Side-by-Side Layout)

/columns

#### &#x20;Left Column

Add text, bullet points, or lists here. Great for instructions.

#### Right Column

Add an image or table here using `/image` or `/table`.

💡 *Use Columns to show screenshots next to explanations!*

/columns

***

### &#x20;Hints (formerly Callouts)

/hint{"type":"info","title":"Info Hint"}\
Used for helpful notes, tips, or neutral context.

💡 Example: “You can get your API key under Settings → API.”\
/hint

/hint{"type":"success","title":"Success Hint"}\
Used to highlight success or completion messages.\
/hint

/hint{"type":"warning","title":"Warning Hint"}\
Used to show potential issues or cautionary notes.\
/hint

/hint{"type":"danger","title":"Danger Hint"}\
Used to highlight critical issues or errors.\
/hint

***

### &#x20;Table

/table

| Column 1 | Column 2        | Column 3         |
| -------- | --------------- | ---------------- |
| ✅ Valid  | ⚠️ Catch-All    | ❌ Invalid        |
| 200 OK   | 400 Bad Request | 500 Server Error |
| /table   |                 |                  |

💡 *Use `/table` for small data summaries or API status codes.*

***

### &#x20;Code Blocks

/code

```javascript
fetch("https://api.clearout.io/v2/email_verify/instant", {
  method: "POST",
  headers: { "Authorization": "Bearer YOUR_API_KEY" },
  body: JSON.stringify({ email: "test@domain.com" }),
});
```

/code

💡 *Use `/code` for API examples or command snippets.*

***

### &#x20;Image

/image\
Use `/image` to upload screenshots or product visuals.\
💡 *Recommended for showing dashboards, extensions, or plugin interfaces.*

***

### &#x20;Quotes

/quote

> “Clear, visual documentation builds trust and improves onboarding.”\
> /quote

💡 *Use for short reminders or best practices.*

***

### &#x20;Combining Components

You can even **mix components** for richer layouts:

* Use `/columns` inside a `/stepper` step to show image + description
* Put `/hint` inside `/tabs` for contextual info
* Add `/table` inside `/columns` to show side-by-side comparison

***

### 🧠 Example Layout Idea

/columns

#### &#x20;Stepper on Left

Use `/stepper` for:

* Install
* Connect
* Test
* Deploy

#### &#x20;Hints on Right

/hint{"type":"success","title":"Pro Tip"}\
Add hints on the right column to keep your layout interactive.\
/hint

/columns

***

### &#x20;Best Practices

* Keep one concept per section
* Don’t overuse tabs (3–4 max per block)
* Prefer `/hint` for short info — not long paragraphs
* Add screenshots often
* Use consistent emoji/icons per block type

***

### &#x20;Summary Table

/table

| Block   | Command    | Use Case                |
| ------- | ---------- | ----------------------- |
| Stepper | `/stepper` | Multi-step tutorials    |
| Tabs    | `/tabs`    | Switchable content      |
| Hint    | `/hint`    | Notes, tips, warnings   |
| Columns | `/columns` | Side-by-side layouts    |
| Table   | `/table`   | Data or comparisons     |
| Code    | `/code`    | Snippets                |
| Quote   | `/quote`   | Inspiration or guidance |
| Image   | `/image`   | Visuals or screenshots  |
| /table  |            |                         |


# Team Account

Manage team access & collaboration in Clearout

Successful marketing heavily depends on teamwork. Therefore, Clearout allows you to upgrade your account to a team account, enabling multiple users to share access and sublet the account.

{% embed url="<https://youtu.be/zYU7oxbd-9M>" %}

### How to Create a Team Account? <a href="#how_to_create_team_account" id="how_to_create_team_account"></a>

* Log in to [Clearout dashboard](https://app.clearout.io/dashboard)
* On your dashboard, click on “Upgrade to Team Account”.

<div data-with-frame="true"><figure><img src="/files/SC5jIv7ulsGkgMU7CpSo" alt="Enable Team Account from Dashboard"><figcaption></figcaption></figure></div>

* A pop-up will open in which you need to enter the following:

<div data-with-frame="true"><figure><img src="/files/g1RLnHdHm4UaOsSX751A" alt="Add Organisation details to setup team account"><figcaption></figcaption></figure></div>

<table><thead><tr><th width="246.13671875"></th><th></th></tr></thead><tbody><tr><td>Organisation Name</td><td>Enter organisation for which you would like to use the Team Account</td></tr><tr><td>Organisation Website URL</td><td>Enter organisation Website URL for which you would like to use the Team Account</td></tr><tr><td>Enter Phone Number</td><td>Enter the phone number through which you would like to use the Team Account</td></tr></tbody></table>

* Click on 'Submit'. Once submitted, you need to log in again.
* Under the 'More' tab, click on the 'Admin' button to set up the team and invite your members

<div data-with-frame="true"><figure><img src="/files/xLHHfTiwddjyG5bssYMt" alt="Navigate to &#x22;Admin&#x22; panel to invite team members"><figcaption></figcaption></figure></div>

> Team account upgrade can ONLY be done from an individual account

## Different Roles in a Team Account <a href="#different_roles_team_account" id="different_roles_team_account"></a>

<table><thead><tr><th width="134.48046875"></th><th></th></tr></thead><tbody><tr><td>Owner</td><td>The single and prime holder of the account who has access to all features.</td></tr><tr><td>Manager</td><td>Has access to team management, credit management among the team/members, and verification and result file download. Can view other members' lists too.</td></tr><tr><td>Executive</td><td>Has access to use services with assigned credits</td></tr></tbody></table>

### Assign roles for better team management

Clearout supports **three different user roles** to help you organize teams and manage account access efficiently. Each role comes with specific permissions to control how team members interact with the platform.

| Features                                  | Owner | Manager | Executive |
| ----------------------------------------- | :---: | :-----: | :-------: |
| Verification and Result File Download     |  Yes  |   Yes   |    Yes    |
| Owns The Accounts                         |  Yes  |   Yes   |     No    |
| Team Management                           |  Yes  |   Yes   |     No    |
| Credit Management Across Team and Members |  Yes  |   Yes   |     No    |
| Access to Members List                    |  Yes  |   Yes   |     No    |
| Buy Credits                               |  Yes  |    No   |     No    |
| Billing                                   |  Yes  |    No   |     No    |
| Team Analytics                            |  Yes  |   Yes   |     No    |

## Team Management <a href="#team_management" id="team_management"></a>

### Add Members <a href="#add_members" id="add_members"></a>

{% stepper %}
{% step %}
Click on the 'add member' icon

<div data-with-frame="true"><figure><img src="/files/ax9tjtCe5BzbQ8otKrwb" alt="Add team members from Admin Panel"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
Assign the position of 'Manager' or 'Executive', the number of credits, and the daily limit, if any.

> Unlimited Credits: No limit on use of the credits by the team member
>
> No Daily Limit: No limit on daily use of the credits by the team member

<div data-with-frame="true"><figure><img src="/files/HHHJAOOvgxvt1Y6x4TX7" alt="Assign role and credits to invited member"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
Click on 'Add Member'

<div data-with-frame="true"><figure><img src="/files/jlNe6RgrojSqpKezyXll" alt="Invite Team Member"><figcaption></figcaption></figure></div>

> &#x20;An invitation will be sent to the member. Once accepted, the membership will be activated.
> {% endstep %}
> {% endstepper %}

### Edit/Deactivate/Remove Team Members <a href="#edit_delete_team_members" id="edit_delete_team_members"></a>

<table><thead><tr><th width="137.91015625"></th><th></th></tr></thead><tbody><tr><td>Owner</td><td>The owner can add, deactivate, remove, or edit the roles and credits across the team.</td></tr><tr><td>Manager</td><td>The manager can only add or edit the roles and credits of the executives and other managers.</td></tr><tr><td>Executive</td><td>The executives cannot edit the team.</td></tr></tbody></table>

<div data-with-frame="true"><figure><img src="/files/WNqjEhECKA6prlR7l08G" alt="Edit/Deactivate/Remove Team Members"><figcaption></figcaption></figure></div>

### How to Add More Seats To A Team Account? <a href="#add_more_seats_to_account" id="add_more_seats_to_account"></a>

A newly created team account provides two seats by default, in addition to the owner's seat.

This number can be increased with the following steps:

{% stepper %}
{% step %}
Enter the 'Admin' panel of your account.
{% endstep %}

{% step %}
Click on the seat '+' icon.

<div data-with-frame="true"><figure><img src="/files/pWlkgBmVC8a36BqT777h" alt="Add additional seats to team account"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
Once you click on the '+' button to purchase the additional seats for your team.

<div data-with-frame="true"><figure><img src="/files/hb8uw4ToGJU7KvZuEq9T" alt="Purchase the required seats at one-time cost"><figcaption></figcaption></figure></div>
{% endstep %}
{% endstepper %}

## **Credit Management**

<table><thead><tr><th width="202.34375"></th><th></th></tr></thead><tbody><tr><td>Owner</td><td>The owner can assign limits to daily usage and the overall usage of members across the team.</td></tr><tr><td>Manager</td><td>The managers can assign the credits of the executives and other managers.</td></tr><tr><td>Executive</td><td>The executives cannot assign or edit the number of credits.</td></tr></tbody></table>

<div data-with-frame="true"><figure><img src="/files/NonYLunqgIaa7NlDvH5r" alt="Manage credits and limits for team member"><figcaption></figcaption></figure></div>

## **Benefits of the Team Account**

* Share credits
* Invite members to be part of a team
* Grant different access and permissions
* Access the stored lists of team members
* Monitor the account and data usage

> The billing access is available with the owner only.

By default, two free seats are available in the team account. Additional seats can be added through [add-ons](https://app.clearout.io/pricing).&#x20;


# Analytics

Track usage, bounces & cost savings analytics

The **Analytics page gives** you a clear view of how your team is using Clearout over time, including **verifications completed, bounces detected, cost savings, and usage** by members or organizations. It’s designed to help you understand trends, optimize campaigns, and plan future budgets based on real performance data.​

### What you can see

* Total usage across various tools and products performed in a selected date range.
* Bounces detected and estimated cost savings.
* Usage broken down by team members or organizations (for Team Accounts).
* Downloadable reports for further analysis or sharing with stakeholders.​

<div data-with-frame="true"><figure><img src="/files/tBdH0A3kNBm43sAw7DtV" alt="Overview of Clearout Analytics showcasing Total usage across various tools and products performed in a selected date range" width="563"><figcaption></figcaption></figure></div>

### How to view and download analytics

1. Log in to your Clearout account.
2. Go to **Menu → Analytics**.
3. Choose the **date range** and optionally filter by **member** or **organization** (for team accounts).
4. Review the charts and numbers online, or click to **download** the report for offline analysis.​


# Activities

Monitor all validation activities & history

Track, filter, and review all actions performed in your Clearout account, including email verification, email finder, prospecting, form validation, reverse lookup, webhook events, and other platform activities.

This helps you stay informed about when actions occurred and any credits used across different tools.

Click on **More** → **Activities**

{% hint style="info" %}
**Note**: Activity data is retained for **30 days only**. Please download your activity records within this period. If you require an extended retention period, contact us at [**us@clearout.io**](mailto:us@clearout.io).
{% endhint %}

<div data-with-frame="true"><figure><img src="/files/cAmocHaVV7JsJyLnNEfr" alt="Navigation to Activities on Clearout Account"><figcaption></figcaption></figure></div>

**Filter Activities**&#x20;

Use the **Filters** dropdown to view specific types of account activities such as login, logout, password reset, email verification, email finder, prospecting, form validation, reverse lookup, webhook events, and more. You can also adjust the **date range** to narrow down activities for a specific time period.

<div data-with-frame="true"><figure><img src="/files/z7NjO1be7kZlD53JGiJk" alt="Filter Activities based on Services and events in the selected date range"><figcaption></figcaption></figure></div>

**Download Activities Data**

Click the **Download icon** to export activity records for the selected date range. You can download activities based on the applied filters or for the overall account usage.

<div data-with-frame="true"><figure><img src="/files/1vimdD7KSfH4X6gTYJkW" alt=""><figcaption></figcaption></figure></div>


# My Account

Manage account settings, credits & profile

The **My Account** area is where you manage your **personal details, subscription, billing, security, and account lifecycle** for your Clearout workspace.

<div data-with-frame="true"><figure><img src="/files/amEg51Dv2CtCEI6IPmjp" alt="Overview of My Account Details"><figcaption></figcaption></figure></div>

### Profile

Use the [**My Account → Profile**](https://app.clearout.io/account/profile) section to keep your personal and company information accurate. You can update your name, primary email address, and company details so notifications and invoices always show the correct information

### Pricing

From [**My Account → Pricing**,](https://app.clearout.io/pricing) you can see the available pricing options for Clearout products (Email Verifier, Email Finder, Form Guard, Prospecting, etc.) and compare monthly vs. pay‑as‑you‑go choices before upgrading or changing plans.

### Plans

In the [**My Account → Plans**](https://app.clearout.io/account/manage-plans) section, you can view your current plan, usage limits, and remaining credits, and switch between plans when your usage increases. You can also enable or disable features (if supported) and check your subscription renewal date here.

### Billing

The [**My Account → Billing**](https://app.clearout.io/account/billing) section lets you manage everything related to payments and invoices. You can update billing details and payment methods, set up auto‑recharge for credits, and **download past invoices or receipts** for your records or finance team

### Authentication

Under [**My Account → Authentication**](https://app.clearout.io/account/authentication) section lets you manage how you log in to Clearout and secure your account. You can change your password and, if available for your plan, configure SSO by adding your identity provider details (for example, Okta) and verifying the connection

### Delete account

If you no longer need Clearout, the [**My Account → Delete account**](https://app.clearout.io/account/delete) option allows you to permanently close your account and remove associated data in line with our data‑retention policies. **Make sure you’ve downloaded any required invoices or reports** before requesting deletion, as access will be lost once the account is closed.


# Tools

Google Sheets, WordPress plugins & add-ons

Clearout provides **multiple integration tools** designed to seamlessly incorporate email and phone validation into your existing workflows. Whether you prefer **browser extensions, spreadsheet add-ons, or content management system(CMS) plugins**, our tools enable real-time data validation and enrichment across your favorite platforms.


# Chrome Extension

Build verified prospect lists with Clearout Chrome Extension

## Clearout Chrome Extension

**Verify and find emails directly from your browser** with the Clearout Chrome Extension. You can easily build pre-verified prospect lists from **LinkedIn and Wellfound** in seconds without having to switch tabs.

### Key Highlights

* &#x20;Works on LinkedIn, Sales Navigator, and Wellfound
* &#x20;Support automatic prospect building from search pages &#x20;
* &#x20;Export results to your Clearout dashboard or CSV

{% embed url="<https://www.youtube.com/watch?v=wIQmyDjDjLM>" %}

### Installation Guide

{% stepper %}
{% step %}

#### Install the Extension

To install:

* Go to the [**Clearout Chrome Extension page**](https://chromewebstore.google.com/detail/email-finder-phone-enrich/hjhpmemgiecpogjpmofnnaghdokkfcpp)
* Click **Add to Chrome → Add Extension**
* Once installed, the **Clearout icon** will appear in your browser toolbar

*Tip:* Pin it to your toolbar for one-click access.
{% endstep %}

{% step %}

#### Log In

After installation:

* Click the **Clearout icon** in your toolbar
* Log in using your [Clearout dashboard](https://app.clearout.io/dashboard/overview)
* If you’re new, [sign up for free](https://app.clearout.io/dashboard/overview)

*Your available credits are automatically synced from your Clearout dashboard.*
{% endstep %}

{% step %}

#### Build Prospect List Instantly

Visit the Search or Profile page on LinkedIn.

* Click the Clearout extension icon → Add leads to the list.&#x20;
* Lists will be available on the Clearout Prospecting page

Try *it on LinkedIn or Wellfound; it works for almost all the search page results!*
{% endstep %}

{% step %}

#### Export Prospect List

After adding leads to the list:

* Go to the prospect list and **Click Export** to download.&#x20;

The exported *CSV includes email, status, confidence score, and domain info, along with prospect profiles.*&#x20;
{% endstep %}
{% endstepper %}

### Troubleshooting

If something doesn’t work:

1. Refresh the page or re-login to your Clearout account
2. Make sure you’re connected to the internet
3. Try disabling other Chrome extensions temporarily
4. Contact [**support**](/help-and-support/how-to-work-with-support) for direct help


# Google Sheets Add-ons

Verify, Find emails in Google Sheets with Clearout

Clearout for Sheets is a Google Sheets add-on that lets you **verify, clean, and find business email addresses directly inside your spreadsheets**. You can use it both to cleanse existing lists and to build new B2B prospect lists with minimal manual effort.

The add-on provides two primary workflows:

* **Email Verifier** – validate and enrich email addresses already present in your sheet.
* **Email Finder** – discover likely business email addresses from names, company information, and domains.

{% embed url="<https://youtu.be/0c1mj6owqAI?si=XAGlWMgMy0c3oR0m>" %}

***

## Installation

{% stepper %}
{% step %}
Open any Google Sheet using your Google account.

{% endstep %}

{% step %}
Go to **Extensions → Add-ons → Get add-ons** to open the Google Workspace Marketplace.

{% endstep %}

{% step %}
Search for **Clearout for Sheets** and open the listing.

<div data-with-frame="true"><figure><img src="/files/NTnuf0OGEbTCH6J38spJ" alt=""><figcaption></figcaption></figure></div>

{% endstep %}

{% step %}
Click **Install** and approve the requested permissions to connect Clearout with your Google account and Sheets.

{% endstep %}

{% step %}
After installation, return to your sheet and open **Extensions → Clearout for Sheets → Open** to launch the add-on.
{% endstep %}
{% endstepper %}

Clearout runs in a sidebar inside Google Sheets, so you can work with your data without leaving the spreadsheet.

## Connecting your Clearout account

Before running any verification or finder operations, connect your Clearout account:

* When you first open the sidebar, you'll be asked to enter your **Clearout API key**.
* The add-on securely stores this token as a per-user setting so each collaborator uses their own account and credits.
* Your name and credit balance are displayed on adding a valid API key.

<div data-with-frame="true"><figure><img src="/files/YvfWf6Hl5cQiNmzX8q8g" alt=""><figcaption></figcaption></figure></div>

{% hint style="warning" %}
If your token becomes invalid (for example, after a reset), you'll be prompted to re-enter it before you can run new jobs.
{% endhint %}

***

## Email Verifier

Use the Email Verifier to validate and enrich email addresses already present in your sheet.

### Preparing your sheet

* Place email addresses in a dedicated column and optionally add a header such as `Email`, `Email Address`, or `Contact Email`.
* Clearout automatically scans header names and sample values to detect the most likely email column, even when headers use variations like `User Email` or `E-mail Address`.

If automatic detection is incorrect, you can manually choose the correct column from a dropdown in the sidebar.

### Selecting rows to verify

You can control which rows are processed:

| Option                 | Behavior                                                                         |
| ---------------------- | -------------------------------------------------------------------------------- |
| **Entire sheet**       | Runs verification across all rows with data in the selected email column.        |
| **Selected rows only** | Choose a specific range and enable **Verify only selected rows** in the sidebar. |

{% hint style="info" %}
When Google Sheets filters are active, Clearout skips filtered-out rows and processes only those currently visible.
{% endhint %}

### Email Verifier preferences

Email Verifier preferences are stored per user so your settings do not affect other collaborators on the same sheet.

| Option                | Description                                                                                       |
| --------------------- | ------------------------------------------------------------------------------------------------- |
| **Output columns**    | Choose which results to write (status, safe-to-send, reasons, bounce type, timestamps, and more). |
| **Timeout**           | API timeout per batch — 5, 10, 15, 20, 25, or 30 seconds.                                         |
| **Remove duplicates** | Avoid processing the same email address more than once.                                           |
| **Remove empty rows** | Skip rows where the email column is blank.                                                        |
| **Reverify rule**     | Re-verify only `unknown`, `invalid`, `failed`, or results older than a selected threshold.        |

Preferences are remembered between sessions for each user, making repeated tasks faster.

### Running verification

When you start a verifier run:

* The add-on groups rows into batches, deduplicates repeated requests, and calls the Clearout API using batch requests for efficiency.
* Results are written back to the sheet in grouped ranges to improve performance on large datasets.

#### Long-running sheets

If your sheet is large, the run may pause before Google Apps Script's hard 6-minute limit:

* Clearout stops intentionally near the 5-minute mark, saves run state for the current user, and shows a **Resume** prompt in the sidebar.
* When you click **Resume**, the add-on continues from the same spreadsheet, sheet tab, and email column selection used for the original run.

### Re-verifying failed or stale rows

Clearout includes a dedicated `failed` rule for re-runs:

* If a batch fails due to a network or API issue, that batch is marked as `failed` and the reason column shows a generic error message.
* Re-run verification using the **Only if status is Failed** reverify rule to retry only those rows.

This avoids reprocessing rows that already have valid, up-to-date results.

<div data-with-frame="true"><figure><img src="/files/cNoQLRLZdQu4STq8sePD" alt=""><figcaption></figcaption></figure></div>

***

## Email Finder

Use the Email Finder to discover likely business email addresses based on contact details stored in your sheet.

### Required fields

For the best results, provide:

* **First name** and **last name** columns.
* At least one of: **company name** or **domain**.

Use clear headers such as `First Name`, `Last Name`, `Company`, and `Domain`. The add-on also recognizes common variants like `Given Name`, `Surname`, `Company Name`, and `Website`.

{% hint style="info" %}
The finder can still work when some fields are missing, but more complete input generally produces better results.
{% endhint %}

### Column mapping

The Email Finder sidebar displays a mapping interface:

* Clearout auto-detects likely columns for First Name, Last Name, Company, and Domain using header patterns and sample cell values.
* A **preview list** shows sample values from each column so you can confirm the mapping is correct before running.

If your table includes headers, keep the **My data has headers** option enabled to avoid processing the header row.

### Email Finder preferences

Email Finder preferences are per user and independent from Email verifier settings.

| Option                | Description                                                                                                                                    |
| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| **Output columns**    | Choose which results to create (email address, finder status, reason, confidence score, domain, role account flag, business type, found time). |
| **Timeout**           | Finder API timeout per email — 5 to 30 seconds.                                                                                                |
| **Remove duplicates** | Skip repeated combinations of input fields.                                                                                                    |
| **Remove empty rows** | Ignore rows that lack required input fields.                                                                                                   |
| **Re-find rule**      | Re-run only when status is `Not Found`, `failed`, or beyond a certain age.                                                                     |

<div data-with-frame="true"><figure><img src="/files/pO4Eu1XqPsc5nyPWLbKJ" alt=""><figcaption></figcaption></figure></div>

### Running Email Finder

When you start a Email Finder run:

* The add-on batches rows and sends finder requests in bulk, then writes results to the selected output columns.
* Like the Email Verifier, Email Finder runs are **resumable** — long runs may pause near the time limit and resume later using the same mapping.

***

## Filters, resumes, and cancellations

Clearout for Sheets is designed to handle real-world usage with large sheets and multiple collaborators.

### Working with filters

When you apply filters in the Google Sheets UI:

* Clearout respects the active filters and processes **only rows that are visible** in the current view.
* Rows hidden by filters are skipped, allowing you to restrict operations to specific segments without copying data.

This behavior applies to both Email Verifier and Email Finder workflows.

### Resumable runs

Because Google Apps Script imposes execution time limits:

* Clearout tracks the start time of each run and stops before hitting the hard 6-minute limit.
* When a run pauses, the add-on stores a resumable state for that user, including the spreadsheet, sheet tab, and relevant column mappings.

When you open the sidebar again, you may see a **Resume** prompt. Resuming continues from the same sheet and context. If you've switched to another sheet, you may be asked to return to the original before resuming.

### Cancelling a run

You can cancel an in-progress run from the sidebar:

* Cancellation is checked **between batches** — the current batch finishes before the run stops.
* After the batch completes, the run is marked as cancelled and converted into a resumable state so you can decide later whether to continue or discard it.

{% hint style="info" %}
This design ensures partial results are written consistently while still giving you control over long operations.
{% endhint %}

### Concurrency and collaboration

Clearout prevents overlapping runs on the same spreadsheet:

* Only **one Email Verifier or Email Finder run** can be active per spreadsheet at a time.
* If another user tries to start a run while one is already in progress, they'll see a message that another process is running and may need to wait up to 6 minutes.

If a previous run fails before releasing its lock, the concurrency guard automatically expires after its time-to-live so new runs can proceed.

***

## Output columns

Clearout writes results into dedicated columns so that your original data remains intact.

### Email Verifier columns

| Column name                  | Description                                                              |
| ---------------------------- | ------------------------------------------------------------------------ |
| Clearout Verification Status | Overall result: `valid`, `invalid`, `catch-all`, `unknown`, or `failed`. |
| Clearout Safe To Send        | Whether the email is considered safe to send.                            |
| Clearout Reason              | Explanation for the status (e.g. syntax issue, mailbox error).           |
| Clearout Bounce Type         | Bounce classification when applicable.                                   |
| Clearout Verified At (UTC)   | Verification timestamp in UTC.                                           |
| Clearout Time Taken (ms)     | Time taken to verify the email in milliseconds.                          |
| Clearout Disposable Status   | Whether the address uses a disposable email service.                     |
| Clearout Free Account Status | Whether the email is from a free provider.                               |
| Clearout Role Account Status | Whether the address is a role account (e.g. `support`, `sales`).         |
| Clearout Suggested Email     | Suggested correction when a possible typo is detected.                   |
| Clearout Gibberish Status    | Whether the email appears to be gibberish.                               |
| Clearout Account             | Local part of the email (before the `@`).                                |
| Clearout Domain              | Domain part of the email (after the `@`).                                |
| Clearout MX Record           | MX record details when available.                                        |
| Clearout SMTP Provider       | Detected SMTP provider if identifiable.                                  |
| Clearout AI Verdict          | Additional AI-driven interpretation of the result.                       |

<div data-with-frame="true"><figure><img src="/files/6koBNuQdyXyfHRZrhtvr" alt=""><figcaption></figcaption></figure></div>

You can choose which columns to include via Email Verifier preferences.

### Email Finder columns

| Column name                      | Description                                              |
| -------------------------------- | -------------------------------------------------------- |
| Clearout Finder Email Address    | Email address found for the contact.                     |
| Clearout Finder Status           | `found`, `not found`, or `failed`.                       |
| Clearout Finder Reason           | Reason when the email could not be found or is unusable. |
| Clearout Finder Confidence Score | How strong the match is.                                 |
| Clearout Finder Domain           | Domain associated with the found email.                  |
| Clearout Finder Role Account     | Whether the found email is a role email address.         |
| Clearout Finder Business         | Whether the found email is a business email address.     |
| Clearout Finder Found Time       | Timestamp when the email was found.                      |

<div data-with-frame="true"><figure><img src="/files/pKRwOmul7kHxdwK0oFST" alt=""><figcaption></figcaption></figure></div>

As with Email Verifier outputs, you can enable or disable specific columns in Email Finder preferences.

***

## Conditional formatting

Clearout enhances the sheet with conditional formatting so you can scan results quickly.

### Email Verifier

| Status                                              | Color  |
| --------------------------------------------------- | ------ |
| <mark style="color:$success;">`valid`</mark>        | Green  |
| <mark style="color:red;">`invalid`</mark>           | Red    |
| <mark style="color:blue;">`catch_all`</mark>        | Blue   |
| <mark style="color:$info;">`unknown`</mark>         | Gray   |
| <mark style="color:$primary;">`Verifying...`</mark> | Orange |
| <mark style="color:red;">`failed`</mark>            | Red    |

### Finder confidence colors

| Confidence range | Color |
| ---------------- | ----- |
| ≥ 90             | Green |
| ≥ 80 and < 90    | Blue  |
| < 80             | Gray  |

***

## Troubleshooting

| Symptom                             | What to do                                                                                                                |
| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| Resume prompt appears unexpectedly  | There is a paused or cancelled run for this sheet. Resume from the same sheet or discard the paused state in the sidebar. |
| "Another run is already active"     | A job is running or recently failed. Wait a few minutes for the lock to expire, then try again.                           |
| Run stops before finishing all rows | The add-on likely paused near the time limit. Click **Resume** to continue.                                               |
| Only some rows were processed       | Check whether a filter is active — Clearout intentionally skips rows hidden by filters.                                   |
| Cancel did not stop immediately     | Cancellation applies between batches; the current batch must finish first.                                                |
| Token or credits not loading        | Re-enter or refresh your Clearout API key in the sidebar.                                                                 |


# Wordpress Plugin

Use Clearout WordPress Plugin for real-time email validation

The Clearout WordPress plugin **integrates with major WordPress form plugins to validate email addresses in real time upon submission.** This helps keep your lists clean, protects sender reputation, and stops bad sign‑ups before they reach your CRM or ESP

**With** **Clearout + WordPress**, you can:

* Allow only valid email addresses during registration, subscription, and lead capture.​
* Block spam traps, disposable and fake email addresses.​
* Enforce business/work email addresses on specific forms (for example, demo or trial requests).​
* Optionally block free email providers (gmail.com, yahoo.com, outlook.com, etc.) when required.​
* Reduce fraudulent and bot sign-ups, improving overall data quality.

{% embed url="<https://www.youtube.com/watch?v=YG5BrBn7FHo>" %}

## Steps to obtain the Clearout Email Validator Plugin <a href="#keyqj" id="keyqj"></a>

{% stepper %}
{% step %}

### Connect account <a href="#epnt6" id="epnt6"></a>

If you are not an existing Clearout user, firstly [create an account](https://app.clearout.io/register). Existing Clearout users can begin from Step 2

If you are new to Clearout, [create an account](https://app.clearout.io/register). Existing Clearout users can sign in and generate an API token from **Developer → API Tokens** to use with the plugin

<div data-with-frame="true"><figure><img src="/files/iMTwAuVHvy4PleYGweu5" alt="Clearout Register page to create account"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Install and Activate the Plugin <a href="#qip10" id="qip10"></a>

* Log in to your WordPress admin dashboard.
* Go to **Plugins → Add New**.
* In the search bar, type **“Clearout email validator."**
* Locate the [**Clearout Email Validator**](https://wordpress.com/plugins/clearout-email-validator) plugin and click **Install Now**.
* After installation, click **Activate** to start using the plugin

<div data-with-frame="true"><figure><img src="/files/klcT9MVpNIPcr3NAdvE9" alt="Add Clearout Email Verification Plugin on Wordpress" width="375"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Plugin Setup <a href="#h8w70" id="h8w70"></a>

Finally, please configure the plugin to suit your preferences. Once installed and active, follow these steps. In your WordPress account

* Go to Settings → Clearout email validator
* Enter the [API token](https://app.clearout.io/developer/api/list) (Create one if it does not exist)
* Provide the timeout you wish (the time allowed to validate the email ID once it is submitted by the registrant or subscriber).
* Select the types of email addresses you want to be shown as valid.
* Click on Apply

<div data-with-frame="true"><figure><img src="/files/gKfN9YuazJkyntam8ba1" alt="" width="563"><figcaption></figcaption></figure></div>
{% endstep %}
{% endstepper %}

{% hint style="info" %} <mark style="color:$info;">**Important note**</mark>&#x20;

Complete a test form immediately after setup to ensure the plugin and validation rules work as intended. For plugin setup testing, use the [test email address](/developers/api/overview#testing).
{% endhint %}


# Overview

Connect Clearout with CRM, ESP, automation

**Clearout connects with the tools** you already use so you can validate, find, and enrich contacts without changing your existing workflows. You can plug Clearout into your **ESP, CRM, form/website builder, automation platform, or custom stack** using native integrations, no‑code connectors, or APIs.

### What you can integrate

* [**CRMs**](/integrations/crm)**:** Sync verified and enriched contacts directly into your CRM so sales only works with real, reachable leads
* [**ESPs**](/integrations/esp) **& marketing tools:** Clean subscriber lists, reduce bounces, and protect sender reputation inside your email platforms
* [**Forms**](/integrations/forms) **& websites:** Validate emails, phones, and names at the point of capture to block fake or low‑quality signups
* **Automation platforms:** Use Clearout in tools like HubSpot workflows, [Zapier](/integrations/automation/zapier), [Make](/integrations/automation/make), Pabbly, and Integrately to automate verification and enrichment steps
* **Custom apps:** Connect via our APIs, webhooks, and SDKs when you need deeper or bespoke integrations

### How to get started

1. Go to the **Integrations** section in the [docs](/integrations/overview) or inside the [Clearout app](https://app.clearout.io/integrations/connect-account).
2. Choose the category (CRM, ESP, Forms, Automation, etc.).
3. Open the specific integration (for example, [HubSpot](/integrations/hubspot)) and follow the step‑by‑step setup guide.

If you don’t see your tool listed, visit [**Be an Integration Partner**](/integrations/be-an-integration-partner) to explore building a new integration or reach out to our team for guidance


# HubSpot&#x20;

Sync verified contacts into HubSpot ecosystems

The **HubSpot integration** lets you use Clearout’s verification and enrichment capabilities directly inside your HubSpot [CRM](/integrations/hubspot/hubspot-crm), [forms](/integrations/hubspot/hubspot-forms), [chatflows](/integrations/hubspot/hubspot-chatflows), and [workflows](/integrations/hubspot/hubspot-workflows). It helps you keep contacts clean, block fake signups at the source, and ensure sales and marketing always work with accurate, reachable data.​

**With Clearout connected to HubSpot**, you can:

* Validate and clean existing contacts in HubSpot CRM before campaigns go out.
* Validate emails in real time on HubSpot forms and chatflows to stop invalid or disposable addresses.
* Use HubSpot workflows to automatically verify, score, and segment contacts as they are created or updated.​

{% hint style="success" %}
Data Pulse verifies every new contact created in your HubSpot CRM in real time. It works with free HubSpot accounts. Once [set up](/data-pulse/implementation-and-setup), no further action is needed - each new contact's email, phone, and name are verified automatically.
{% endhint %}


# HubSpot CRM

Verify and monitor contact data quality in your HubSpot CRM

Clearout natively integrates with HubSpot CRM to maintain high deliverability and improve overall contact data quality across your account. Clearout supports two contact verification solutions for HubSpot:

* [Data Pulse](/integrations/hubspot/hubspot-crm#how-data-pulse-works): Continuous, real-time contact monitoring and multi-field enrichment automatically validating Name, Email, and Phone data as contacts enter HubSpot.
* [Email Verifier](/integrations/hubspot/hubspot-crm#how-email-verifier-works): On-demand bulk verification and cleaning for existing HubSpot email lists.

## Connect Your HubSpot Account

Connecting your HubSpot CRM account to Clearout is a one-time setup required for both Data Pulse and Email Verifier.

* Log in to your Clearout account.
* Go to the [**Integration**](https://app.clearout.io/integrations/connect-account) tab and choose **HubSpot**.
* Click **Add Account** and sign in with your HubSpot credentials

<div data-with-frame="true"><figure><img src="/files/mTlPnFnuq5Na0irLh0eL" alt="Connect HubSpot account for CRM list Email validation" width="563"><figcaption></figcaption></figure></div>

* Once connected, your account will appear under your linked HubSpot integrations.

{% hint style="info" %}
You can connect multiple HubSpot accounts to the same Clearout account
{% endhint %}

## How Data Pulse Hubspot Two-Way-Sync Works

Data Pulse is the real-time CRM contact verification tool that validates every email, phone, and name the moment a contact is created - and writes the clean record back automatically. [Know more.](/data-pulse/overview)

{% stepper %}
{% step %}

### Enable Account

Go to the Data Pulse [dashboard](https://app.clearout.io/data-pulse), find your linked HubSpot account, and click **Enable**.

<div data-with-frame="true"><figure><img src="/files/QyPA1uFdSpxHTf9FFn8Q" alt=""><figcaption></figcaption></figure></div>

{% hint style="info" %}
At any given point realtime pulsing can only be enabled on one clearout account for a given hubspot account.
{% endhint %}
{% endstep %}

{% step %}

### Choose what to enrich

Select the target fields you want to validate and enrich (e.g., Name, Email, Phone).

<div data-with-frame="true"><figure><img src="/files/EI8LJI3xCRJiHiPaybM4" alt=""><figcaption></figcaption></figure></div>

{% hint style="warning" %}
At least one field must be selected to continue.
{% endhint %}
{% endstep %}

{% step %}

### Configuring Data Field Mapping

Decide which fields require validation and define output metadata fields for appending.

#### Input Field Mappings

Map incoming fields from your data source to Data Pulse input fields to ensure accurate validation and enrichment. You can configure mappings using either a **preset** or by selecting **custom fields**.

Available presets:

* **Auto Map** - Automatically detects and maps fields based on the source structure.

<div data-with-frame="true"><figure><img src="/files/8mj6cVpzmh2qGU37owiC" alt=""><figcaption></figcaption></figure></div>

**Data Pulse Input Fields Reference**

<table><thead><tr><th width="166">Field Name</th><th>Description</th></tr></thead><tbody><tr><td><strong>First Name</strong></td><td>Given name associated with the contact</td></tr><tr><td><strong>Last Name</strong></td><td>Surname associated with the contact</td></tr><tr><td><strong>Full Name</strong></td><td>Combined name field (if available in source)</td></tr><tr><td><strong>Email</strong></td><td>Primary email address for validation and enrichment</td></tr><tr><td><strong>Phone</strong></td><td>Contact number for validation and formatting</td></tr><tr><td><strong>Country</strong></td><td>Geographic identifier used to determine the country dialling code during phone validation if the dialling code is not present in the number</td></tr></tbody></table>

#### Output Field Mappings

Choose which fields should be returned and synced back after enrichment. You can configure mappings using either a **preset** or by selecting **custom fields**.

Available presets:

* **All** - Selects every available output field.
* **Mandatory Fields** - Selects only the required fields.

<div data-with-frame="true"><figure><img src="/files/ZvvslAL3nlEaG9kDSJRH" alt=""><figcaption></figcaption></figure></div>

**Output Fields Reference**

{% tabs %}
{% tab title="Email" %}

<table data-search="false"><thead><tr><th>Clearout Field Name</th><th>Description</th></tr></thead><tbody><tr><td><strong>Status</strong> <em>(Mandatory)</em></td><td>Validation status of the email</td></tr><tr><td><strong>Safe to Send</strong> <em>(Mandatory)</em></td><td>Indicates if the email is safe for outreach</td></tr><tr><td><strong>Reason</strong></td><td>Reason associated with the validation result</td></tr><tr><td><strong>SMTP Provider</strong></td><td>Identified email service provider</td></tr><tr><td><strong>Free Domain</strong></td><td>Indicates if the email uses a free/public email provider</td></tr><tr><td><strong>Role Email</strong></td><td>Indicates if the email is a role-based address (e.g., info@, support@, admin@)</td></tr><tr><td><strong>Disposable Email</strong></td><td>Indicates if the email uses a temporary/disposable domain</td></tr><tr><td><strong>Gibberish Email</strong></td><td>Indicates if the email's local part appears to be random or meaningless characters</td></tr></tbody></table>
{% endtab %}

{% tab title="Phone" %}

| Clearout Field Name         | Description                                 |
| --------------------------- | ------------------------------------------- |
| **Status** *(Mandatory)*    | Validation status of the phone number       |
| **Carrier**                 | Telecom carrier information                 |
| **Country Name**            | Country associated with the number          |
| **Country Timezone**        | Timezone of the detected country            |
| **E164 Format**             | Standardized international format           |
| **Line Type** *(Mandatory)* | Type of phone line (mobile, landline, etc.) |
| **Location**                | Geographic location metadata                |
| **DST Observed Hrs**        | Hours adjusted for daylight saving time     |
| {% endtab %}                |                                             |

{% tab title="Name" %}

| Clearout Field Name               | Description                                     |
| --------------------------------- | ----------------------------------------------- |
| **Normalized Name** *(Mandatory)* | The cleaned/standardized version of the name    |
| **Gibberish** *(Mandatory)*       | Indicates if the name appears invalid or random |
| **Status**                        | Validation result for the name                  |
| {% endtab %}                      |                                                 |

{% tab title="Miscellaneous" %}

| Clearout Field Name           | Description                             |
| ----------------------------- | --------------------------------------- |
| **Enriched On** *(Mandatory)* | Timestamp when enrichment was performed |
| {% endtab %}                  |                                         |
| {% endtabs %}                 |                                         |

{% hint style="info" %}
You can save custom field mappings as a new preset. Saved presets can be reused for the same data source in future configurations. This applies to both import and output field mappings.
{% endhint %}
{% endstep %}

{% step %}

### Activate Data Pulse

<div data-with-frame="true"><figure><img src="/files/xMhJ6z0sWQbQ6aH6xV4C" alt=""><figcaption></figcaption></figure></div>

Complete the setup wizard to activate real-time validation and enrichment.\
Weekly data quality report is **enabled by default**. You can opt-in or opt-out of the report here.
{% endstep %}
{% endstepper %}

### What to expect once it is enabled

Data Pulse monitors contacts as they are created after it is enabled. Validates and enriches them in real-time within seconds. Then appends its own set of [Clearout result properties](/data-pulse/supported-data-sources#fields-data-pulse-updates) to your contact records.

A weekly data quality digest is delivered every Monday.

## How Email Verifier Works

The standard Email Verifier allows you to select existing contact lists from HubSpot, perform bulk verification inside Clearout, and sync updated results back to your CRM.

You can also watch this short walkthrough to see the full end‑to‑end flow:

{% embed url="<https://www.youtube.com/watch?v=tXFCh58EgRM>" %}

{% stepper %}
{% step %}

### Add the email lists

* From the linked HubSpot account view in Clearout, select the list(s) you want to validate.

<div data-with-frame="true"><figure><img src="/files/A0VUB8g8PWXUKhjbhZuI" alt="Select HubSpot Email List to validate on Clearout App"><figcaption></figcaption></figure></div>

* Click **Add to My list** to import them into Clearout for verification

{% hint style="info" %}
Note that only Contacts lists are supported for verification.
{% endhint %}
{% endstep %}

{% step %}

### Verify the email list

* After the list is added, click **Verify** to start validating the HubSpot list.

<div data-with-frame="true"><figure><img src="/files/n0wyEEUA8VMgA2CFbruF" alt="Start Verification of selected HubSpot List" width="563"><figcaption></figcaption></figure></div>

* Clearout will process the list and mark each email with a verification status (valid, invalid, risky, etc.).
  {% endstep %}

{% step %}

### Export the verified results

Once validation is complete, you can:

* **Download** the results as CSV
* **Export directly back to HubSpot.**
* When exporting to HubSpot, choose one or both of the following:

  * **Unsubscribe:** Automatically unsubscribes invalid/non‑deliverable email addresses in the selected HubSpot static list, removing them from mailings (<mark style="color:$info;">Unsubscribe works only for static lists).</mark>
  * **Append:** Adds Clearout result columns to the existing records in HubSpot so you can see verification status and related fields inside HubSpot.

  <div data-with-frame="true"><figure><img src="/files/R0x4EC83xpIR239YMuXn" alt="Export by appending verified email verification results to HubSpot" width="375"><figcaption></figcaption></figure></div>

{% endstep %}
{% endstepper %}

### Display Clearout columns in HubSpot

To show Clearout fields inside your HubSpot list view:

1. Open the verified list in HubSpot.
2. Click **Actions → Edit columns**.
3. Search for **Clearout Information**.
4. Select the Clearout columns you want to display and save the changes.​

<div data-with-frame="true"><figure><img src="/files/MuMZy2Qu3wxa1Zqd2k8J" alt="Edit Columns on Hubspot to select Clearout Appended columns for visibility" width="431"><figcaption></figcaption></figure></div>

This makes it easy for your team to filter, segment, and act based on Clearout verification results directly inside HubSpot CRM

## Choosing the Right Solution

Both products use the same validation engine. The difference is when and how they run.

### **Use Data Pulse when**

* You want always-on, hands-off validation of every new contact as it enters HubSpot.
* You want results to live natively on the HubSpot record with no exports or re-imports.
* Bad data enters continuously through forms, imports, and integrations, and you want to catch it at the source rather than in periodic cleanups.

### **Use the standard Email Verifier when**

* You need a one-time clean of an existing list, for example pre-campaign list hygiene.
* The list lives outside HubSpot (a CSV, XLSX, or Google Sheet).
* You are validating your existing HubSpot database before turning Data Pulse on.

**Best Practice:** run an initial bulk cleanup with **Email Verifier** on existing contacts, then activate **Data Pulse** to keep all new incoming contacts clean automatically.


# HubSpot Forms

Real-time form validation on HubSpot forms

Turn every **HubSpot form submission into a qualified opportunity**. Clearout instantly verifies emails, phone numbers, and names, preventing fake, mistyped, and low-quality entries from entering your HubSpot CRM. This gives your marketing and sales teams cleaner data, sharper targeting, and higher conversions from the very first interaction.

You can also watch a short walkthrough:

{% embed url="<https://www.youtube.com/watch?embeds_referring_euri=https://clearout.io/&v=VDbZHGcV6Wg>" %}

## Supported HubSpot Forms&#x20;

Select the type of integration you need to enable seamless Form validation using Clearout [Form Guard](/form-guard/overview) and ensure accurate lead capture across your HubSpot forms.<br>

* [Embed Forms](https://docs.clearout.io/integrations/hubspot/hubspot-forms#embed-forms)
* [Landing Page & Website Page Forms](https://docs.clearout.io/integrations/hubspot/hubspot-forms#landing-page-and-website-page-forms)
* [Site-wide Integration with Header HTML](https://docs.clearout.io/integrations/hubspot/hubspot-forms#site-wide-integration-with-header-html)
* [Site-wide Integration with Google Tag Manager (GTM)](https://docs.clearout.io/integrations/hubspot/hubspot-forms#site-wide-integration-with-google-tag-manager-gtm)
* [CTA Forms](https://docs.clearout.io/integrations/hubspot/hubspot-forms#cta-forms)<br>

> If you're using older version of Clearout JavaScript Widget, please refer to the legacy documentation [here](/integrations/hubspot).

## Integrate Various HubSpot Forms

### Embed Forms

The new HubSpot Embed Forms are designed to render inside **\<iframe/>** hosted on HubSpot's domain, which prevents direct integration with Clearout’s Form Guard.

However, the form can be rendered as raw HTML on the page by using the **Developer Code (Advanced)** instead of the default HubSpot embed code. This allows the Clearout Form Guard snippet to detect and attach to the form for real-time validation.<br>

<div data-with-frame="true"><figure><img src="/files/P5Htr1CTaMZxaipvodpI" alt="Add Form Guard snippet to &#x22;Developer Code(Advanced)&#x22; section for New HubSpot Forms" width="563"><figcaption></figcaption></figure></div>

{% hint style="info" %}

#### **Still using the older HubSpot Embedded Forms (V3)?**

**Integrating Clearout with HubSpot Embed Forms (V3)** is quick and straightforward. Simply paste the Clearout Form Guard code into the header section of the web page where your HubSpot form is embedded. No additional code customization is needed. All validation settings can be easily configured on the Clearout [Form Guard](/form-guard/overview)'s page.&#x20;
{% endhint %}

For best results, we recommend placing the **Clearout Form Guard script** in the header of your page.

### Landing Page & Website Page Forms

Use this option when your HubSpot forms are placed on **HubSpot landing pages or website pages** (not embedded on external sites). Clearout attaches to the form on the page and validates the email, phone, and name fields in real time before the form is submitted.​

**When to use this setup:**

* You are building the page in HubSpot (landing page or website page editor).
* The form is added using HubSpot’s form module or drag‑and‑drop editor.

**To integrate with HubSpot landing page or website forms:**

* Open your **Landing Page** or **Website page** Builder in your HubSpot account.
* Click the Settings button, placed in the top-right corner.
* Next, navigate to **Advanced Settings → Go to Additional code snippets →** click on the **Header HTML**.
* Paste the Clearout Form Guard snippet into the **Header** **HTML** section.
* Publish your changes and clear any page caches, if applicable.

To verify successful integration, preview the page and test using Clearout's [test email addresses](/developers/api/overview#testing). This allows you to confirm functionality without consuming email validation credits.

### Site-wide Integration with Header HTML

To enable real-time email validation across all forms on your website, you can simply add the Clearout JavaScript Widget code to your website's header section. This ensures the widget automatically detects and integrates with forms on every page.

### Site-wide Integration with Google Tag Manager (GTM)

For full setup instructions, refer to the [GTM installation method](/form-guard/overview#google-tag-manager-gtm-1) in the Form Guard overview.

### CTA Forms

HubSpot CTA Forms are rendered inside a **\<iframe/>** hosted on HubSpot's domain, which restricts access to the form content by any external JavaScript, including Clearout Form Guard. As a result, **Clearout cannot support validation for these forms directly**.

As an **alternative, consider migrating to standard HubSpot forms**, which are fully compatible with the Clearout [Form Guard](/form-guard/overview). If migration isn't feasible, you can explore [HubSpot Workflows](/integrations/hubspot/hubspot-workflows) or other server-side validation methods to validate form submissions after capture for real-time validation.

Alternatively, this can also be done using third-party connectors or automation tools like [Zapier](/integrations/automation/zapier) and [Make](/integrations/automation/make) (formerly Integromat).


# HubSpot Chatflows

Verify chatbot leads in HubSpot real time.

**Verify chatbot and live chat leads in real time** by connecting Clearout’s Email Verification API to HubSpot Chatflows. This ensures invalid, disposable, or risky emails are caught during the conversation, before they enter your HubSpot CRM.​

You can also watch:

{% embed url="<https://www.youtube.com/watch?embeds_referring_euri=https://clearout.io/&source_ve_path=Mjg2NjY&v=5EnqNy7OjdY>" %}

***

### Integrate Clearout in HubSpot Chatflows  <a href="#k5hl0" id="k5hl0"></a>

Follow these steps for a bot such as **Qualify leads bot** (the same pattern works for other bots)

Open your HubSpot chatflow:

* Go to **Conversations → Chatflows**.
* Click **Create chatflow → Website** and choose a bot (for example,  **Qualify leads bot**).
* Click **Next** to go to the **Build** section, where you can edit the action boxes

The steps given below are for the **Qualify leads bot**:

{% stepper %}
{% step %}
Once 'Qualify leads bot' is selected, click Next to reach the Build section to edit the Action Boxes.
{% endstep %}

{% step %}
Scroll down to the Action box named Get Email and click on the + icon below it to create a new action for email verification.

<div data-with-frame="true"><figure><img src="/files/ijxq7xHcaov1VyDbK7YG" alt="Select Action Box to create trigger for Email verification in HubSpot Chatflow"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
A new Action window will open. Scroll down to Run a code snippet, give an Action name and delete the existing code.

<div data-with-frame="true"><figure><img src="/files/cLOzNxzQDmuNdxCQVPOB" alt="Run a code snippet, give an Action name and delete the existing code"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
Please copy and paste this code.

{% code lineNumbers="true" %}

```javascript
// Import the "request" module.
var request = require("request");

// Define the main function that will be exported.
exports.main = (event, callback) => {
  var options = {
    method: 'POST',
    url: 'https://api.clearout.io/v2/email_verify/instant',
    headers: {
      'Content-Type': 'application/json',
      'Authorization': 'REPLACE_WITH_YOUR_CLEAROUT_SERVER_APP_TOKEN',   // Add authorization token (API key).
    },
    body: {
      email: event.session.parsedResponses.Get_Email.parsedResponse, // Get the email address from the event object.
      timeout: 30000 //The option to define the maximum time that can be used for verifying the status of the given email address.
    },
    json: true
  };

  request(options, function (err, response, body) {
    if (err) throw new Error(err); // Handle errors.

    // initialize default value 
    let nextModuleNickname = 'send_to_team_member'     // The next module your bot will go to. If nothing is provided,we will select the next module in the bot path for you.
    let botMessage = '' // The message your bot will return.
    let responseExpected = false   // Whether or not this code snippet should be executed again with the next user input.

    // check entered email is safe to send if not then ask user to re-enter the email.
    if (body.data.safe_to_send === 'no') {
      nextModuleNickname = 'Get_Email'
      botMessage = `${body.data.email_address} is not valid email address`
    }
    // set the response.
    const responseJson = {
      botMessage,  
      nextModuleNickname,
      responseExpected
    }
    callback(responseJson);
  });
};
```

{% endcode %}
{% endstep %}

{% step %}
**Edit Row 11** by replacing '**REPLACE\_WITH\_YOUR\_CLEAROUT\_SERVER\_APP\_TOKEN**' with Clearout's API Token and Save.

<div data-with-frame="true"><figure><img src="/files/Vba5quiLdgH174NsXa4R" alt="Add Clearout Server API Token in Row 11 on the Clearout Code Snippet"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
How To Generate a Clearout API Token?

* To generate a Clearout API token, log in to Clearout, then navigate to [Developer **→** API](https://app.clearout.io/developer/api/list).
* Give a name and description to the token and click Create
* Copy the API token and paste it in Row 11 of the code

<div data-with-frame="true"><figure><img src="/files/bPtS6n2TvjPKbMdtOlad" alt="Generate Clearout Server API Token"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
Go to the Get Email action box and edit the action name to Get\_Email.

> Note: The name should be exactly the same.

<div data-with-frame="true"><figure><img src="/files/89bEQaw6vUnDnaGgyZTQ" alt="Go to the Get Email action box and edit the action name to Get_Email."><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
In the same Action box, scroll down to Save to HubSpot property. Choose Email from the dropdown. Uncheck the box that says Skip this action if property already exists and Save.

<div data-with-frame="true"><figure><img src="/files/Djdojhszgn3sOBeizkDF" alt="Save to HubSpot property. Choose Email from the dropdown. Uncheck the box that says Skip this action if property already exists and Save."><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
**Your** **HubSpot chatbot with real-time email verification is READY**! Give it a test run by hitting Preview.

Wasn't that quick and easy? The addition of a simple code snippet to your Chatflows can effectively block unwanted junk data from infiltrating your system. Let's make a conscious decision to work exclusively with fresh and valid data, ensuring we don't squander our precious time on irrelevant information.

{% endstep %}
{% endstepper %}


# HubSpot Workflows

Automate email verification in workflows

Use **HubSpot Workflows + Clearout** to automatically verify emails whenever a new contact is created in HubSpot or an existing contact’s email is updated. This keeps your CRM continuously clean without manual checks.​

You can also see this process in action in the video:

{% embed url="<https://www.youtube.com/watch?embeds_referring_euri=https://clearout.io/&time_continue=1&v=N5wIux7yJB0>" %}

### Why use Clearout in workflows? <a href="#why-use-clearout-in-workflows" id="why-use-clearout-in-workflows"></a>

When contacts come from multiple sources (imports, integrations, forms, manual entry), not all of them pass through form or chat validation. By adding Clearout to your workflows, you can:​

* Enrich contacts with Clearout custom properties such as verification status, safe‑to‑send, role/disposable/gibberish flags, verified time, and more.​
* Improve data quality by filtering out invalid, disposable, role, or gibberish emails.​
* Create precise segments and targeting rules (for example, only send campaigns to contacts marked safe‑to‑send).​
* Personalize outreach based on role accounts vs. individual mailboxes.​
* Reduce manual cleanup and automatically remove bad contacts, saving credits and campaign costs.​

To achieve this, you’ll complete **three main steps**, then test and review field mappings.

{% stepper %}
{% step %}

### Syncing Clearout Standard Fields to Hubspot CRM&#x20;

To begin, please ensure that Clearout's standard properties are present in your HubSpot account.

* Link your HubSpot account with Clearout [here](https://app.clearout.io/integrations/connect-account).​
* Upon successful linking, Clearout creates a **Clearout Information** property group in HubSpot with all Standard Clearout fields as **custom properties**.​
* If you already linked HubSpot earlier and don’t see this group, simply **unlink and re‑link** the HubSpot account from Clearout; the fields will then be synced.​

These properties will later be populated by the workflow’s custom code step.
{% endstep %}

{% step %}

### Creating HubSpot Workflow

Next, create a workflow that will host the Clearout validation logic.

* In HubSpot, go to **Automations → Workflows**.

<p align="center"><img src="/files/XXOWPJtFkbpYWENXHMMp" alt="Go to HubSpot Automations to Setup Workflows" data-size="original"></p>

* Click **Create workflow → From scratch**.

<div data-with-frame="true"><figure><img src="/files/sWrQdphQfDZZZj8BCOlK" alt="Create New HubSpot Workflow" width="563"><figcaption></figcaption></figure></div>

* Choose **Contact‑based** and **Trigger manually** to start configuring the workflow.

<div data-with-frame="true"><figure><img src="/files/S4YFHuQUPkaeXk7ge44X" alt="Select Contact‑based and Trigger manually to start configuring the workflow." width="563"><figcaption></figcaption></figure></div>

* You will adjust the triggers in the next step so the workflow runs whenever a new contact is created, or a contact’s email is updated, Clearout’s Verification when any contact gets added or updated into the CRM

<div align="center" data-with-frame="true"><figure><img src="/files/E1BeVoHZi7emTLj99AMY" alt="Adjust the triggers when a new contact is created" width="563"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Set up the workflow <a href="#id-3-set-up-the-workflow" id="id-3-set-up-the-workflow"></a>

#### 3.1 Configure triggers

Make the workflow run on:

* **New contact created**, and
* **Email property changed**.

Steps:

1. Click **Set enrollment triggers** (Start triggers).

<p align="center"><img src="/files/8uJeRL2KvorqnB1BRiTX" alt="Set a Enrollment Triggers"></p>

2. Add the first trigger under **Date events → Record created** (this covers new contacts).​

<figure><img src="/files/RZCWFNRM777ys14QBqpf" alt="Add the first trigger under Date events for Record Created" width="563"><figcaption></figcaption></figure>

3. Add a second trigger under the **OR** section: choose **Date events → Property value changed**.​

   <figure><img src="/files/AcwFeDvBaUzul8DiekB8" alt="Add the first trigger under Date events for Property Value Changed"><figcaption></figcaption></figure>
4. For this second trigger, select the **Email** property and set **New value → is known**, then click **Save**.​

<figure><img src="/files/7fiWNDKtj8plrKvSnD3f" alt="Set Email as new value &#x22;Unknown&#x22;" width="563"><figcaption></figcaption></figure>

Now the workflow will trigger whenever a contact is created or its email address is updated.

#### 3.2 Add Clearout validation via Custom Code

Add a step that calls Clearout and returns verification output fields

1. Click the **+** icon below the trigger to add an action.
2. Choose **Data Ops → Custom code.**

<div data-with-frame="true"><figure><img src="/files/cU9E086dPS6zHPupj0tP" alt="Add custom code under &#x22;Data Ops&#x22;" width="563"><figcaption></figcaption></figure></div>

3. Under **Property to include in code**, select the **Email** property (under Text properties). This makes the contact’s email available inside the Node.js code.

<div data-with-frame="true"><figure><img src="/files/ZNEyfbH0vg9SZ2Z9yZJv" alt="Select Email property" width="563"><figcaption></figcaption></figure></div>

4. In the code editor, replace the default code with the following (update the token before saving):

{% code lineNumbers="true" fullWidth="false" expandable="true" %}

```javascript
var request = require("request");
exports.main = async (event, callback) => {

  // Get the Email from the Event object
  const email = event.inputFields['email'];

  // Generate the Clearout Email Verifier options Object
  var options = {
    method: 'POST',
    url: 'https://api.clearout.io/v2/email_verify/instant',
    headers: {
      'Content-Type': 'application/json',
      'Authorization': 'REPLACE_WITH_YOUR_SERVER_APP_TOKEN', // Server API Key to be generated
    },
    body: {
      email: email, // Get the email address from the event object.
      timeout: 30000 // The option to define the maximum time that can be used for verifying the status of the given email address.
    },
    json: true
  };

  request(options, function (err, response, body) {
    if (err) throw new Error(err); // Handle errors.


    // If Api Succeeded, proceed to get the interested Fields
    if (body.status === 'success') {
      let { safe_to_send, status, verified_on } = body.data
      callback({
        outputFields: {
          status,
          safe_to_send,
          verified_on
        }
      });
    }
  });
}

```

{% endcode %}

5. Generate a Clearout [API Token](https://app.clearout.io/developer/api/list). Copy and replace `REPLACE_WITH_YOUR_SERVER_APP_TOKEN` with your API token.​
6. Under **Data output**, define the outputs: `status`, `safe_to_send`, and `verified_on` (names must match the code above).

<div data-with-frame="true"><figure><img src="/files/66IC2diodHO841aZUWcX" alt="Define Output Properties " width="563"><figcaption></figcaption></figure></div>

7. Use the **Test action** to run the step against a sample contact; if everything is correct, you should see a successful response with these output fields.

<div data-with-frame="true"><figure><img src="/files/jaiJauI49TBZ3D5gE0bR" alt="Successful response with selected output fields"><figcaption></figcaption></figure></div>

8. Save this action. The test call will also appear in your Clearout [**Activities**](https://app.clearout.io/activities) section.&#x20;

<div data-with-frame="true"><figure><img src="/files/qgwq778fMLEilcOHP0CM" alt="Check Clearout Activities to confirm successful implementation"><figcaption></figcaption></figure></div>

#### 3.3 Branch and handle invalid vs valid contacts

Now, create branches to handle contacts differently based on Clearout’s result.

<figure><img src="/files/Bn4cdoLiCa2jnVqzm5hU" alt="Branch to handle Valid and invalid email addresses" width="563"><figcaption></figcaption></figure>

1. Add a new action below the custom code step and choose **Branch → One property or action output**.​
   1\.

   ```
   <figure><img src="/files/vl0HKi7cKpsL4UOjqAM7" alt="Select &#x22;One property or action output&#x22; in custom code"><figcaption></figcaption></figure>
   ```
2. For the **Select property**, choose **Action outputs → status** (from the custom code step).​
   1\.

   ```
   <figure><img src="/files/rBHdnGObDqj3pWcO7A68" alt="Select Action outputs as Status "><figcaption></figcaption></figure>
   ```
3. Create two branches:
   * Branch A: `status` **equals** `invalid`
     \*

     ```
     <figure><img src="/files/ecl6d0a2HsGZfT47iHHh" alt="Branch out to capture valid and invalid status"><figcaption></figcaption></figure>
     ```
   * Branch B: `status` **is not equal to** `invalid`.​
     \*

     ```
     <figure><img src="/files/4zPlH6BGzm4t8Ps5bKgc" alt="Branch out to capture valid and invalid status"><figcaption></figcaption></figure>
     ```

### Branch A: Delete invalid contacts (optional)

If you want to automatically remove invalid contacts:

1. Under the **status = invalid** branch, add a new action.​
2. Select **CRM → Delete contact** and save.​

   <figure><img src="/files/BjQe2SYUjbUUudGl5fac" alt="Delete Invalid Email address After validation" width="563"><figcaption></figcaption></figure>

   <figure><img src="/files/3qaFP2WW6rjJy9NQz97A" alt="workflow to Delete Invalid Email address After validation" width="563"><figcaption></figcaption></figure>

(You can skip this step if you prefer to keep invalid contacts and just mark them.)

### Branch B: Update Clearout fields for valid/other contacts

1. Under the **status is not equal to invalid** branch, add a new action.
2. Select **CRM → Set property value**.​
3. Under **Property to set**, choose one of the Clearout properties from the **Clearout Information** group (for example, **Clearout Verification Status**).​
   1\.

   ```
   <figure><img src="/files/sJMKjVSrt8WFEtF0eQEm" alt="set &#x22;property to set&#x22; as &#x22;Clearout Verification Status&#x22;"><figcaption></figcaption></figure>
   ```
4. In **Insert data**, select **Action outputs → status** as the value.​
5. Save the action.​

Repeat this **Set property value** action for other Clearout standard fields you want to update, such as

* Clearout Safe To Send
* Clearout Verified On
* Clearout Reason, etc.​

When finished, your workflow should show:

* Trigger (record created OR email changed) → Custom code (Clearout call) → Branch (status invalid vs not invalid) →
  * Invalid branch: Delete contact (optional)
  * Valid/other branch: Set Clearout fields on the contact.​

    <figure><img src="/files/jIqAESG2csl3iha18GuQ" alt="Trigger to check the setup" width="563"><figcaption></figcaption></figure>

Finally, click **Review and publish the workflow** to activate it.
{% endstep %}

{% step %}

### Test the workflow <a href="#id-4-test-the-workflow" id="id-4-test-the-workflow"></a>

* In HubSpot, manually create a new contact under **CRM → Contacts** with a test email and check if Clearout verification runs.​
* Confirm in Clearout **Activities** or by viewing the contact’s **Clearout Information** properties (for example, Clearout Verification Status, Safe To Send, Verified On) that the data is populated.​
* Edit the email address of an existing contact and verify that the workflow triggers again and updates the Clearout's fields accordingly

<div data-with-frame="true"><figure><img src="/files/lLNtOdNCJ1gBt9lboyNp" alt="Test the workflow" width="563"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Clearout ↔ HubSpot standard field mappings <a href="#id-5-clearout--hubspot-standard-field-mappings" id="id-5-clearout--hubspot-standard-field-mappings"></a>

**Property group in HubSpot:** `Clearout Information`.

<table data-header-hidden><thead><tr><th width="217.8140869140625"></th><th width="161.614501953125"></th><th width="129.6397705078125"></th><th></th></tr></thead><tbody><tr><td><strong>HubSpot Property Label</strong></td><td><strong>HubSpot Internal</strong></td><td><strong>Clearout Standard</strong></td><td><strong>Clearout API Response</strong></td></tr><tr><td>Clearout Safe To Send</td><td>co_safe</td><td>CO_SAFE</td><td>safe_to_send</td></tr><tr><td>Clearout Verification Status</td><td>co_status</td><td>CO_STATUS</td><td>status</td></tr><tr><td>Clearout Reason</td><td>co_reason</td><td>CO_REASON</td><td>substatus.desc</td></tr><tr><td>Clearout Suggested Email</td><td>co_semail</td><td>CO_SEMAIL</td><td>suggested_email_address</td></tr><tr><td>Clearout Disposable Status</td><td>co_dispose</td><td>CO_DISPOSE</td><td>disposable</td></tr><tr><td>Clearout Free Account Status</td><td>co_free</td><td>CO_FREE</td><td>free</td></tr><tr><td>Clearout Role Account Status</td><td>co_role</td><td>CO_ROLE</td><td>role</td></tr><tr><td>Clearout Verified on</td><td>co_vryon</td><td>CO_VRYON</td><td>verified_on</td></tr><tr><td>Clearout MX Record</td><td>co_mxrec</td><td>CO_MXREC</td><td>detail_info.mx_record</td></tr><tr><td>Clearout SMTP Provider</td><td>co_smtppro</td><td>CO_SMTPPRO</td><td>detail_info.smtp_provider</td></tr><tr><td>Clearout Verified Datetime</td><td>co_vrydt</td><td>CO_VRYDT</td><td>verified_on</td></tr><tr><td>Clearout Gibberish Status</td><td>co_gibberish</td><td>CO_GIBBERISH</td><td>gibberish</td></tr></tbody></table>
{% endstep %}
{% endstepper %}

If you have questions or need help fine-tuning this workflow, you can reach out to the [Clearout Support](/help-and-support/ask-a-question)&#x20;


# Salesforce

Automatically sync verified contacts and leads into Salesforce CRM

Clearout natively integrates with Salesforce CRM to maintain high deliverability and improve overall contact data quality across your account. Clearout supports two contact verification solutions for Salesforce:

* [Data Pulse](/integrations/salesforce#how-data-pulse-salesforce-two-way-sync-works): Continuous, real-time contact monitoring and multi-field enrichment automatically validating Name, Email, and Phone data as contacts enter Salesforce.
* [Email Verifier](/integrations/salesforce#how-email-verifier-works): On-demand bulk verification and cleaning for existing Salesforce email lists.

## Integration Architecture

The Clearout Salesforce integration uses the standard OAuth 2.0 authorization flow. When you authorize the connection, Salesforce issues an access token and a refresh token, which Clearout uses to make API calls on your behalf. Clearout never stores your Salesforce credentials. All communication with the Salesforce platform happens over HTTPS.

<div data-with-frame="true"><figure><img src="/files/tCMexqxcFA6aVNniGXAb" alt=""><figcaption></figcaption></figure></div>

## Before You Begin - What You Need

To use the Clearout–Salesforce integration, your Salesforce Org must meet a few requirements:

* **Supported Salesforce Edition** - requirements differ by product, see the table below.
* **Admin permissions in Salesforce -** required for the **initial one-time setup** (installing the Clearout managed package and assigning the permission set). Standard users can run validations after setup is complete.
* **A Clearout account** - sign up at [clearout.io](https://clearout.io/) if you don't have one.

#### Supported Salesforce Editions

<table><thead><tr><th width="290">Salesforce Edition</th><th>Email Verifier</th><th>Data Pulse</th></tr></thead><tbody><tr><td>Enterprise</td><td>Supported</td><td>Supported</td></tr><tr><td>Unlimited</td><td>Supported</td><td>Supported</td></tr><tr><td>Developer Edition</td><td>Supported</td><td>Supported</td></tr><tr><td>Professional Edition with the API Access add-on</td><td>Supported</td><td>Not supported</td></tr></tbody></table>

{% hint style="warning" %}
**Data Pulse requires outbound message support**

Data Pulse depends on Salesforce outbound messages to detect and sync records in real time. Professional Edition does not support outbound messages, so Data Pulse cannot run on it even with the API Access add-on.

If your org is on Professional Edition, use Email Verifier for on-demand bulk cleaning of your existing lists.
{% endhint %}

## How to Set Up the Clearout–Salesforce Integration

The Clearout integration with Salesforce involves a one-time admin setup, followed by daily use that any team member can perform.

* [One-Time Admin Setup](#one-time-admin-setup) - An one-time setup has be done by the admin of your organization
* [How the Salesforce integration works](#daily-use-any-user-with-the-permission-set) - How a user can perform bulk email validation once the permission set is assigned to the user account in the organization&#x20;

## One-Time Admin Setup

{% hint style="warning" %}
This setup must be performed by a **Salesforce administrator** in your org.
{% endhint %}

{% stepper %}
{% step %}

### Install the Clearout Managed Package in Your Salesforce Org

* Click here to install the [**Clearout managed package**](https://clearout.io/salesforce-managed-package/).
* Log into your Salesforce Org.
* On the installation screen, select the installation option based on your requirements.

<div data-with-frame="true"><figure><img src="/files/KSMh37vExEX8zuk3Y2ua" alt=""><figcaption></figcaption></figure></div>

* Click **Install**. Salesforce will process the installation, which takes a few minutes.
* Once complete, you'll receive a confirmation. The package adds the following to your org:
  * Clearout External Client App (Handles OAuth)
  * Clearout Permission Set (The Clearout Permission Set gives users access to the Clearout-specific fields on your Contact and Lead records)
  * Clearout Custom fields on Contact and Lead objects (These are [Clearout's standard fields](/email-verifier/overview#result_file_header), that will be used for storing the validated results)
    {% endstep %}

{% step %}

### Assign the Clearout Permission Set to the Desired Users

* In the Home page, click on the **Gear** icon and select the option **Setup**.

<div data-with-frame="true"><figure><img src="/files/e0LViebcIsMeI8HjO4mx" alt=""><figcaption></figcaption></figure></div>

* Search for **Permission Sets** in Quick Find and select it.
* After entering the Permission Sets page, search for the **"Clearout"** permission set in the list.

<div data-with-frame="true"><figure><img src="/files/cCzkBF3tiZ4yWGQqYoS4" alt=""><figcaption></figcaption></figure></div>

* Drill down on the Clearout permission set, and click on **Manage Assignments**.
* After entering Manage Assignments, click on **Add Assignment** and select the users you want to assign the permission set to.
* Once the desired users have been selected, click on the **Next** button and click **Assign**.
* To make sure the permission set is assigned, you can check the **Manage Assignments** page to see the permission set is assigned to the intended users.
  {% endstep %}

{% step %}

### Connect Your Salesforce Account with Clearout

* **Log in** to your Clearout account.
* Go to the [**Integrations**](https://app.clearout.io/integrations/connect-account) section.
* Select **Salesforce**.
* Click **Add Account**.
* Log in to your Salesforce Org.

<div data-with-frame="true"><figure><img src="/files/hZpt7grUQhtyCfxPXK2b" alt=""><figcaption></figcaption></figure></div>

* Once authorized, your Salesforce Campaign lists (Contacts/Leads) will be available to verify.
  {% endstep %}
  {% endstepper %}

## How Data Pulse Salesforce Two-Way-Sync Works

Data Pulse is the real-time CRM contact verification tool that validates every email, phone, and name the moment a contact is created - and writes the clean record back automatically. [Know more.](/data-pulse/overview)

{% stepper %}
{% step %}

### Enable Account

Go to the Data Pulse [dashboard](https://app.clearout.io/data-pulse), find your linked Salesforce account, and click **Enable**.

<div data-with-frame="true"><figure><img src="/files/EIqj1pcLUOtG5ik6ghLI" alt=""><figcaption></figcaption></figure></div>

{% hint style="info" %}
At any given point realtime pulsing can only be enabled on one clearout account for a given salesforce account.
{% endhint %}
{% endstep %}

{% step %}

### Choose what to enrich

Choose the fields you want to enrich. You can select one or more enrichment options based on your requirements.

<div data-with-frame="true"><figure><img src="/files/elvtCsYRzA5t4apNM3IE" alt=""><figcaption></figcaption></figure></div>

{% hint style="warning" %}
At least one field must be selected to continue.
{% endhint %}
{% endstep %}

{% step %}

### Configuring Data Field Mapping

Decide which fields require validation and define output metadata fields for appending.

#### Input Field Mappings

Map incoming fields from your data source to Data Pulse input fields to ensure accurate validation and enrichment. You can configure mappings using either a **preset** or by selecting **custom fields**.

Available presets:

* **Auto Map** - Automatically detects and maps fields based on the source structure.

<div data-with-frame="true"><figure><img src="/files/IQfcqv26Ig96X91wnyCd" alt=""><figcaption></figcaption></figure></div>

**Data Pulse Input Fields Reference**

<table><thead><tr><th width="166">Field Name</th><th>Description</th></tr></thead><tbody><tr><td><strong>First Name</strong></td><td>Given name associated with the contact</td></tr><tr><td><strong>Last Name</strong></td><td>Surname associated with the contact</td></tr><tr><td><strong>Full Name</strong></td><td>Combined name field (if available in source)</td></tr><tr><td><strong>Email</strong></td><td>Primary email address for validation and enrichment</td></tr><tr><td><strong>Phone</strong></td><td>Contact number for validation and formatting</td></tr><tr><td><strong>Country</strong></td><td>Geographic identifier used to determine the country dialling code during phone validation if the dialling code is not present in the number</td></tr></tbody></table>

#### Output Field Mappings

Choose which fields should be returned and synced back after enrichment. You can configure mappings using either a **preset** or by selecting **custom fields**.

Available presets:

* **All** - Selects every available output field.
* **Mandatory Fields** - Selects only the required fields.

<div data-with-frame="true"><figure><img src="/files/DJUVsXgRD4ibG6m4ujb7" alt=""><figcaption></figcaption></figure></div>

**Output Fields Reference**

{% tabs %}
{% tab title="Email" %}

<table data-search="false"><thead><tr><th>Clearout Field Name</th><th>Description</th></tr></thead><tbody><tr><td><strong>Status</strong> <em>(Mandatory)</em></td><td>Validation status of the email</td></tr><tr><td><strong>Safe to Send</strong> <em>(Mandatory)</em></td><td>Indicates if the email is safe for outreach</td></tr><tr><td><strong>Reason</strong></td><td>Reason associated with the validation result</td></tr><tr><td><strong>SMTP Provider</strong></td><td>Identified email service provider</td></tr><tr><td><strong>Free Domain</strong></td><td>Indicates if the email uses a free/public email provider</td></tr><tr><td><strong>Role Email</strong></td><td>Indicates if the email is a role-based address (e.g., info@, support@, admin@)</td></tr><tr><td><strong>Disposable Email</strong></td><td>Indicates if the email uses a temporary/disposable domain</td></tr><tr><td><strong>Gibberish Email</strong></td><td>Indicates if the email's local part appears to be random or meaningless characters</td></tr></tbody></table>
{% endtab %}

{% tab title="Phone" %}

| Clearout Field Name         | Description                                 |
| --------------------------- | ------------------------------------------- |
| **Status** *(Mandatory)*    | Validation status of the phone number       |
| **Carrier**                 | Telecom carrier information                 |
| **Country Name**            | Country associated with the number          |
| **Country Timezone**        | Timezone of the detected country            |
| **E164 Format**             | Standardized international format           |
| **Line Type** *(Mandatory)* | Type of phone line (mobile, landline, etc.) |
| **Location**                | Geographic location metadata                |
| **DST Observed Hrs**        | Hours adjusted for daylight saving time     |
| {% endtab %}                |                                             |

{% tab title="Name" %}

| Clearout Field Name               | Description                                     |
| --------------------------------- | ----------------------------------------------- |
| **Normalized Name** *(Mandatory)* | The cleaned/standardized version of the name    |
| **Gibberish** *(Mandatory)*       | Indicates if the name appears invalid or random |
| **Status**                        | Validation result for the name                  |
| {% endtab %}                      |                                                 |

{% tab title="Miscellaneous" %}

| Clearout Field Name           | Description                             |
| ----------------------------- | --------------------------------------- |
| **Enriched On** *(Mandatory)* | Timestamp when enrichment was performed |
| {% endtab %}                  |                                         |
| {% endtabs %}                 |                                         |

{% hint style="info" %}
You can save custom field mappings as a new preset. Saved presets can be reused for the same data source in future configurations. This applies to both import and output field mappings.
{% endhint %}
{% endstep %}

{% step %}

### Activate Data Pulse

<div data-with-frame="true"><figure><img src="/files/r4Yo84NJrITVuJnZRgSb" alt=""><figcaption></figcaption></figure></div>

Complete the setup wizard to activate real-time validation and enrichment.\
Weekly data quality report is **enabled by default**. You can opt-in or opt-out of the report here.
{% endstep %}
{% endstepper %}

### What to expect once it is enabled

Data Pulse monitors leads as they are created after it is enabled. Validates and enriches them in real-time within seconds. Then appends its own set of [Clearout result properties](/data-pulse/supported-data-sources#fields-data-pulse-updates) to your contact records.

A weekly data quality digest is delivered every Monday.

### Bulk Importing Leads with the Data Import Wizard

Data Pulse validates a record when Salesforce sends Clearout an outbound message about it. That message is fired by a record-triggered Flow installed with the managed package.

The Data Import Wizard does not run your org's automation by default. Left at its default setting, a bulk import through the wizard can land thousands of leads in Salesforce without a single one reaching Data Pulse. The import will report success, so the gap is easy to miss.

{% hint style="warning" %}
**Tick the automation checkbox before importing**

The wizard leaves **Trigger workflow rules and processes?** unticked by default. Tick it, or none of your imported leads will be sent to Clearout for validation.
{% endhint %}

#### Opening the Data Import Wizard

Where you launch the wizard from depends on your Salesforce Edition. Both routes open the same wizard, and every step after this point is identical.

{% tabs %}
{% tab title="Unlimited" %}

1. Log in to your Salesforce Org and go to the **Leads** object.
2. Scroll down to the **Tools** section.
3. Select **Import Leads**.

<div data-with-frame="true"><figure><img src="/files/eogB4gT25Loyqvss8G5A" alt=""><figcaption></figcaption></figure></div>
{% endtab %}

{% tab title="Enterprise" %}

1. From the Home page, click the **Gear** icon in the top right and select **Setup**.
2. Search for **Data Import Wizard** in Quick Find and select it.
3. Scroll down and click **Launch Wizard**.

<div data-with-frame="true"><figure><img src="/files/EXNg2YTv7I8Ebl5MXTcF" alt=""><figcaption></figcaption></figure></div>
{% endtab %}

{% tab title="Developer" %}

1. Log in to your Salesforce Org and go to the **Leads** object.
2. Select **Import**.

<div data-with-frame="true"><figure><img src="/files/1JU8Mi32sWWowehTPPaz" alt=""><figcaption></figcaption></figure></div>
{% endtab %}
{% endtabs %}

#### Running the Import

{% stepper %}
{% step %}

#### Select the object

Under **Standard Objects**, select **Leads**.
{% endstep %}

{% step %}

#### Choose "Add new records" and tick the automation checkbox

Click **Add new records**, then tick the checkbox under **Trigger workflow rules and processes?**

This is the step that matters. With the box unticked, your leads import successfully but Data Pulse never sees them.

<div data-with-frame="true"><figure><img src="/files/haaN9WQub1KUlecW1dJC" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

#### Upload your file

Select the file you want to import and click **Next** at the bottom right.
{% endstep %}

{% step %}

#### Verify the field mapping

Check that your columns are mapped to the correct Salesforce fields, then click **Next** at the bottom right.
{% endstep %}

{% step %}

#### Start the import

Click **Start Import**. Your leads are created in Salesforce, the Flow fires, and Data Pulse enrichment appears on each record within seconds.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
**Recovering leads imported without the checkbox**

Data Pulse validates leads as they are created, so editing or re-saving an existing lead does not send it to Clearout. To validate leads that were imported with the checkbox unticked:

* Delete the imported leads and re-import them with the checkbox ticked, or
* Run Email Verifier over the affected list. This cleans the email addresses but does not enrich phone or name data.
  {% endhint %}

### Retaining Enriched Data When Converting Leads

Data Pulse monitors Leads. When it validates one, it writes the results to the Clearout custom fields installed on the Lead object by the managed package.

Converting a Lead to a Contact does not carry custom field values across unless each field has been explicitly mapped. Because Data Pulse does not monitor Contacts, a converted Contact is never re-enriched, so any unmapped value is lost permanently at the moment of conversion.

{% hint style="warning" %}
**Map these fields before you convert any leads**

Lead conversion is not reversible and Data Pulse will not re-enrich the resulting Contact. Enrichment that was not mapped at the time of conversion cannot be recovered.
{% endhint %}

The managed package installs matching Clearout fields on both the Lead and the Contact object, so the destination fields already exist in your org. You only need to connect them.

#### Opening the Lead Field Mapping Screen

Where you find this screen depends on your Salesforce Edition. The editions group differently here than they do for the Data Import Wizard, so check the tab that matches your org.

{% tabs %}
{% tab title="Unlimited" %}

1. From the Home page, click the **Gear icon** in the top right and select Setup.
2. Search for **Lead** in Quick Find and select Fields.
3. Scroll down to the **Lead Custom Fields & Relationships** section.
4. Click **Map Lead Fields**.

<div data-with-frame="true"><figure><img src="/files/UE8bRz6CI0nVfNS4Ac7E" alt=""><figcaption></figcaption></figure></div>
{% endtab %}

{% tab title="Developer and Enterprise" %}

1. From the Home page, click the **Gear icon** in the top right and select Setup.
2. Select the **Object Manager** tab.
3. Search for **Lead** and select it.
4. Select the **Fields & Relationships** section.
5. Click Map **Lead Fields** in the top right.

<div data-with-frame="true"><figure><img src="/files/fxUELzEWcUBdPnKkgEQo" alt=""><figcaption></figcaption></figure></div>
{% endtab %}
{% endtabs %}

#### Mapping the Clearout Lead Fields

{% stepper %}
{% step %}

#### Map each Clearout field to its Contact equivalent

For every Clearout field on the Lead, select the matching Clearout field on the Contact object from the dropdown.

<div data-with-frame="true"><figure><img src="/files/GfVzAN6iYxHz0gV1kxdH" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

#### Save

Click **Save**. Every lead converted from this point forward carries its Clearout enrichment onto the Contact record.
{% endstep %}
{% endstepper %}

## How Email Verifier Works

{% stepper %}
{% step %}

### Import Your Campaign (Contact/Lead) Lists

* Once connected, you can choose from your Salesforce Campaign Lists.
* **Select the list(s)** you wish to clean and click **Add to My List**.

<div data-with-frame="true"><figure><img src="/files/exz9ZraEUdqf6z0VBdHi" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Start the Verification

* After importing, hit **Start verification**.
* Clearout performs **20+ advanced checks**, ensuring 99% accuracy.
* Disposable, spam trap, catch-all, syntax errors, and inactive emails are all flagged.

<div data-with-frame="true"><figure><img src="/files/TQqBcwbfoW3FGaz6hd9v" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Export the Clean List

After the validation is complete, the user can download the results in CSV format or export them directly to their Salesforce Org.

The user can export the results by selecting **unsubscribe**, **append**, or **both**.

* **Unsubscribe**: Select this option to remove all the non-deliverable (invalid) email addresses on the Salesforce Org automatically.
* **Append**: Select this option to append the Clearout standard columns to Salesforce Org.

This ensures your email list remains accurate, your reputation intact, and your Salesforce Org is clean.

<div data-with-frame="true"><figure><img src="/files/RJTGKoVHJPBA0CtwMgIh" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Verify the exported validated results

After the exporting is complete, the contact and lead records will be updated with the validated results in the custom fields from Clearout.

<div data-with-frame="true"><figure><img src="/files/GNsUE50wH9FG8KJ1Xnwu" alt=""><figcaption></figcaption></figure></div>

#### How to add clearout custom fields to the contacts list view table:

* In the App Launcher, search for "Contacts" and click it for entering into the contacts object.

<div data-with-frame="true"><figure><img src="/files/uyLplt9I91lXxlubq1cN" alt=""><figcaption></figcaption></figure></div>

* Open the **List view controls** (Gear Icon) in the Contacts tab and click on the "Select fields to display" option.

<div data-with-frame="true"><figure><img src="/files/PuiReyeDNQKaZlfUAQTc" alt=""><figcaption></figcaption></figure></div>

* Select and move the fields to the "Visible Fields" column that are required to be displayed on the list view for verification and click on save.
  {% endstep %}
  {% endstepper %}

## Choosing the Right Solution

Both products use the same validation engine. The difference is when and how they run.

### **When to Use Data Pulse**

* You want always-on, hands-off validation of every new leads as it enters Salesforce.
* You want results to live natively on the Salesforce record with no exports or re-imports.
* Bad data enters continuously through forms, imports, and integrations, and you want to catch it at the source rather than in periodic cleanups.

### **When to Use Email Verifier**&#x20;

* You need a one-time clean of an existing list, for example pre-campaign list hygiene.
* The list lives outside Salesforce (a CSV, XLSX, or Google Sheet).
* You are validating your existing Salesforce database before turning Data Pulse on.

A common pattern: run a one-time Bulk Verification to clean the contacts already in Salesforce, then enable Data Pulse to keep everything clean from that point forward.


# MailerLite

Sync verified contacts into MailerLite ecosystems

The **MailerLite integration** lets you use Clearout's verification capabilities directly with your MailerLite [ESP](/integrations/mailerlite) and [Forms](/integrations/mailerlite/mailerlite-forms). It helps you maintain clean subscriber lists, block fake signups at the source, and ensure your email campaigns always reach real, engaged recipients.

**With Clearout connected to MailerLite**, you can:

* Validate and clean existing subscriber lists in MailerLite by importing groups into Clearout for bulk verification, then exporting the cleaned results back, removing invalid, disposable, and risky email addresses before campaigns go out.
* Validate emails, phone numbers, and names in real time on MailerLite embedded forms, pop-up forms, and landing page forms using Clearout [Form Guard](https://docs.clearout.io/form-guard/overview), stopping fake and low-quality entries from ever reaching your subscriber lists.


# MailerLite ESP

Verify & clean email lists within your MailerLite Subscriber list

You must verify your Mailerlite email lists so that you can maintain and improve your email deliverability. This Clearout integration of **email verification with Mailerlite helps ensure that invalid and fake email addresses** are filtered out from your list before you hit send. Securely import/export data between the two platforms using the email validation integration.

{% stepper %}
{% step %}

### Connect account <a href="#keyqj" id="keyqj"></a>

After logging in to your Clearout account, go to the **Integration page** and select **MailerLite**.&#x20;

Click on "**Add Account**" to add your MailerLite account. A pop-up will be displayed asking for the **API Key and Account Name**. You can find these details in your MailerLite account in&#x20;

“Account Integration **→** Developer API **→** API Key“.&#x20;

Once you feed in the Key details in Clearout, click on the "**Add Account**" button.

<div data-with-frame="true"><figure><img src="/files/JDrb5rHALIc9IZmlrpPl" alt="Connect MailerLite account with Clearout for list verification"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Add the email lists <a href="#plfp3" id="plfp3"></a>

Keep the email address lists clean by easily adding them from the MailerLite account.\
\
Once you've successfully logged in, **select the list(s)** you want to verify from the associated MailerLite account.

<div data-with-frame="true"><figure><img src="/files/41H794O6eOKASqSiEi9O" alt="Select the list to start verification"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Verify the email address list <a href="#h8w70" id="h8w70"></a>

Once the mailing list is successfully added, click on the "**Verify**" button to start validating the added mailing list.

<div data-with-frame="true"><figure><img src="/files/DuXH13OfwBKsUvZny2tG" alt="Start verification of selected MailerLite list"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Export the verified results <a href="#qbdg2" id="qbdg2"></a>

Once the email validation is complete, the user can either **download the result** (in .CSV, .XLSX) or **directly export** it to the MailerLite account.\
\
The user can export the result by selecting either "**unsubscribe**," "**append**," or **both**.\
\
**Unsubscribe:** By choosing this option, you can unsubscribe from the invalid/non-deliverable email addresses on the MailerLite list automatically, which removes all the non-deliverables from the mailing list.\
\
**Append:** By choosing this option, you can export the result and append the Clearout columns with the original file in the MailerLite account.

<div data-with-frame="true"><figure><img src="/files/1RWLWCOpT8oUOyRqyMS0" alt="Export verified list results to MailerLite"><figcaption></figcaption></figure></div>
{% endstep %}
{% endstepper %}


# MailerLite Forms

Real-time form validation on MailerLite forms

Turn every **MailerLite form submission into a quality subscriber**. [Clearout Form Guard](/form-guard/overview) instantly verifies emails, phone numbers, and names, preventing fake, mistyped, and low-quality entries from reaching your MailerLite subscriber lists. This gives your marketing team cleaner audiences, better deliverability, and stronger engagement rates from the very first signup.

<div data-with-frame="true"><figure><img src="/files/2Nd8mcAar2huLuza8MfA" alt="mailerlite-form-with-formguard" width="563"><figcaption><p>MailerLite form with Form Guard enabled</p></figcaption></figure></div>

## Supported MailerLite Forms

Select the type of integration you need to enable seamless form validation using Clearout [Form Guard](https://docs.clearout.io/form-guard/overview) and ensure accurate lead capture across your MailerLite forms.

* [Embed Forms](#embed-forms)
* [Pop-up Forms](#pop-up-forms)
* [Forms on Landing Pages & Websites](#forms-on-landing-pages-and-websites)
* [Site-wide Integration with Google Tag Manager (GTM)](#site-wide-integration-with-google-tag-manager-gtm)

## Integrate Various MailerLite Forms

### Embed Forms

MailerLite embedded forms can be installed on your website using either a **JavaScript snippet** or raw **HTML code**. Both methods render the form directly on your webpage (not inside an iframe), making them fully compatible with Clearout's Form Guard for real-time validation.

**To integrate Form Guard with MailerLite Embed Forms:**

* In your MailerLite account, navigate to **Forms → Embedded forms** and copy the embed code for your form.
* Add the MailerLite form embed code to your website.
* Create and Configure Form Guard - In the validation settings page for Phone & Name, set the “Field Selection” options as Custom and use the following selector for Name & phone respective **\[name="fields\[name]"]** and **\[name="fields\[phone]"]**
* Paste the Clearout Form Guard snippet into the **header section** of the same webpage (just before the closing `</head>` tag).
* Publish your changes and clear any page caches, if applicable. The Clearout Form Guard script will automatically detect the MailerLite form fields on the page and attach real-time validation for email, phone, and name fields.

<div data-with-frame="true"><figure><img src="/files/EqZcU4LXjVzGpCsHyqil" alt="Phone field selector" width="563"><figcaption><p>Custom Phone Field Selector</p></figcaption></figure></div>

{% hint style="info" %}
If you're using the **MailerLite WordPress plugin** to add embedded forms, add the Clearout Form Guard snippet to your WordPress site's header using your theme settings or a header/footer injection plugin.
{% endhint %}

### Pop-up Forms

MailerLite pop-up forms (including full-screen, half-screen, floating, slidebox, and click-triggered pop-ups) are loaded via a **JavaScript tracking snippet** and rendered directly on the page. This makes them compatible with Clearout's Form Guard.

**To integrate Form Guard with MailerLite Pop-up Forms:**

* Ensure the MailerLite [**universal JavaScript tracking snippet**](https://www.mailerlite.com/help/how-to-add-a-form-to-your-website) is installed on your website (just before the closing `</head>` tag).
* Paste the Clearout Form Guard snippet in the same **header section**, alongside the MailerLite snippet.
* Publish your changes. When the pop-up form appears on the page, Clearout Form Guard will automatically detect and validate the email, phone, and name fields in real time before the form is submitted.

{% hint style="info" %}
**Note on Promotional Pop-ups:** MailerLite promotional pop-ups are designed to display information (e.g., announcements, sales, events) rather than collect subscriber data. Since they typically do not contain email input fields, Clearout Form Guard validation does not apply to promotional pop-ups.
{% endhint %}

### Forms on Landing Pages & Websites

Use this option when your forms are placed on **MailerLite-hosted landing pages or websites** built using MailerLite's drag-and-drop site builder.

**To integrate Form Guard with MailerLite Landing Page or Website Forms:**

* In your MailerLite account, navigate to **Sites** and open the landing page or website you want to edit.
* Go to **Settings → Custom code** (or the equivalent custom HTML/JavaScript section in the site builder).
* Paste the Clearout Form Guard snippet into the **Header code** section.
* Save and publish your changes.&#x20;

{% hint style="info" %}
**Note:** To verify successful integration, preview the page and test using Clearout's [test email addresses](https://docs.clearout.io/developers/api/overview#testing). This allows you to confirm functionality without consuming email validation credits.
{% endhint %}

{% hint style="warning" %}
If your MailerLite site plan does not support custom code injection, consider using Google Tag Manager (see below) or an alternative method to load the Clearout snippet.
{% endhint %}

### Site-wide Integration with Google Tag Manager (GTM)

For full setup instructions, refer to the [GTM installation method](/form-guard/overview#google-tag-manager-gtm-1) in the Form Guard overview.

Once deployed, the Clearout Form Guard will automatically detect and validate MailerLite forms (both embedded and pop-up) across all pages where the GTM tag is active.


# CRM

Connect Clearout with your CRM systems to automatically verify, enrich, and manage contact data as it enters your database.

Integrations with platforms like **Apollo**, [**HubSpot**](/integrations/hubspot/hubspot-crm)**,** [**Salesforce**](/integrations/salesforce)**, GoHighLevel, Zoho CRM, and others** allow you to validate email addresses, enrich prospect data, and maintain clean customer records directly within your CRM workflows. This helps sales and marketing teams work with accurate contact data while reducing bounces and improving outreach performance.


# Apollo

Integrate Clearout with Apollo to verify contact lists

Reduce bounce rates, boost deliverability, and be confident your emails are landing in inboxes. **Clearout email verification integration with Apollo** helps ensure the contacts you are collecting with Apollo are valid, which improves data quality and the health of your database.

{% embed url="<https://www.youtube.com/watch?embeds_referring_euri=https://clearout.io/&source_ve_path=Mjg2NjY&v=QLA-G7DL7RU>" %}

## Connect your Apollo account to Clearout <a href="#ufmb1" id="ufmb1"></a>

* Log in to your [Clearout dashboard](https://app.clearout.io/dashboard/overview).
* Navigate to the **Integration** page.
* Select **Apollo**.
* Click "**Connect to Apollo**" to add your Apollo account.
* A pop-up will appear asking for your **account name and API key**:
  * Find these details in your Apollo account under the "**Integrations**" tab in Settings.
  * Under Integration, select the "**API**" option to copy the **Master Key**.
* Enter the **Account Name and API Key** in Clearout.
* Click the "**Add Account**" button.

If you already have an Apollo account integrated with Clearout, click on Apollo to see the contact list.

{% hint style="info" %}
You can link multiple Apollo accounts&#x20;
{% endhint %}

<div data-with-frame="true"><figure><img src="/files/cFs8eyPulYk4TMHRdYRN" alt="Connect Apollo account with Clearout for list verification"><figcaption></figcaption></figure></div>

## Add a list from your Apollo account <a href="#xfjsy" id="xfjsy"></a>

You can easily maintain the cleanliness of your email lists by adding them directly from your Apollo account.

After linking, select the email list from the existing Apollo Account. Then click on "**Add to My List**" to proceed with the bulk list verification.

<div data-with-frame="true"><figure><img src="/files/b1R6848JifcYQ2JJSDVz" alt="Select list to start verification"><figcaption></figcaption></figure></div>

## Verify Apollo list  <a href="#wcq1p" id="wcq1p"></a>

After the list has been added successfully, click "**Verify**" to begin validating the Apollo list.\
\
You can opt to export the confirmed email list to their Apollo account once the email validation is done. The result may be exported, and the Clearout columns can be appended to the original file in the Apollo list. \
\
Once the export is completed, Clearout sends an export success email to the user.

<div data-with-frame="true"><figure><img src="/files/Zs72mxAtujmx1eBWiSYJ" alt="Export verified result to Apollo"><figcaption></figcaption></figure></div>

## Apollo List Export Failure Due to API Limit

You might face the issue of failing to export the Apollo list due to the API rate limit if your existing plan doesn't support it.

There is an alternative to upgrading your Apollo.io plan:

{% stepper %}
{% step %}
Download the verified result file from Clearout.

<div data-with-frame="true"><figure><img src="/files/tJ33U3dnDmoKm58O6soe" alt="Download verified list results"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
Upload the CSV file to Apollo.

[Refer to this link for more information](https://knowledge.apollo.io/hc/en-us/articles/4409161532045-Upload-a-CSV-of-Contacts-to-Apollo)\
\
That's it, and you are done without needing to upgrade your current Apollo.io plan.
{% endstep %}
{% endstepper %}

## View Clearout Fields Using Apollo Filters <a href="#jq6ba" id="jq6ba"></a>

Go to Apollo '**List**', Click on '**More Filters**' & Navigate to '**Custom Fields**' to select the required Clearout Columns

Using the Apollo rule engine, you may automate this procedure as well. For each verified email list, go to settings, then rule engine, and configure the same procedures as an automatic job.

<div data-with-frame="true"><figure><img src="/files/I7GwiIrwPcStI1O4fd26" alt="Enable Custom Field on &#x22;More filters&#x22; to view Clearout Result Fields"><figcaption></figcaption></figure></div>

You get to see various Clearout standard columns, and you can pick the ones you need. We recommend choosing the "**safe to send**" option for the highest deliverability rate or selecting emails categorized under the "**Valid**" status.


# Zoho

Integrate Clearout with Zoho CRM for email verification and list cleaning

Zoho CRM makes it easy to manage customer data, but if your contact lists are filled with invalid or risky email addresses, your Zoho campaigns are bound to suffer.

That's where Clearout steps in.

**Clearout's native integration with Zoho CRM allows you to verify your contact** and lead lists directly - no exports, no spreadsheets. Simply connect, clean, and continue sending with confidence.

* **Real-time detection** of invalid, disposable, role-based, or risky emails
* **Fully synced** with Zoho CRM contact lists
* **Easy export of cleaned lists** with flexible options

<div data-with-frame="true"><figure><img src="/files/YOP0Y21SIhTbh1Xdastu" alt="Overview on Zoho list verified on Clearout" width="563"><figcaption></figcaption></figure></div>

## How to Set Up the Clearout–Zoho CRM Integration in a Few Steps

The Clearout integration works via Zoho CRM, allowing you to:

* Connect your Zoho CRM account to Clearout
* Pull in Leads and Contacts lists created for Campaigns
* Verify the selected campaign lists directly in Clearout
* Export cleaned results back to Zoho CRM or download for further use

{% embed url="<https://youtu.be/hwxSCzaJkx8?si=KrHvJbNkZ0Be08tN>" %}

## How the Zoho Integration Works

{% stepper %}
{% step %}

### Connect your Zoho CRM account to Clearout

* **Log in** to your Clearout account
* Go to the **Integrations** section
* Select **Zoho**
* Click '**Add Account**'
* A pop-up will prompt you to **authorize Clearout** with Zoho CRM
* Once authorized, your Zoho CRM campaign lists will be ready to import and verify

<div data-with-frame="true"><figure><img src="/files/vZWEr8764TZJgY4kfbWz" alt="Connect Zoho account with Clearout for list verification"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Import Your Contact or Lead Lists

* Once connected, you can choose from your Zoho Campaigns Lead or Contact lists
* **Select the list(s)** you wish to clean and click “**Add to My List**”.

<div data-with-frame="true"><figure><img src="/files/83MgasBboGyHsTcC3QhB" alt="Import list and select the list to verify on Clearout"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Start the Verification

* After importing, hit '**Verify**'
* Clearout performs **20+ advanced checks**, ensuring 99% accuracy
* Disposable, spam trap, catch-all, syntax errors, and inactive emails are all flagged

<div data-with-frame="true"><figure><img src="/files/43gSSal80FIXTzn4wfcE" alt="Start verification of selected list"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Export the Clean List

After the validation is complete, the user can download the results in CSV format or export them directly to their Zoho CRM.

The user can export the results by selecting "**unsubscribe**," "**append**," or **both**.

* **Unsubscribe:** Select this option to remove all the non-deliverable (invalid) email addresses on the Zoho CRM automatically.
* **Append:** Select this option to append the Clearout standard columns to Zoho CRM.

This ensures your email list remains accurate, your reputation intact, and your Zoho CRM is clean.

<div data-with-frame="true"><figure><img src="/files/bbun8NfKrmQpY2VTnz6N" alt="Export verified list results to Zoho"><figcaption></figcaption></figure></div>
{% endstep %}
{% endstepper %}

### Frequently Asked Questions

<details>

<summary>Does this integration work with Zoho CRM or Zoho Campaigns?</summary>

The integration connects through **Zoho CRM**, allowing you to import Campaign **Lead** and **Contact** lists created within campaigns. These are synced from your Zoho CRM account.

</details>

<details>

<summary>Can I verify both Leads and Contacts?</summary>

Yes! Once connected, Clearout will allow you to import and verify both types of campaign lists, depending on how you organize your data in Zoho Campaigns.

</details>

<details>

<summary>Will Clearout remove or delete any of my contacts?</summary>

No. You’ll always have control over what happens to your data. Once verification is complete, you can choose to:

* Mark invalid emails for unsubscribing
* Append verification status to each contact
* Export the cleaned data for manual review.

</details>

<details>

<summary>How accurate is the email verification process?</summary>

Clearout offers **99% accuracy**, running 20+ validation checks on every email address—including syntax validation, MX record checks (which verify the mail server for the domain), catch-all detection (identifying domains that accept emails for any address), and spam trap detection (finding email addresses used to catch spammers).

</details>

<details>

<summary>How are credits consumed for Zoho list verification?</summary>

Each email address verified consumes **1 credit**. You can [view pricing here](https://app.clearout.io/pricing?utm_source=chatgpt.com\&utm_referrer=https%3A%2F%2Fwww.google.com%2F) or get started with 100 free credits.

</details>

<details>

<summary>Can I integrate this with Zoho Forms or Web Forms?</summary>

Currently, the native integration works through Zoho CRM. If you’d like to implement real-time verification on forms, you can use the [Form Guard](/form-guard/overview) or [API](/developers/api/email-verify#post-email_verify-instant)

</details>

<details>

<summary>Is technical assistance available during setup?</summary>

Yes, we’re happy to help! You can contact our support team anytime via [Live Chat](https://clearout.io/contact-us/) or schedule a walkthrough with a Clearout specialist.

</details>


# CleverTap

Integrate Clearout with CleverTap for email verification

Reduce email bounce rates, improve deliverability, and have confidence that your emails are reaching the inbox. **Clearout email verification integration with CleverTap** ensures that the contacts are valid, which improves data quality and database health.

{% embed url="<https://youtu.be/u6w1n9IcZgg?si=AoYcVJQqxCRXgucw>" %}

## How It works:&#x20;

{% stepper %}
{% step %}

### Connect CleverTap Account <a href="#ufmb1" id="ufmb1"></a>

* After logging into Clearout, go to "**Integrations.**" Select **CleverTap** and click on "**Connect to CleverTap.**"
* Enter the following project details to authorize the connection:
* Project ID
* Passcode
* Region

These details can be obtained by navigating to the **Settings** > **Project page** of the CleverTap dashboard. To identify the **region** of your account, **check the URL** of your CleverTap account.

<div data-with-frame="true"><figure><img src="/files/j08v8XB81okkGsmhGJxG" alt="Copy Region, account ID and Passcode from Clevertap account to connect with Clearout for list verification"><figcaption></figcaption></figure></div>

<table><thead><tr><th width="457.44140625">CleverTap Dashboard URL</th><th>Region</th></tr></thead><tbody><tr><td><a href="https://eu1.dashboard.clevertap.com/login.html#/">https://eu1.dashboard.clevertap.com/login.html#/</a></td><td>EU1</td></tr><tr><td><a href="https://in1.dashboard.clevertap.com/login.html#/">https://in1.dashboard.clevertap.com/login.html#/</a></td><td>IN1</td></tr><tr><td><a href="https://us1.dashboard.clevertap.com/login.html#/">https://us1.dashboard.clevertap.com/login.html#/</a></td><td>US1</td></tr><tr><td><a href="https://sg1.dashboard.clevertap.com/login.html#/">https://sg1.dashboard.clevertap.com/login.html#/</a></td><td>SG1</td></tr></tbody></table>
{% endstep %}

{% step %}

### Add the Email Lists <a href="#xfjsy" id="xfjsy"></a>

After the successful login, select the email list from the existing CleverTap audience list. Then click on "**Add to My List**" to proceed with the audience list validations.

<div data-with-frame="true"><figure><img src="/files/FRUt2PaqYooZL6JCHc9u" alt="Select CleverTap List to verify on Clearout"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Verify the Email Lists <a href="#wcq1p" id="wcq1p"></a>

Once the email list is successfully added, click on "**Verify**" to start validating the added CleverTap list.

<div data-with-frame="true"><figure><img src="/files/yoYsdjqXNxwCGAPTb9Y0" alt="Start verification of the selected list"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Export the Verified Lists <a href="#v3o3k" id="v3o3k"></a>

Once the email validation is completed, the user can choose how to export the verified list to the CleverTap account. The user can export the result by choosing to unsubscribe or append else by selecting both.\
\
**Unsubscribe:** The user can automatically unsubscribe the invalid/non-deliverable email addresses on the CleverTap list, removing all non-deliverables from the mailing list.\
\
**Append:** The user can export the result and append the Clearout columns with the original file in the CleverTap account.

<div data-with-frame="true"><figure><img src="/files/FVDLpht91wHK0HRpRHjJ" alt="Export verified list results to CleverTap "><figcaption></figcaption></figure></div>

You will see various Clearout columns to append and can select the ones you need. We recommend selecting "**safe to send**" along with "**Status**" for the highest deliverability rate, or the ones classified as "**Valid.**"
{% endstep %}
{% endstepper %}

## Clearout Verification Status <a href="#id-4xh1u" id="id-4xh1u"></a>

Every email is primarily categorized as either Valid, Invalid, Unknown, or Catch-All.\
\
**Valid:** The email address will be declared a Valid Email Address after a successful SMTP transaction if the recipient's mail server accepts it. Even if the email address is real, sending emails to addresses tagged as "Disposable" is not advised.\
\
**Invalid:** An email address is marked Invalid if it's syntactically wrong or if an email account doesn't exist on the receiving mail server.\
\
**Unknown:** The receiving mail server may reply slowly or be momentarily unable to handle queries at times. Those email addresses have an "unknown" status, which can be revalidated after some time.\
\
**Catch-All:** An email address that accepts all messages sent to that address and never bounces them back.\
\
**Clearout Safe to send:** Clearout identifies high-quality email addresses using an advanced-level screening mechanism, resulting in greater deliverability and open rates for your emails. We highly advise sending emails in bulk within a 24-hour time frame using email addresses with a deliverability score of 1.\
\
**Clearout Disposable:** Certain service providers generate temporary email addresses for a limited duration, such as a few hours to a few days. "Disposable Email Addresses" is the term for such addresses. Sending emails to such addresses increases the bounce rate; sending emails to "**Disposable Email Addresses**" is not recommended.\
\
[Click here](/email-verifier/overview#associated_results) to Learn More about other Clearout statuses.


# GoHighLevel

Integrate Clearout with GoHighLevel to validate contact lists

**Remove invalid and spammy emails from your GoHighLevel** CRM using Clearout's bulk list email validation. Keep your contact list clean and improve GoHighLevel email deliverability.

## How to Verify Emails in GoHighLevel in 4 Steps

{% embed url="<https://www.youtube.com/watch?embeds_referring_euri=https://clearout.io/&v=Aa07CKASq0Q>" %}

{% stepper %}
{% step %}

### Connect account

After logging in to your Clearout account, go to the Integration page and select GHL. Fill in with "**Private Integration Key, Location ID, and Account Name**."

\
Here's how you can retrieve these details from your GHL account:

* To integrate Clearout with GHL, you'll need the Private Integration Token and Location ID:
  * Go to **Settings,** then navigate to **Sub-account > Other Settings > Private Integrations > Create New Integration**.
  * Use the **generated key** for Clearout integration and grant the necessary scopes (**view/edit tags, view/edit contacts, and view/edit custom fields**).
* To get the **Location ID**, go to **Settings** **→ Business Profile → Location ID**.

Once you've fed the Key details into Clearout, click on the "**Add Account**" button.<br>

<div data-with-frame="true"><figure><img src="/files/vmr2067iz0fDWdGnB1Ux" alt="Connect GoHighLevel account with Clearout"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Add the email lists

Once your GHL account is connected, Clearout will automatically display your tagged contact lists from GHL. \
\
To prepare contacts for verification, start by [creating tags in GHL](https://www.bardeen.ai/answers/how-to-create-tags-in-gohighlevel) to group specific contacts. These tagged contact lists will then appear in Clearout, allowing you to select one or more for verification. This organized tagging system makes it easy to **manage and verify** only the contacts you need, directly from your GoHighLevel account.

<div data-with-frame="true"><figure><img src="/files/TJQYPMPLLYuifUliv9rN" alt="Select the GoHighLevel list for verification on Clearout"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

#### Verify the email address list

After successfully adding the selected tagged list, click on "**Verify**" to initiate the validation process.

<div data-with-frame="true"><figure><img src="/files/7DLyg1IGr6q5ZZpTfHCd" alt="Verify the selected list"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

#### Export the verified results

Once the validation is completed, the user can choose how to export the verified list to the GHL account. The user can export the result by choosing to unsubscribe, append, or else select both.

**Unsubscribe**: On selecting this option, the non-deliverable email addresses will be automatically un-tagged from the Tag list and will not be part of the verified list for the campaigns.

**Append:** By selecting this option, the user can export the result, along with the selected appended fields, back to the GHL accoun&#x74;**.**

<div data-with-frame="true"><figure><img src="/files/2LwhP02qovORK4UydIWl" alt="Export verified list results to GoHighLevel"><figcaption></figcaption></figure></div>
{% endstep %}
{% endstepper %}

<h3 align="center">Frequently Asked Questions</h3>

<details>

<summary>What permissions are required to integrate Clearout with GoHighLevel?</summary>

You'll need the <mark style="color:$info;">**Private Integration Token**</mark> and <mark style="color:$info;">**Location ID**</mark> from GoHighLevel. Ensure that you have access to the <mark style="color:$info;">**sub-account settings**</mark> to generate this token.

</details>

<details>

<summary>How can I retrieve the Private Integration Token and Location ID?</summary>

* Go to <mark style="color:$info;">**Settings**</mark> inside the sub-account, navigate to <mark style="color:$info;">**Other Settings**</mark> → <mark style="color:$info;">**Private Integrations**</mark>, and click on <mark style="color:$info;">**Create New Integration**</mark> button to generate the integration token.
* For the <mark style="color:$info;">**Location ID**</mark>, go to <mark style="color:$info;">**Settings**</mark> → <mark style="color:$info;">**Business Profile**</mark>.

</details>

<details>

<summary>What happens if an email is marked non-deliverable?</summary>

Non-deliverable emails will be <mark style="color:$info;">**untagged from the GHL list**</mark>(as part of Unsubscribe), ensuring they do not remain in active campaigns.

</details>

<details>

<summary>Can I verify multiple tagged lists at once?</summary>

Yes, you can select and verify multiple tagged lists simultaneously, making the validation process faster and more efficient.

</details>

<details>

<summary>How long does it take to verify an email list in GHL?</summary>

The verification time depends on the <mark style="color:$info;">**size of the list**</mark> and the <mark style="color:$info;">**domain type**</mark> of the email addresses. Generally, free domains verify faster, while business domains may take longer as it is dependent on the time taken by the recipient server to respond back.

</details>

<details>

<summary>Is there any additional cost for this integration?</summary>

No, the integration itself is free. The cost is based on the number of credits used for email verification.

</details>

<details>

<summary>Can I integrate Clearout with multiple GHL sub-accounts?</summary>

Yes, you can add and manage multiple GHL sub-accounts within Clearout by using separate integration tokens and location IDs for each sub-account.

</details>

<details>

<summary>What happens if the integration token expires?</summary>

If the integration token expires, you'll need to generate a new token from the sub-account settings in GHL and reconfigure it in Clearout.

</details>


# ESP

Connect Clearout with your Email Service Providers (ESPs) to ensure your email lists remain clean and deliverable.

By integrating with platforms such as **Mailchimp, SendGrid, ActiveCampaign, and other email marketing tools**, you can automatically verify email addresses before sending campaigns. This helps reduce bounce rates, protect sender reputation, and improve overall email deliverability.


# Kit (formerly ConvertKit)

Integrate Clearout with Kit for subscriber email verification

Improve the quality of your Kit subscribers by verifying email addresses directly with Clearout. Prevent bounce rates, clean up your tags, and enhance your email marketing performance with real-time email verification.

{% embed url="<https://youtu.be/sgGF_Lq6no8>" fullWidth="false" %}

## How the Kit Integration Works

Clearout integrates seamlessly with Kit to help you validate email addresses associated with your subscribers. In Kit, tags are commonly used to segment subscribers for email campaigns. In Clearout, each tag is treated as a separate list, allowing you to easily clean and maintain segmented audiences.

{% stepper %}
{% step %}

### Connect Your Kit Account

Click “**Add Account**” in Clearout to securely authenticate and sync your Kit account.&#x20;

{% hint style="info" %}
**Note**: Only one Kit account can be connected at a time. To connect a different account, you will need to log out from Kit and reauthenticate.
{% endhint %}

<div data-with-frame="true"><figure><img src="/files/YdOZHcFV5EC1mBe1rxZS" alt="Connect Kit account with Clearout for List verification"><figcaption></figcaption></figure></div>

{% endstep %}

{% step %}

### Select a Tag (List) for Validation

Once connected, Clearout displays all your **Kit tags as lists**.\
\
Subscriber counts are not shown until a specific tag is added for validation.

<div data-with-frame="true"><figure><img src="/files/zKWXWYsI86Nk7C3PN2ft" alt="Select Kit Tag list to start verification" width="563"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Validate Your Subscribers

**Select a tag** to run a real-time email verification check. Clearout will identify and categorize invalid, disposable, gibberish, role-based, or risky email addresses.

<div data-with-frame="true"><figure><img src="/files/QTY2nX9MzdsQv3Ln18r5" alt="Start verification of your selected Kit list" width="563"><figcaption></figcaption></figure></div>

> ### Key Integration Details
>
> * **Tags as Lists**\
>   In Kit, tags segment your subscribers. Clearout treats each tag as an individual list.\
>   While Clearout has no tag-based limits, Kit allows up to 1,000 subscribers on the free plan.
> * **Email Counts per List**\
>   The number of emails under a tag is not visible until the tag is selected/added for validation.
> * **Custom Fields Created on Export**\
>   Clearout adds custom fields such as **Clearout Safe To Send**<mark style="color:$info;">**, Clearout Status and Clearout AI Verdict**</mark> to subscriber records only during the export process. These fields enhance subscriber data directly within your Kit dashboard.
> * **Subscriber Unsubscription**\
>   If you choose to unsubscribe invalid addresses during export, subscribers will be unsubscribed **only from the selected tag**. They will remain active under other tags they belong to.
>   {% endstep %}

{% step %}

### Export the verified results

After the validation is complete, the user can download the results in .CSV or .XLSX format, or export them directly to their Kit account.

The user can export the results by selecting either "**unsubscribe**," "**append**," or **both**.

* **Unsubscribe**: Users can unsubscribe the invalid/non-deliverable email addresses on the Kit Tag automatically, which removes all the non-deliverables from the selected tag.
* **Append**: User can export the result and append the Clearout columns with the selected tag in the Kit account.

This ensures your email list remains accurate, your reputation intact, and your Kit automation workflows clean.

<div data-with-frame="true"><figure><img src="/files/sls3wphyWM7bkGMEVyzr" alt="Export verified list results to Kit "><figcaption></figcaption></figure></div>

{% endstep %}
{% endstepper %}

## Using Clearout Fields in Kit Workflows and Campaigns

Clearout’s custom fields provide deep insights into the quality of each subscriber. These fields can be used directly within Kit’s:

* **Email Campaigns**: Filter out low-quality emails before sending broadcasts.
* **Visual Automations (Workflows)**: Apply conditions and paths based on validation status (e.g., only continue for Clearout Safe To Send = Yes).
* **Filters and Segments**: Use Clearout fields to create more refined segments and improve targeting.

For every validated tag or preset, you can use the **Clearout \*** fields in Kit filters and automation rules to optimize your communication and reduce churn.

<div data-with-frame="true"><figure><img src="/files/7CqPDlgXfzvOxE2nRZRS" alt="Edit Kit filters to add Clearout fields in the automation rules"><figcaption></figcaption></figure></div>

<h3 align="center">Frequently Asked Questions</h3>

<details>

<summary>Why do I need the Clearout + Kit integration?</summary>

This integration helps keep your email list clean, reliable, and high-performing by verifying the email addresses of your Kit subscribers in real time. By removing invalid, risky, or fake emails, you can:

* Boost deliverability and inbox placement
* Avoid bounce-related penalties
* Enhance segmentation and automation flows
* Maximize ROI from every email campaign

It’s the easiest way to ensure you’re sending messages to real, engaged subscribers—without leaving your Kit environment.

</details>

<details>

<summary>Is Kit the same as ConvertKit?</summary>

Yes, **Kit is the new name for ConvertKit**. The rebranding reflects the platform’s growth beyond email into a broader creator marketing ecosystem. All existing features, including your account, tags, automations, and integrations like Clearout, remain fully functional under the new name.

</details>

<details>

<summary>How does the Clearout + Kit integration work?</summary>

Once you connect your Kit account with Clearout, your **tags** (used in Kit to segment subscribers) will appear as lists in Clearout. You can select any tag for email validation and export the cleaned data back to Kit with enhanced fields and optional actions like unsubscribing invalid addresses.

</details>

<details>

<summary>What happens to invalid email addresses after validation?</summary>

During export, Clearout offers two options:

* **Unsubscribe**: Remove invalid or non-deliverable subscribers from the selected tag only.
* **Append**: Add custom Clearout fields (e.g., Clearout Status, Clearout Safe To Send etc) to each subscriber in Kit. You may also apply both actions simultaneously.

</details>

<details>

<summary>Are my tags or subscriber data modified during validation?</summary>

No. The validation process does not alter your Kit data unless you choose to export the results and select an action like unsubscribing or appending fields.

</details>

<details>

<summary>Can I use Clearout fields in Kit’s Visual Automations or Broadcasts?</summary>

Yes. The fields Clearout adds during export (e.g., **Clearout Status, Clearout Score, Clearout AI Verdict etc**) can be used in:

* **Email Campaign filters**
* **Visual Automations (Workflows)**
* **Segment creation**

This enables you to send emails only to verified, high-quality subscribers and build automations based on real-time email hygiene data.

</details>

<details>

<summary>Can I connect multiple Kit accounts to Clearout?</summary>

Yes. Clearout allows multiple accounts to be connected. To connect multiple accounts, you need to log out from current Kit account to connect new account. Once accounts are connected, you can switch between the accounts to validate the tags.

</details>

<details>

<summary>Why can’t I see email counts under a tag before validation?</summary>

For clarity and performance, email counts are only visible after a tag is added or selected for validation in Clearout.

</details>

<details>

<summary>How are credits used for validating Kit subscribers?</summary>

Clearout consumes **1 credit per email address validated**. If the same email appears under **multiple tags**, credits will be charged for each instance, as Clearout performs a **real-time validation** every time an email is processed through a new tag.

</details>

<details>

<summary>Do Clearout credits expire?</summary>

* **One-time purchased credits**: Never expire.
* **Subscription-based credits**: Renew monthly and leftover credits rollover to next month.

</details>

<details>

<summary>Where can I view Clearout pricing?</summary>

You can explore our pricing plans and choose what suits your needs here: [Clearout Pricing](https://clearout.io/pricing)

</details>

<details>

<summary>Still have questions?</summary>

We’re happy to help. Reach out to us at <us@clearout.io> for any additional support or inquiries.

</details>


# Lemlist

Integrate Clearout with Lemlist to verify and clean campaign lists

Integrate Clearout's **powerful email verification seamlessly with Lemlist** to guarantee a clean and accurate list, maximizing the success of your email campaigns.

### How to Verify Emails in Lemlist in Just 4 Simple Steps <a href="#og1ju" id="og1ju"></a>

{% stepper %}
{% step %}

### Connect account <a href="#id-3eed7" id="id-3eed7"></a>

After logging in to your Clearout account, go to the Integration page and select Lemlist.&#x20;

Click on "**Add Account**" to add your Lemlist account.&#x20;

A pop-up will be displayed asking for the **API Key and Account Name**. You can find these details in your Lemlist account under the "**Integration**" tab in your profile settings.&#x20;

Once you feed in the Key details in Clearout, click on the "**Add Account**" button.

<div data-with-frame="true"><figure><img src="/files/zwThExsRephSlGp7lrqp" alt="Connect Lemlist account with Clearout for List verification" width="563"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Add the email lists <a href="#s75ov" id="s75ov"></a>

Keep the Campaign lists clean by easily adding them from the Lemlist account.\
\
After the successful login, **select the list(s)** you wish to be verified from the Lemlist account linked.

<div data-with-frame="true"><figure><img src="/files/trS1H0rN9nXfySQE1iEh" alt="Select the Lemlist list for verification" width="563"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Verify the email address list <a href="#b8bdu" id="b8bdu"></a>

Once the campaign list is successfully added, click on "**Verify**" to start validating the added campaign list.

<div data-with-frame="true"><figure><img src="/files/IdAg016eiNIkfN7Nebeq" alt="Start verification of selected Lemlist List"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Export the verified results <a href="#id-6ymu5" id="id-6ymu5"></a>

Once the validation is completed, the user can choose how to export the verified list to the Lemlist account. The user can export the result by choosing to unsubscribe or append, or else by selecting both.

**Unsubscribe**: By selecting this option, the non-deliverable email addresses will be automatically unsubscribed from the campaign list.

**Append:** By selecting this option, the user can export the result, along with the selected appended fields, back to Lemlist's CRM.

<div data-with-frame="true"><figure><img src="/files/RPieboKpYE3LAznkMxzs" alt="Export verified list results to Lemlist"><figcaption></figcaption></figure></div>
{% endstep %}
{% endstepper %}


# Mailchimp

Integrate Clearout with Mailchimp to verify and clean email lists

Reduce bounce rates, boost deliverability, and be confident your emails are landing in inboxes. This Clearout integration for **email validation with Mailchimp helps ensure that bad and fake email addresses** are filtered out from your list before you hit send. You can securely import/export data between the two platforms using the integration.

{% embed url="<https://youtu.be/QTiddURdddo?si=3eBipOk8iBwFIgQu>" %}

{% stepper %}
{% step %}

### Connect account <a href="#keyqj" id="keyqj"></a>

Once logged into Clearout, click on **Integration** on the right. This will direct you to the integrations page, click on **Mailchimp**. Then log in to the MailChimp account by entering the credentials to connect.\
\
If the Mailchimp account is already connected, click on the MailChimp integration to see the list of audiences.

{% hint style="info" %}
Note: The user can able to add multiple Mailchimp accounts.
{% endhint %}

<div data-with-frame="true"><figure><img src="/files/Es103eCARgUtddoNwM3q" alt="Connect MailChimp account to Clearout for list verification"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Add the email lists <a href="#plfp3" id="plfp3"></a>

Keep the email address lists clean by easily adding them from the MailChimp account.\
\
After the successful login, **select the email list** from the existing MailChimp audience list. Then click on "**Add to my list**" to proceed with the audience list validations.

<div data-with-frame="true"><figure><img src="/files/HJdXKSLYH82i7FiZCkAj" alt="Select MailChimp list to start verification"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Verify the email address list <a href="#h8w70" id="h8w70"></a>

Once the email list is successfully added, click on "**Verify**" to start validating the added Mailchimp list.

<div data-with-frame="true"><figure><img src="/files/SoAM9KV26fQlDi65tOpd" alt="Start verification of selected MailChimp List"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Export the verified results <a href="#qbdg2" id="qbdg2"></a>

Once the email validation is completed, the user can choose how to export the verified list to the Mailchimp account. The user can export the result by choosing to unsubscribe or append, or else by selecting both.\
\
**Unsubscribe**: By choosing this option, you can unsubscribe from the invalid/non-deliverable email addresses on the Mailchimp list automatically, which removes all the non-deliverables from the mailing list.\
\
**Append**: By choosing this option, you can export the result and append the Clearout columns with the original file in the Mailchimp account.

<div data-with-frame="true"><figure><img src="/files/bFQ37VvhScOxPysk2DSS" alt="Export verified list result to MailChimp"><figcaption></figcaption></figure></div>
{% endstep %}
{% endstepper %}


# ActiveCampaign

Integrate Clearout with ActiveCampaign to verify and clean email lists

Reduce bounce rates, boost deliverability, and be confident your emails are landing in inboxes. This Clearout integration of **email verification with ActiveCampaign helps ensure that invalid and fake email addresses** are filtered out from your list before you hit send. Securely import/export data between the two platforms using the integration.

{% hint style="info" %}
**Note**:\
\
Want to Automatically Validate Emails When Contacts Are Subscribed to an ActiveCampaign List?\
\
You can easily automate this using the ActiveCampaign Automation Workflow in combination with the Clearout App. By setting this up, every new contact added to your ActiveCampaign list will be automatically validated by Clearout in real-time. The results will be instantly mapped to the respective Clearout status fields within your contact profile.\
\
👉 [Watch the step-by-step demo](https://www.loom.com/share/1812ab44ee744cb9ae729cce2b4e5e80) to learn how to deploy this automation in just a few clicks.
{% endhint %}

## How It Works:

{% stepper %}
{% step %}

### Connect account <a href="#keyqj" id="keyqj"></a>

After logging in to your Clearout account, go to the Integration page and select ActiveCampaign.&#x20;

Click on "**Add Account**" to add your Active Campaign account.&#x20;

A pop-up will be displayed, asking for the **URL, key, and account name**. You can find these details in your Active Campaign account under the "**Developer**" tab in Settings.&#x20;

Once you feed in the URL and Key details in Clearout, click on the "**Add Account**" button.

<div data-with-frame="true"><figure><img src="/files/tKNQil6pUXcOF241eIpw" alt="Connect ActiveCampaign Account with Clearout for List verification"><figcaption></figcaption></figure></div>

{% endstep %}

{% step %}

### Add the email lists <a href="#plfp3" id="plfp3"></a>

Keep the email address lists clean by easily adding them from the ActiveCampaign account.\
\
After the successful login, **select the email list(s)** from the existing ActiveCampaign audience list. Then click on "**Add to My List**" to proceed with the audience list validations.

<div data-with-frame="true"><figure><img src="/files/VBMSfwQL2u72l1c2PIJR" alt="Select ActiveCampaign List to start verification"><figcaption></figcaption></figure></div>

{% endstep %}

{% step %}

### Verify the email address list <a href="#h8w70" id="h8w70"></a>

Once the audience list is successfully added, click on "**Verify**" to start validating the added ActiveCampaign list.

<div data-with-frame="true"><figure><img src="/files/lEijLnwm6C78BQNQrRyn" alt="Start ActiveCampaign List verification"><figcaption></figcaption></figure></div>

{% endstep %}

{% step %}

#### Export the verified results <a href="#qbdg2" id="qbdg2"></a>

Once the validation is completed, the user can choose how to export the verified list to the ActiveCampaign account. The user can export the result by choosing to unsubscribe, append, or otherwise select both.\
\
**Unsubscribe**: By choosing this option, you can unsubscribe the invalid/non-deliverable email addresses on the ActiveCampaign list automatically, which removes all the non-deliverables from the mailing list.\
\
**Append**: By choosing this option, you can export the result and append the Clearout columns with the original file in the ActiveCampaign account.

<div data-with-frame="true"><figure><img src="/files/EHDduzF3Kn9f8QE01Qjd" alt="Export verified list results to ActiveCampaign"><figcaption></figcaption></figure></div>

{% endstep %}

{% step %}

### Getting an error exporting the result file? Try the manual upload option

One of the challenges that has been reported by ActiveCampaign users is that they face difficulty in exporting the result file back to ActiveCampaign after validating it in Clearout. \
\
We are here with an alternate way to **help users during such temporary downtime from ActiveCampaign.**

{% embed url="<https://www.youtube.com/watch?v=GYq04qQxjI8>" %}
{% endstep %}
{% endstepper %}


# Moosend

Integrate Clearout with Moosend to verify and clean email lists

Reduce bounce rates, boost deliverability, and be confident your emails are landing in inboxes. This Clearout integration of **email verification with Moosend helps ensure that invalid and fake email addresses** are filtered out from your list before you hit send. You can securely import/export data between the two platforms using the integration.

{% embed url="<https://www.youtube.com/watch?v=6vBmFEEgGNc>" %}

## How to Verify emails in Moosend in Just 4 Simple Steps <a href="#gknle" id="gknle"></a>

{% stepper %}
{% step %}

### Connect account <a href="#keyqj" id="keyqj"></a>

After logging in to your Clearout account, go to the **Integration** page and select **Moosend**.&#x20;

Click on "**Add Account**" to add your Moosend account.&#x20;

A pop-up will be displayed asking for the **API Key and Account Name**. You can find the API Key and Account Name in the "**Settings**" section of your Moosend account under "**API Key.**"&#x20;

Once you feed in the Key details in Clearout, click on the "**Add Account**" button.

<div data-with-frame="true"><figure><img src="/files/Ruq73STMqPwOEAsu6rEz" alt="Connect Moosend account with Clearout for List verification"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Add the email lists

Keep the email address lists clean by easily adding them from the Moosend account.\
\
After the successful login, **select the list(s)** you wish to be verified from the linked Moosend account.

<div data-with-frame="true"><figure><img src="/files/4bTknsrJyugdjF5pdMjQ" alt="Select Moosend List to start verification"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Verify the email address list <a href="#h8w70" id="h8w70"></a>

Once the mailing list is successfully added, click on the "**Verify**" button to start validating the added Moosend list.

<div data-with-frame="true"><figure><img src="/files/KgNxczemZ8cvQErkVGRf" alt="Start Moosend List verification "><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Export the verified results <a href="#qbdg2" id="qbdg2"></a>

Once the validation is complete, the user can either **download the result** (in .CSV, .XLSX) or **directly export** it to the Moosend account.\
\
The user can export the result by selecting either "**unsubscribe**," "**append**," or **both**.\
\
**Unsubscribe**: By choosing this option, you can unsubscribe the invalid/non-deliverable email addresses on the Moosend list automatically, which removes all the non-deliverables from the mailing list.\
\
**Append**: By choosing this option, you can export the result and append the Clearout columns with the original file in the Moosend account.

<div data-with-frame="true"><figure><img src="/files/iJuRh5LKKCgsQ2SfnQ36" alt=""><figcaption></figcaption></figure></div>

{% endstep %}
{% endstepper %}


# Skylead

Integrate Clearout with Skylead to verify and clean campaign lists

This Clearout integration of **email verification with Skylead helps ensure that invalid and fake email addresses are blocked** before they get added to the Campaign list.&#x20;

Before diving into the setup instructions, watch the flow below to understand how the integration works from start to finish. This will make it easier for you to follow along and get started within minutes.

<div data-with-frame="true"><figure><img src="/files/5xwdh5xuF9BeLkyjfyiU" alt="Simple steps to validated Skylead list with Clearout"><figcaption></figcaption></figure></div>

{% stepper %}
{% step %}

### Connect account

* **Log in** to your Clearout account.
* Go to **Integrations** → Skylead → Connect.
* Enter your **Skylead API key** (found in Skylead **→** Accounts **→** Account Settings **→** Your API Key) to **authorize the connection**.

<div data-with-frame="true"><figure><img src="/files/OkqYvUReFgY0eFRkAHyc" alt="Connect Skylead account with Clearout for List verification"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Select Campaign List

After connecting, your Skylead **campaign lists** will appear automatically in Clearout. **Select the campaign list(s)** you wish to validate.

<div data-with-frame="true"><figure><img src="/files/If4psBIl4UX1UJdx7v7g" alt="Select Skylead campaign list start verification"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Verify Your List

Click "**Verify**" to start real-time validation. \
\
Clearout runs 20+ advanced checks to identify:

* Typos & syntax errors
* Disposable or temporary emails
* Bot or fake submissions
* Duplicate entries
* Invalid formats

<div data-with-frame="true"><figure><img src="/files/0VX9sR3lzVDamECCnSkX" alt="Start Skylead campaign list verification"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Export and Append validated results

Once validation is complete:

* **Download** the cleaned list in .CSV / .XLSX format
* Or **Export results** back to Skylead with a click
* You can **choose the columns** to be appended to your Skylead campaign list when exporting.

<div data-with-frame="true"><figure><img src="/files/HrYureczchH8kmbRSd4n" alt="export verified list results to Skylead"><figcaption></figcaption></figure></div>
{% endstep %}
{% endstepper %}

## Frequently Asked Questions

<details>

<summary>Do I need a Skylead account to use this integration?</summary>

Yes, you’ll need an active Skylead account to connect with Clearout.

</details>

<details>

<summary>How do I get my Skylead API key?</summary>

In Skylead, go to Accounts -> Account Settings -> Your API Key and copy it into Clearout when prompted.

</details>

<details>

<summary>Can I validate multiple Skylead campaign lists at once?</summary>

You can validate lists based on your active plan. The trial account comes with validating individual lists at a time and repeating the process for other lists as needed.

</details>

<details>

<summary>What happens to invalid contacts after validation?</summary>

You can remove them from your targeting in Skylead or keep them marked as invalid for reference.

</details>

<details>

<summary>Does Clearout update Skylead lists automatically after validation?</summary>

No, after validation is completed, you can export results back directly to Skylead.

</details>

<details>

<summary>Will validation impact existing campaign performance?</summary>

Not directly, but removing invalid leads before launch significantly improves deliverability and engagement.

</details>

<details>

<summary>How accurate is the validation?</summary>

Clearout offers up to 99% accuracy in detecting invalid, risky, disposable, or any bad emails.

</details>

<details>

<summary>Is my data secure?</summary>

Yes, Clearout processes your data securely and complies with data protection regulations.

</details>


# SendGrid

Integrate Clearout with SendGrid for email verification and list cleaning

Take advantage of SendGrid email verification integration with Clearout to clean the email list (contact list) from one or more SendGrid accounts.

## How to Verify Emails in SendGrid in Just 4 Simple Steps

{% stepper %}
{% step %}

#### Connect account

After logging in to your Clearout account, go to the **Integration** page and select **SendGrid**. \
\
Click on "**Add Account**" to add your SendGrid account. \
\
A pop-up will be displayed asking for the **API Key and Account Name**. You can find these details in your SendGrid account under the "**Developer**" tab in Settings. \
\
Once you feed in the Key details in Clearout, click on the "**Add Account**" button.

<div data-with-frame="true"><figure><img src="/files/NcJ1081CAKsQK1bQ51oM" alt="Connect SendGrid account with Clearout for List verification"><figcaption></figcaption></figure></div>

{% endstep %}

{% step %}

#### Add the email lists

Keep the email address lists clean by easily adding them from the SendGrid account.

After the successful login, **select the list(s)** you wish to be verified from the SendGrid account linked.

<div data-with-frame="true"><figure><img src="/files/3s3pgAq2IApwgSGLWTgr" alt="Select SendGrid List to start verification"><figcaption></figcaption></figure></div>

{% endstep %}

{% step %}

#### Verify the email address list

Once the audience list is successfully added, click on "**Verify**" to start validating the added audience list.

<div data-with-frame="true"><figure><img src="/files/iBRKMUPQC3Tf2wv4uVdz" alt="Start verification of the selected list"><figcaption></figcaption></figure></div>

{% endstep %}

{% step %}

#### Export the verified results

Once the validation is completed, the user can choose how to export the verified list to the SendGrid account. The user can export the result by choosing to unsubscribe or append else by selecting both.

**Unsubscribe:** User can download the result by unsubscribing the mail addresses, which will automatically remove all the non-deliverables from the list.

**Append:** User can download the result along with the original file, appending the selected status from the Clearout result file.

<div data-with-frame="true"><figure><img src="/files/nQFen9GihtHJsAqzC0fn" alt="Export verified list results to SendGrid"><figcaption></figcaption></figure></div>

{% endstep %}
{% endstepper %}

\ <br>


# Forms

Integrate Clearout with your web forms to validate email addresses and contact details in real time.

Forms connected through **website forms, lead capture tools, and marketing platforms** can automatically verify submissions as they happen. This prevents fake signups, disposable emails, and incorrect data from entering your systems, ensuring higher-quality leads and cleaner databases.


# Jotform

Integrate Clearout with Jotform for real-time email validation

**Jotform has a native integration of Clearout email validation** as the Clearout Widge&#x74;**,** and validation settings can be configured directly on the Clearout widget. The Clearout real-time email verifier will detect and reject:

* Misspelled and other invalid email addresses
* Role-based email addresses that have low value to your sales and marketing
* Temporary, disposable or throwaway emails that cause bounces
* Spam traps, which can damage your sender reputation and can get you blacklisted
* Gibberish emails, which are random email addresses created by spammers usually

{% embed url="<https://www.youtube.com/watch?v=DNUWx1yV_-E>" %}

{% stepper %}
{% step %}

### Discover Clearout Email Validation Widget

Log in to your [Jotform](https://www.jotform.com/) account & select your form. Click on "**Add form elements**" and navigate to widget section

<div data-with-frame="true"><figure><img src="/files/iaIJwcd8PKCyXGWO9Fdy" alt=""><figcaption></figcaption></figure></div>

{% endstep %}

{% step %}

### Add the Email validation field to your form <a href="#rj5bl" id="rj5bl"></a>

Search for "**Clearout,**" to select the **Clearout widget** for email validation. Simply **drag and drop** the widget to the form where you wish to add the email field. *(The label can be changed.)*

<div data-with-frame="true"><figure><img src="/files/kguPk6fnrrIcFVhU0kBo" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Customisation of the Clearout widget <a href="#rq2w3" id="rq2w3"></a>

Enabling "**Allow Risky Emails**" from the widget settings will allow you to further tailor the kinds of email addresses you need to accept from your form.

<div data-with-frame="true"><figure><img src="/files/BGV5QknPt7IQNMXbUUNE" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Create the API token <a href="#jrmgt" id="jrmgt"></a>

Go to your **Clearout account** and generate the unique [API token](https://app.clearout.io/developer/api/list).

Navigate back to the Jotform portal and paste the token generated earlier under the general settings and click on '**Update widget.**'

<div data-with-frame="true"><figure><img src="/files/MYCc9DQo41GTO6w1wr3l" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Conclusion <a href="#lelgl" id="lelgl"></a>

That's it. The form is **ready to filter out all invalid and bad leads** at the point of capture now.

<div data-with-frame="true"><figure><img src="/files/qTHlKSX8sbXnpiEeHplX" alt=""><figcaption></figcaption></figure></div>

{% endstep %}
{% endstepper %}


# Leadpages

Integrate Clearout with Leadpages for real-time email validation

The Clearout Form Guard supports the **simple integration of real-time email validation on Leadpages**. It helps to stop bad leads from getting into your Email list or CRM via Leadpages. \
\
A **form or landing page** created on Leadpages generally **doesn’t detect invalid email addresses** like disposable, spam-trap, gibberish, or role/group addresses or mis-typos, resulting in poor lead quality.

<div data-with-frame="true"><figure><img src="/files/bp0OgT0GrBBmjOYSPUGl" alt=""><figcaption></figcaption></figure></div>

**Embedding Clearout’s Form Guard in Leadpages** can detect such bad email addresses in real-time, **upgrading the quality of leads** and **increasing the deliverability rate** with better engagement.

## How It Works:

{% stepper %}
{% step %}
Go to the **Clearout account**, click on **Form Guard**. "**Create Guard**" and customise the validation checks. **Save** the Guard to generate the **JavaScript code snippet**.
{% endstep %}

{% step %}
**Add** the Clearout Form Guard snippet as part of the Leadpages script using **Settings** **→ Analytics →** Header tag

<div align="left" data-with-frame="true"><figure><img src="/files/BM4WCelxfooSmcNrMeio" alt="" width="270"><figcaption></figcaption></figure></div>

Once the complete script is embedded, the real-time verification will be active.&#x20;

> **Powered by Clearout** is visible in the trial version, which can be removed upon upgrading your account. The same process can be followed for pop-up forms as well.
> {% endstep %}
> {% endstepper %}

<div data-with-frame="true"><figure><img src="/files/RNkPgHFccEWDZFlQ6GOW" alt=""><figcaption></figcaption></figure></div>

Integrating the Leadpages forms/landing pages with the Clearout email verifier will add caliber to the lead capture flow/process.


# Quizell

The [Clearout Form Guard](/form-guard/overview) supports the **simple integration of real-time validation on** [**Quizell**](https://quizell.com/) **quizzes and forms**. Alongside **email verification**, Form Guard also validates **phone numbers** and **names** at the point of entry, ensuring every lead captured through your Quizell quizzes is accurate, reachable, and genuine.

By verifying leads in real-time, Form Guard helps you **capture only high-quality leads**, **improve email  deliverability**, and **drive stronger engagement** from your Quizell lead pages, keeping your CRM and marketing lists clean from the very first submission.

## How It Works

{% embed url="<https://youtu.be/nNpYztdWdhI?si=1MmEQfrSP3QJXeWW>" %}

{% stepper %}
{% step %}

### Prepare your Quizell quiz

Log in to [**Quizell**](https://app.quizell.com/login) and either **edit an existing quiz** or **create a new one**.

<div data-with-frame="true"><figure><img src="/files/463xcqAmloJRWXYbUDg7" alt=""><figcaption></figcaption></figure></div>

{% hint style="info" %}
Since Quizell uses non-standard HTML tags for its \*\<FORM/>\* container and the name input field does not use a standard HTML name attribute, the setup requires custom configurations to help Form Guard to detect and validate fields correctly.
{% endhint %}
{% endstep %}

{% step %}

### Enable Custom CSS

On the left side panel, click on the **"Code"** button and toggle **"Enable CSS"** to active. Click **"Save"** and refresh the page.

<div data-with-frame="true"><figure><img src="/files/DvvbbSwj5Cyn2PRDDWaB" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Set up your Lead Page

In the form builder, navigate to the **Lead Page** step and add the necessary fields (for example, **Email**, **Name**, and **Phone**).

<div data-with-frame="true"><figure><img src="/files/gcIFCCm0jcqVHLnYZrPI" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Assign a custom class to the Name field

Select the **Name** field and set the **"Custom Class"** to `clearout_name`.

<div data-with-frame="true"><figure><img src="/files/rgPVhUtBedEIuqSx5pto" alt=""><figcaption></figcaption></figure></div>

{% hint style="info" %}
Since **Name is not a standard field** in Quizell's form structure, assigning a custom class helps Form Guard correctly target and validate it.
{% endhint %}
{% endstep %}

{% step %}

### Create a Form Guard

Log in to your **Clearout Dashboard**, navigate to [**Form Guard**](https://app.clearout.io/form-guard/list), and click **"Create Guard"**. Give it a **name** and a **suitable description**, then click **Continue**.

<figure><img src="/files/ek5ZfmT1iGvdneVunNKU" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Configure validation settings

On the validation settings page, enable all the validations you need.

<div data-with-frame="true"><figure><img src="/files/ioSdNoztf6W0ro0Z6ydf" alt=""><figcaption></figcaption></figure></div>

{% hint style="info" %}
You can revisit this page anytime to customise your validation settings.
{% endhint %}
{% endstep %}

{% step %}

### Configure the Name field selector

If you have enabled **name validation**, click on **"Name"** and select **"Custom"** under **"Name Field Selection"**. Enter the following selector:

```javascript
div.clearout_name input
```

<div data-with-frame="true"><figure><img src="/files/LVMjChPEob7GYAiTZHSM" alt=""><figcaption></figcaption></figure></div>

Then click **Next**.
{% endstep %}

{% step %}

### Configure Advanced settings

On the **Advanced settings** page, select **"Custom"** under **"On Ready hook"** and enter the following code:

```javascript
window.clearout.options.form_discovery_duration = -1
window.clearout.options.form_elements = [
  {
    selector: 'div.quizell-page-main',
    options: { submit_button_selector: 'button.quizell-nextButton' }
  }
]
```

<div data-with-frame="true"><figure><img src="/files/AsCoqYDyKMcAUgK4cLb2" alt=""><figcaption></figcaption></figure></div>

{% hint style="info" %}
Since Quizell uses a non-standard form structure, we explicitly point Form Guard to the **form container** and the **submit button** using these jQuery selectors.
{% endhint %}
{% endstep %}

{% step %}

### Generate and copy the snippet

Click **"Create"** and then copy the generated **Code Snippet**.

<div data-with-frame="true"><figure><img src="/files/0CpQL0gts2IaCg6zJD39" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Embed the snippet in Quizell

Go back to the Quizell form builder and insert a **"Custom Script"** block. Paste the contents of the snippet you just copied.

<div data-with-frame="true"><figure><img src="/files/gsA03zMfU6yAeBKgRXQL" alt=""><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/DPdq1T8uTFVcReKIC1PC" alt=""><figcaption></figcaption></figure></div>

{% hint style="info" %}
Make sure to **remove the `<script>` and `</script>` tags** before saving — Quizell's Custom Script block does not need them.
{% endhint %}

Then click **"Compile and save"**.
{% endstep %}

{% step %}

### Save and preview

**Save** the quiz and **Preview** it to test that Form Guard's real-time validation is working correctly on your form fields.

<div data-with-frame="true"><figure><img src="/files/B5wGXdiVg8ZhZovbs81i" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Verify the validation behaviour

A **tick** or **cross** mark will appear next to each field based on the validation outcome. The form will be **prevented from submitting** until all entered data is valid.

<div data-with-frame="true"><figure><img src="/files/baZ9txLGuRPaGo4NYAAC" alt=""><figcaption></figcaption></figure></div>
{% endstep %}
{% endstepper %}

Integrating Quizell quizzes with the Clearout Form Guard adds caliber to your lead capture flow, ensuring only verified, high-quality leads make it into your CRM or email list.

## Customising Validation Settings

You can fine-tune how Form Guard validates each field type from the **Settings** page of your Guard. The validations can be enabled, disabled, or configured individually based on your lead quality requirements:

* [**Email Validation**](/form-guard/email-field-validation) — control checks for disposable, role-based, spam-trap, gibberish, and free email addresses, along with typo suggestions.
* [**Name Validation**](/form-guard/name-field-validation) — detect gibberish, fake, or incomplete names entered into the Name field.
* [**Phone Validation**](/form-guard/phone-field-validation) — verify phone number format, country, and line type to filter out invalid entries.

These settings can be updated at any time, and the changes take effect immediately without needing to re-embed the snippet.


# Ninja

Integrate Clearout with Ninja Forms for real-time email validation

Have you been receiving form entries with temporary or invalid email addresses?&#x20;

Avoid such bad and invalid email leads at the time of capture on your Ninja Forms with the help of Clearout Email Validator!

Using the **Clearout WordPress plugin** in Ninja Forms can detect and reject :

* Misspelled and other **invalid email** addresses
* **Temporary**, disposable, or throwaway emails that cause bounces
* **Spam traps**, which can damage your *sender's reputation, can get you blacklisted*
* **Gibberish emails**, which are random email addresses created by spammers, usually
* **Role-based** email addresses that have low value to your sales and marketing

{% embed url="<https://www.youtube.com/watch?t=1s&v=Ip_ZNIXUqiM>" %}

## Steps to integrate Ninja Forms with Clearout WordPress Plugin

{% stepper %}
{% step %}
**Log in** to your Clearout account, navigate to the ‘**Developer**’ section. Click on '**+Create API Token**,' add a name and description, then click **Create**.

<div data-with-frame="true"><figure><img src="/files/JgWJDHwoytKFhQAOIjXt" alt="Clearout API Token Creation for Ninja Form Integration"><figcaption></figcaption></figure></div>

You’ll see the API token. **Copy Clearout API Token**, then go back to your WordPress site.

<div data-with-frame="true"><figure><img src="/files/epN6GWhhD8ViHZ3756oh" alt="Copy Clearout API Token Creation for Ninja Form Integration"><figcaption></figcaption></figure></div>

{% endstep %}

{% step %}
Set up the Clearout Email Validator plugin. Go to your form **Settings** > **Clearout Email Validator** *(make sure you’ve activated the plugin)*, **paste** your Clearout API token.

Note: By default, the plugin will block role-based addresses and disposable addresses. You can allow either or both by choosing the checkboxes in the settings.&#x20;

You can also enable "**Accept only Business Address as valid**", which will override all the other settings.

<div data-with-frame="true"><figure><img src="/files/U3iPS87fzgf2DeYiJGWF" alt="WordPress settings of Clearout Email Validator Plugin"><figcaption></figcaption></figure></div>

{% endstep %}

{% step %}
Next, if you scroll down, navigate to find the '**Apply Validation**' as shown below. Select '**Ninja Forms**' for the email validation to perform.

<div data-with-frame="true"><figure><img src="/files/Z0zcBUOc9woDO8nFMe9w" alt="WordPress settings of Clearout Email Validator Plugin for Ninja Forms"><figcaption></figcaption></figure></div>

That’s it! \
\
Now, when performing a test on your form, it will no longer accept invalid email addresses. \
\
Shown below is **an example** of a Ninja form integrated with Clearout Email Validator. A Gmail address with a typing error has been identified in real-time as invalid, giving the message ‘*This email address is invalid or not allowed – please check.’*

<div data-with-frame="true"><figure><img src="/files/RODLLCzrejtkdalVSVL1" alt="Email Validation example on Fluent Forms"><figcaption></figcaption></figure></div>

{% endstep %}
{% endstepper %}


# Fluent

Integrate Clearout with Fluent Forms for real-time email validation

Have you ever wondered **how to prevent poor leads** from appearing in your CRM generated by Fluent Forms? **Fluent forms typically don't catch incorrect email addresses** like disposable, gibberish, spam-trap, role/group addresses, typos, which results in low-quality leads.

Upgrade the quality of leads by identifying and removing such invalid leads at the time of capture on Fluent Forms by integrating with Clearout Email Validator.

{% embed url="<https://www.youtube.com/watch?v=cGTn6Zdbapo>" %}

## Steps to integrate Fluent Forms with Clearout WordPress plugin <a href="#kedpr" id="kedpr"></a>

{% stepper %}
{% step %}
**Log in** to your Clearout account, navigate to the ‘**Developer**’ section. Click on '**+Create API Token**,' add a name and description, then click **Create**.

<div data-with-frame="true"><figure><img src="/files/JgWJDHwoytKFhQAOIjXt" alt="Clearout API Token Creation for Fluent Form Integration"><figcaption></figcaption></figure></div>

You’ll see the API token. **Copy Clearout API Token**, then go back to your WordPress site.

<div data-with-frame="true"><figure><img src="/files/EtoGV4HYkPHNewBUcBoU" alt="Copy Clearout API Token Creation for Fluent Form Integration"><figcaption></figcaption></figure></div>

{% endstep %}

{% step %}
Set up the Clearout Email Validator plugin. Go to your form **Settings** > **Clearout Email Validator** *(make sure you’ve activated the plugin)*, **paste** your Clearout API token.

Note: By default, the plugin will block role-based addresses and disposable addresses. You can allow either or both by choosing the checkboxes in the settings.&#x20;

You can also enable "**Accept only Business Address as valid**", which will override all the other settings.

<div data-with-frame="true"><figure><img src="/files/hsvgGLbbOHxYUoaOlnmN" alt="WordPress settings of Clearout Email Validator Plugin"><figcaption></figcaption></figure></div>

Navigate down to '**Apply Validation**' > Select **Fluent Form** > Click on **Apply** to activate the validation.

<div data-with-frame="true"><figure><img src="/files/A5JbIGTyZZmHR5yBt8Mv" alt="WordPress settings of Clearout Email Validator Plugin for Fluent Forms"><figcaption></figcaption></figure></div>

That's it!&#x20;

Shown below is **an example** of a Fluent Form integrated with Clearout, identifying an invalid email address in real-time

<div data-with-frame="true"><figure><img src="/files/oHzk24sfcLdpyCxm3433" alt="Email validation example on Fluent Forms"><figcaption></figcaption></figure></div>

{% endstep %}
{% endstepper %}


# Forminator

Integrate Clearout with Forminator for real-time email validation

Are your online forms collecting leads that are temporary, disposable, gibberish, role-based, or mistyped? Upgrade the quality of leads by identifying and removing such invalid email addresses at the time of lead capture on your Forminator Forms with the help of the Clearout Email Validator Plugin.

There are two ways to integrate:

* Directly through Clearout WordPress Plugin
* Using Clearout **Form Guard** on the form

{% embed url="<https://www.youtube.com/watch?t=1s&v=dW68KlMLrFk>" %}

## Option 1: Integrate using Clearout WordPress Plugin <a href="#h0tiy" id="h0tiy"></a>

{% stepper %}
{% step %}
**Log in** to your Clearout account, navigate to the ‘**Developer**’ section. Click on '**+Create API Token**,' add a name and description, then click **Create**.

<div data-with-frame="true"><figure><img src="/files/JgWJDHwoytKFhQAOIjXt" alt="Clearout API Token Creation for Forminator Form Integration"><figcaption></figcaption></figure></div>

You’ll see the API token. **Copy Clearout API Token**, then go back to your WordPress site.

<div data-with-frame="true"><figure><img src="/files/6bh9V4KxRC5oJUYI1niR" alt="Copy Clearout API Token Creation for Forminator Form Integration"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
Set up the Clearout Email Validator plugin. Go to your form **Settings** > **Clearout Email Validator** *(make sure you’ve activated the plugin)*, **paste** your Clearout API token.

Note: By default, the plugin will block role-based addresses and disposable addresses. You can allow either or both by choosing the checkboxes in the settings.&#x20;

You can also enable "**Accept only Business Address as valid**", which will override all the other settings.

<div data-with-frame="true"><figure><img src="/files/RyTk9xaXcpR9skSwsOjC" alt="WordPress settings of Clearout Email Validator Plugin"><figcaption></figcaption></figure></div>

{% endstep %}

{% step %}
Navigate down to '**Apply Validation**' > Select **Forminator Form** > Click on **Apply** to activate the validation.

<div data-with-frame="true"><figure><img src="/files/2soxi3oAwPAlE9rCsKrt" alt="WordPress settings of Clearout Email Validator Plugin for Forminator Form"><figcaption></figcaption></figure></div>

That's all! When you test your form now, it will not accept invalid email addresses.
{% endstep %}
{% endstepper %}

## Option 2: Integrate Using Clearout Form Guard <a href="#j2wot" id="j2wot"></a>

Embedding Clearout’s Form Guard in Forminator forms can detect disposable, invalid, and such bad email addresses in real-time, upgrading the quality of leads and turning your email lists into an army of raving, engaged super-fans!

{% embed url="<https://www.youtube.com/watch?v=-3JC0ZojnhI>" %}

{% stepper %}
{% step %}
Go to the **Clearout account**, click on **Form Guard**. "**Create Guard**" and customise the validation checks. **Save** the Guard to generate the **JavaScript code snippet**.
{% endstep %}

{% step %}
**Copy** the Clearout Form Guard snippet, move to the WordPress site → **All pages** section. **Select the form** where you want to embed the code.

<div data-with-frame="true"><figure><img src="/files/wUb5cqV4fhdxgGsg3seC" alt="WordPress All pages section to add Clearout Form Guard snippet"><figcaption></figcaption></figure></div>

{% endstep %}

{% step %}
**Create** a code block > **Paste** the Clearout Form Guard snippet & Click on **Update**.

<div data-with-frame="true"><figure><img src="/files/5EXhbZ34YMm5KmXeqtR9" alt="Create code block and paste Clearout Form Guard snippet"><figcaption></figcaption></figure></div>

{% endstep %}
{% endstepper %}

Shown below is **an example** of a Forminator form integrated with Clearout. An invalid Gmail address has been identified in real-time, giving the message ‘*Please enter a valid email address.*’

Try this effortless integration to ensure quality lead submissions!

<div data-with-frame="true"><figure><img src="/files/pVjR1PrNZdPazKBHOLUZ" alt=""><figcaption></figcaption></figure></div>


# Gravity

Integrate Clearout with Gravity Forms for real-time email validation

Use Clearout with **Gravity Forms** to validate email addresses in real time and stop fake, disposable, or invalid signups before they reach your lists or CRM.&#x20;

Install the [Clearout Email Validator plugin](https://wordpress.org/plugins/clearout-email-validator/) for WordPress and connect it to your Clearout account to start validating submissions from your Gravity Forms instantly.

<br>


# WS

Integrate Clearout with WS Form for real-time email validation

Take advantage of Clearout’s integration with WS Form to clean the email contacts in real time basis

Are your online forms collecting temporary, disposable, role-based, gibberish or mistyped leads?\
Identify and remove such invalid leads at the time of capture on WS Forms by integrating them with Clearout Email Validator.\
Now upgrade the quality of leads effortlessly.

## Steps To Integrate WS Forms With Clearout WordPress Plugin <a href="#l65tx" id="l65tx"></a>

{% stepper %}
{% step %}
**Log in** to your Clearout account, navigate to the ‘**Developer**’ section. Click on '**+Create API Token**,' add a name and description, then click **Create**.

<figure><img src="/files/JgWJDHwoytKFhQAOIjXt" alt="Clearout API Token Creation for Fluent Form Integration"><figcaption></figcaption></figure>

You’ll see the API token. **Copy Clearout API Token**, then go back to your WordPress site.

<figure><img src="/files/85RikfCIbRz3txdyfMs2" alt="Copy Clearout API Token Creation for WS Form Integration"><figcaption></figcaption></figure>

{% endstep %}

{% step %}
Set up the Clearout Email Validator plugin. Go to your form **Settings** > **Clearout Email Validator** *(make sure you’ve activated the plugin)*, **paste** your Clearout API token.

{% hint style="info" %} <mark style="color:$info;">**NOTE**</mark>:&#x20;

By default, the plugin will block role-based addresses and disposable addresses. You can allow either or both by choosing the checkboxes in the settings.
{% endhint %}

You can also enable "**Accept only Business Address as valid**", which will override all the other settings.

<figure><img src="/files/SdWpXRmSAYYEJEeFSsxH" alt="WordPress settings of Clearout Email Validator Plugin"><figcaption></figcaption></figure>

Navigate down to '**Apply Validation**' > Select **Forminator Form** > Click on **Apply** to activate the validation.

<figure><img src="/files/DwkqnkN17EgSdVVBM6JG" alt="WordPress settings of Clearout Email Validator Plugin for WS Form"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
We have a **Test** Plugin option at the bottom of the plugin settings page, allowing you to test the settings and see sample error messages.

<figure><img src="/files/lyuWKRaGyyr91XF33F0F" alt="Clearout WordPress plugin setup testing"><figcaption></figcaption></figure>

That's it! Below is **an example** of a WS Form integrated with Clearout, identifying an invalid email address in real-time.

<figure><img src="/files/7IIINf5CvVDfVJzpoJV3" alt="Clearout WordPress Plugin Integrated WS Form Test Sample"><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}


# Woorise

Integrate Clearout with Woorise for real-time form validation

Woorise is a widely used no-code form builder to create forms and capture leads using a drag-and-drop interface. But even the best-designed forms can still be exposed to spam, fake entries, and low-quality submissions, which can skew analytics, reduce campaign efficiency, and fill your CRM with contacts that never convert.

**Clearout Form Guard** adds a simple **plug-and-play real-time validation layer** to your forms with minimal setup. It **validates key fields like email, phone, and name** in real time, helping block bots, invalid data, and fake entries before they reach your database. The result is cleaner data and a form **system you can trust for accurate marketing and outreach**.

## Integration Steps

{% stepper %}
{% step %}

### Create a Form Guard in Clearout

Log in to your Clearout account and navigate to the **Form Guard** tab.\
Click Create Guard to start configuring your form protection.

Use the following configuration:

* **Form**: For a Standard HTML form, Form Guard will automatically detect it.
* **Email Field**: No customization required, Form Guard will auto-detect the email field.

<div data-with-frame="true"><figure><img src="/files/Narlsqo7i04LIyknZroc" alt="Customizing Email Validation on Form Guard for Real-time validation" width="563"><figcaption></figcaption></figure></div>

* **Phone Field**: No customization required, Form Guard will auto-detect the phone field.

<div data-with-frame="true"><figure><img src="/files/UUDnZ9D2DkZ4XaJbhh8D" alt="Customizing Phone Validation on Form Guard for Real-time validation" width="563"><figcaption></figcaption></figure></div>

* **Name Field**: Not a standard field used in Woorise; **custom selectors** will be required for Form Guard to detect it properly.

{% hint style="info" %}
Note: For any assistance, reach out to <us@clearout.io>&#x20;
{% endhint %}

<div data-with-frame="true"><figure><img src="/files/bzMqKICf4O9T9FgGZ2zH" alt="Customizing Name Validation on Form Guard for Real-time validation" width="563"><figcaption></figcaption></figure></div>

Complete the setup and **copy the code snippet** provided.

<div data-with-frame="true"><figure><img src="/files/poDFLULm6b5wJKe3QNhB" alt="" width="563"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Open Your Form in Woorise

Go to your Woorise account and select the page where your form is embedded, then click **Edit**.

<div data-with-frame="true"><figure><img src="/files/aJzrR4odMbKfEPyIyJe6" alt="Integrating Form Guard with Woorise Forms" width="563"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Add a Custom HTML Block and Paste the Form Guard Script

Click the “**+**” icon in the top-right corner and search for **Custom HTML**.

<div data-with-frame="true"><figure><img src="/files/4cMGT4KNeMxqvGYFXeVx" alt="Paste Form Guard snippet in custom HTML" width="563"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Paste the Form Guard Script

**Paste** the copied Clearout Form Guard script **and publish** the changes to activate Woorise form validation.
{% endstep %}
{% endstepper %}


# Automation

Zapier, Make, Pabbly automation workflows

Use **Automation (no-code integrations**) to connect Clearout to your favorite tools **without writing any code.**&#x20;

Platforms like [Zapier](/integrations/automation/zapier), [Make](/integrations/automation/make), Pabbly, and Integrately let you plug Clearout into CRMs, ESPs, forms, and internal systems in just a few clicks, so you can verify, find, and enrich contacts automatically as data flows between apps.


# Zapier

Integrate Clearout with Zapier to automate email verification and email finding

Use **Zapier + Clearout** to verify and find emails automatically in the tools you already use, without writing code.&#x20;

You can connect Clearout to 1,500+ apps so every new lead, signup, or contact is checked or enriched as it flows through your Zaps.

## How to Verify/Find emails in 5 steps <a href="#how-to-verify--find-emails-in-5-steps" id="how-to-verify--find-emails-in-5-steps"></a>

{% embed url="<https://www.youtube.com/watch?v=AGdoITK6zR8>" %}

{% stepper %}
{% step %}

### Connect with Zapier <a href="#oh178" id="oh178"></a>

To integrate Clearout via Zapier, you’ll need a Zapier account.​ If you don’t have one yet, [create a Zapier account.](https://zapier.com/app/login)

<div data-with-frame="true"><figure><img src="/files/6Iy8z9GlZPC5mVcVHtHA" alt="Connect Clearout via Zapier"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Create a new Zap <a href="#hjcie" id="hjcie"></a>

* **Log in** to your Zapier account.
* Click **Make a Zap!** to create a new Zap.
* Give your Zap a clear name *(for example, **Validate new leads with Clearout**)*

<div data-with-frame="true"><figure><img src="/files/fwe5M7UfJvPa9fPZzkg8" alt="Create a Zap to start integrating the tools with Clearout"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Set up a Trigger <a href="#pxict" id="pxict"></a>

Every Zap starts with a **trigger** that fires when something happens in another app. Example:​

* Choose **Google Sheets** as the trigger app.
* Select a trigger event, such as **New Spreadsheet Row**.
* Pick the spreadsheet and worksheet that contain the email addresses you want to process, then click **Continue**.

You can use any other trigger app (forms, CRM, Ads, etc.) the same way.

<div data-with-frame="true"><figure><img src="/files/cl07XtK0NBmKaQydBzQO" alt="Set Triggers on Zapier to validate new contact"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Select an Action <a href="#id-4ckhp" id="id-4ckhp"></a>

After the trigger, add Clearout as the **Action**:

* Click **+** to add an action.
* Search for **Clearout** and select it.​
* Choose one of the available actions:​

**Key actions**

* **Verify Email Address**\
  Validate an email address to assess its deliverability and quality. \
  \
  Clearout checks if it is valid, invalid, catch‑all, disposable, or risky so you can prevent bounces and protect sender reputation before outreach.

<div data-with-frame="true"><figure><img src="/files/mxSVY1fxH0SG1Nc6llRH" alt="Set Zapier Action with Clearout to Verify contacts" width="563"><figcaption></figcaption></figure></div>

* **Find Email**\
  **Discover** a professional, **pre‑verified email address** using a person’s name and company domain, with an AI‑driven **confidence score** that indicates the likelihood of the email being valid. \
  \
  This feature is particularly useful for lead enrichment, prospecting, and outbound workflows.

<div data-with-frame="true"><figure><img src="/files/671M7HDd0MA2rtiHYn0R" alt="Set Zapier Action with Clearout to Find Email" width="563"><figcaption></figcaption></figure></div>

{% hint style="info" %}
**Important note**&#x20;

Use Clearout Zap version ≥ 2.2.0 to avoid Zapier’s 30‑second action timeout. If you stay on an older version, longer‑running tasks may need Zapier’s webhook‑based callbacks. Otherwise, actions that run over 30 seconds may fail with “<mark style="color:$danger;">The app did not respond in‑time.</mark>”
{% endhint %}
{% endstep %}

{% step %}

### Connect your Clearout Account <a href="#ek9ur" id="ek9ur"></a>

* In the Clearout action step, click **Connect a new account**.​
* When prompted, paste your **Clearout API Token**.​

How to generate your Clearout API key:

* **Log in** to the Clearout Dashboard.
* Go to [**Developer → API**](https://app.clearout.io/developer/api/list).
* Click **Generate API Token**, give it a name, and copy the token.​
* **Paste** this token into Zapier and save the connection.

<figure><img src="/files/Rz0cENJwWrTHQOb21vbK" alt=""><figcaption></figcaption></figure>

Once connected, map the email fields from your trigger app into the Clearout action, test the Zap, and turn it on. From then on, Clearout will **automatically verify or find emails every time your Zap runs**.
{% endstep %}
{% endstepper %}


# Make

Integrate Clearout with Make for automated email verification and finding

**Make** is a visual automation platform that lets you build multi-step workflows between Clearout and almost any online service, without writing code. You can use it to automate tasks such as email verification and email discovery whenever data moves between your forms, CRMs, spreadsheets, and other tools.

## What Clearout Can Do in the Make

Clearout works with [Make](https://www.make.com/en/integrations/clearout) to provide you powerful email-related actions that you can use in your workflows. The two main actions you can do are

**1. Verify Email Address**

**2. Find Email Address**

These actions help you keep your data accurate and make outreach easier.

> We'll show you how to use Clearout's Verify Email Address action with Google Sheets in the steps below. You can do the same things for other Clearout actions.

## Setup Clearout on Make

{% stepper %}
{% step %}

### Create a new scenario <a href="#create-scenario" id="create-scenario"></a>

* **Log in** to your Make account.
* Click **Create a new scenario** to start building your workflow.

<div data-with-frame="true"><figure><img src="/files/PY9rccTxWdFf51iWylVl" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Set Up & Test Trigger Connection

Every scenario starts with a module (connector) that triggers the workflow. For example, using **Google Sheets**:​

* Add **Google Sheets** as the first module.
* Connect your Google account to Make.
* Select the spreadsheet file and worksheet that contains the email addresses, then click **OK** to proceed.

**To test the trigger**- click Run once in Make and then perform the trigger action by adding a new row in Google Sheets or updating an existing row, depending on your trigger type. The scenario will execute automatically and capture the trigger data. You can use other trigger apps (such as forms or CRM tools) in the same way.

<div data-with-frame="true"><figure><img src="/files/JQcFvWPBgG0dowCGHchf" alt="SEt trigger to validate email address of new contacts"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Add Clearout Action

After configuring your trigger:​

* Click **+** icon to add a new module
* Search for **Clearout** and select it
* Choose **Verify Email Address**
* Click **OK**

<div align="center" data-with-frame="true"><figure><img src="/files/YKbkpbXLZKQXLTrZYlEv" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Connect Your Clearout Account <a href="#connect-your-clearout-account" id="connect-your-clearout-account"></a>

After selecting the Clearout action:

* Click **Add** to create a new connection.​
* Paste your Clearout API Token when prompted

**Generate your API Token:**

* **Log in** to your Clearout Account.
* Go to [**Developer → API**](https://app.clearout.io/developer/api/list).
* Click **Create API Token** to generate a new token.
* Copy the token and paste it into the **Create a connection** popup in Make, then save.

<div data-with-frame="true"><figure><img src="https://docs.clearout.io/~gitbook/image?url=https%3A%2F%2F93738666-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FEXQQW0hsXyH0YD4ePoxb%252Fuploads%252FlpWlEJhkaEzM7aqZJUUg%252FScreenshot-5-1024x551.png%3Falt%3Dmedia%26token%3D285ec79b-0875-4bc3-a31c-c81997e4ac85&#x26;width=768&#x26;dpr=3&#x26;quality=100&#x26;sign=65d6ff8f&#x26;sv=2" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Test Google Sheets Workflow <a href="#test-workflow" id="test-workflow"></a>

**Example Workflow**

Using Google Sheets as the trigger:

* **Trigger:** New email added in Google Sheets
* **Action:** Clearout → Verify Email Address or Find Email Address
* **Result:** Output (verification status or found email) is updated back in the sheet

**Test the Scenario**

After all modules are configured:

1. Click **Run once** in Make to test the scenario.
2. Check the Clearout module output to view the results for each processed record.

<div data-with-frame="true"><figure><img src="/files/aTZ6uylUXx95pjj85xY4" alt="Configure and run the module to test the email validation"><figcaption></figcaption></figure></div>

From here, you can add more modules (filters, routers, CRM updates, notifications) to route data based on your workflow logic and fully **automate your process with Clearout and Make.**

View a sample scenario in [Make](https://www.make.com/en/templates/4330-watch-google-sheets-records-and-verify-emails-using-clearout)
{% endstep %}
{% endstepper %}


# Pabbly

Integrate Clearout with Pabbly to automate email verification

Use **Clearout with Pabbly Connect** to add email verification and related checks into your no‑code workflows across CRM, marketing, forms, billing, and internal tools.&#x20;

In just a few clicks, you can trigger Clearout to verify new leads, signups, or subscribers as they move between apps, so only valid, safe‑to‑send emails continue through your automations

[Explore the Clearout integration on Pabbly Connect](https://www.pabbly.com/connect/integrations/clearout/)<br>




---

[Next Page](/llms-full.txt/1)

