Sales engagement

Check email domains, phone numbers and domain age in Instantly

Receive Instantly bounce events on your own endpoint and check the lead domain behind each one, so you can tell a dead domain from a one-off failure.

Why the data matters in Instantly

Instantly spreads cold sending across many mailboxes, and every mailbox that keeps hitting bad addresses loses sending health. A bounce event tells you an address failed but not why, so a whole dead domain looks the same as a single mistyped name until someone looks at the domain.

What LookValid checks

LookValid checks for Instantly
ProductWhat it does hereCredits
Email Domain CheckLooks at the domain of a bounced lead and reports whether it has mail servers and what its SPF and DMARC records say, which separates a dead domain from a mailbox that is simply gone. Flags throwaway and free-provider domains on leads that arrive from forms, so they are routed differently from company addresses. It cannot confirm that a mailbox exists.1 credit per address checked
Phone Numbering-Plan ValidationChecks a phone number, when your own lead record holds one, against its country numbering plan and returns the number type the plan assigns. It does not say whether the line is active.1 credit per valid number
Domain AgeReturns the registration date of a lead domain, which helps when a batch of leads all sit on domains created very recently.2 credits per registered domain (unregistered domains are free)

Connect it in four steps

  1. Sign up for LookValid and create an API key in the dashboard.
  2. Keep the key in the LOOKVALID_API_KEY environment variable of the service that receives the webhook, and put a shared secret in the custom headers field of the Instantly webhook so your endpoint can reject calls that do not carry it.
  3. When a bounce event arrives, pass the lead email to the function: it posts to the email-domain-check endpoint, returns nothing if no result was found, and throws the error code and fix if the API refuses the call.
  4. Store the three returned values next to the lead in your own table or CRM, and use them to suppress every lead on a domain that cannot receive mail instead of waiting for each address to bounce.

the HTTPS endpoint you register as the target URL of an Instantly webhook for bounce events The call is POST https://YOUR_API_HOST/v1/email-domain-check and costs 1 credit per address checked.

classifyInstantlyBounce.mjs
const API_URL = "https://YOUR_API_HOST/v1/email-domain-check";
​
export async function classifyInstantlyBounce(value) {
  const response = await fetch(API_URL, {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.LOOKVALID_API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      "email": value,
    }),
  });
  const result = await response.json();
  if (!response.ok) throw new Error(`${result.error.code}: ${result.error.fix}`);
  if (!result.found) return null;
  return {
      "domain_receives_mail": result.data?.has_mx ?? null,
      "address_signal": result.data?.deliverability_signal ?? null,
      "throwaway_domain": result.data?.disposable ?? null,
  };
}
Where each response field goes in Instantly
Response fieldGoes into
data.has_mxdomain_receives_mail
data.deliverability_signaladdress_signal
data.disposablethrowaway_domain

The recipe returns nothing when the lookup finds nothing, which costs no credits for this product, and stops with the error code and fix on a failed request.

Without code

Instantly can post events to any URL, so a generic HTTP request step in an automation platform can act as the receiver. Use the platform catch-hook trigger as the webhook target, add a step that sends the lead email from the bounce event to the email-domain-check endpoint with your key in a bearer header, and finish with a step that marks the lead or its domain in your sheet or CRM. No dedicated app is required.

REST and MCPOne shared credit balance

Questions

How many credits does one bounce check use?

One lookup draws credits from your LookValid balance. See the pricing page for the current amount per product.

Can the check tell me why an address bounced?

Not the individual reason. It tells you about the domain, such as missing mail servers or a throwaway provider, which explains a whole group of bounces. It never contacts the mail server.

Where do I store the LookValid key for a webhook receiver?

In an environment variable on the service that receives the webhook. The shared secret that proves a call came from Instantly is a separate value, set in the webhook headers.

Sources

LookValid is run by Meralume Labs. It is not connected to, endorsed by or a partner of any company or product named on this page, and every product name belongs to its owner.

LookValid bills every lookup in credits from one shared balance, so the same key works for each check above.

See Email Domain Check