1. Home
  2. Integrations
  3. Sign-up form widget
  4. Typeform

Email validation for Typeform forms

The sign-up widget cannot run in Typeform: you cannot add your own script to a typeform, and an embedded typeform sits in an iframe on your page. Instead, send each response to a webhook, Zapier or Make and verify the address with the SimpleVerifier API after it is submitted.

Before you start

Webhooks and the Zapier connection are available in Typeform; check which of them your Typeform plan includes.

What to do instead

  1. In Typeform open your form, then Connect, then Webhooks, and add the URL of your endpoint. Or use Connect, then Zapier or Make.
  2. On your server, receive the response and find the email answer (the example below finds the first email address in the payload).
  3. Call the SimpleVerifier verify endpoint with your key from the server, never from the form.
  4. Act on the status: valid, risky or invalid. For example, tag invalid leads or skip sending them a welcome email.
webhook.js
// Receives the form platform's webhook, then checks the address with your key.
// SIMPLEVERIFIER_KEY stays on your server.
app.post("/webhooks/form", express.json(), async (req, res) => {
  res.sendStatus(200); // answer the webhook first; the check runs after
  const email = JSON.stringify(req.body).match(/[^\s"@\\]+@[^\s"@\\]+\.[^\s"@\\]+/)?.[0];
  if (!email) return;
  try {
    const r = await fetch(
      "https://simpleverifier.com/api/v1/verify?email=" + encodeURIComponent(email),
      { headers: { Authorization: `Bearer ${process.env.SIMPLEVERIFIER_KEY}` },
        signal: AbortSignal.timeout(10000) }
    );
    const { status } = await r.json(); // valid | risky | invalid
    if (status === "invalid") {
      // e.g. tag the lead, skip the welcome email, or ask the person for another address
    }
  } catch {
    // Timeout or network error: treat the address as unchecked, not as bad.
  }
});

Limits on Typeform

  • This runs after the person has submitted, so it cannot stop a bad address. It lets you flag or skip it afterwards.
  • Typeform's own email field only expects an address that looks valid; it does not tell you whether the mailbox exists.
  • Mailbox checks need a plan with API access.

Check that the mailbox exists

The check runs on your server or in a no-code tool, so your API key stays private. See the API docs, the full form widget page with Node, PHP and Python examples, and pricing.

Related: Zapier, Make.

Common questions

Can I add the widget script to a typeform?
No. Typeform gives you no place to add a script to the form, and an embedded typeform runs in an iframe that your page's scripts cannot reach.
What can I do instead?
Send responses to a webhook, Zapier or Make, call the API there, and use the status in your next step.
Does this stop people entering a bad email?
No. The check happens after submission. Use it to decide what happens next, such as asking the person for another address.
Is the form widget free?
Yes. The widget runs in the visitor's browser, needs no account or API key and has no usage limit. Checks that confirm the mailbox exists use the SimpleVerifier API from a server, which comes with Pro, Business and Agency, from $39/month.

All form platforms · All integrations

Clean your next list before it bounces

100 free email checks when you sign in with Google, no card. Then monthly plans from $9, or one flat price with fair use, never cut off.

100 free checks, no card Cancel anytime Secure payment by Stripe