Email Verification in Google Sheets 2026 - 3 Methods Explained | BounceZero
BlogTutorials

Email Verification in Google Sheets 2026
3 Methods, Step by Step

Google Sheets is where most teams manage their prospect lists before loading them into a cold email sequencer. Verifying emails directly inside Sheets - without exporting, uploading to another tool, and re-importing - saves significant time. This guide covers three methods: the Apps Script approach (best for real-time verification), the bulk export/import workflow (best for large lists), and what not to use (formula-based checks that only validate format, not deliverability).

By BounceZero Team |July 2026 |10 min read
Method 1
Apps Script + BounceZero API - best for <500 emails in real time
Method 2
Bulk export/import - best for 500+ emails or large batches
Not recommended
ISEMAIL() formula - only checks format, not mailbox existence

Why ISEMAIL() Is Not Email Verification

⚠ This is the most common mistake

Google Sheets has an ISEMAIL() function. It returns TRUE if a string looks like a valid email address format (has an @ symbol, a domain, a TLD). It does NOT check whether the mailbox exists, whether the domain has working MX records, or whether the email will deliver. ISEMAIL("[email protected]") returns TRUE. Real email verification requires an SMTP-level check, which requires making an API call to an external service.

Method 1 - Apps Script + BounceZero API (Best for <500 emails)

This method calls the BounceZero real-time API for each email in your list and writes the result back to a column next to it. Setup takes about 5 minutes. Once the script is in place, verification runs on demand with a single menu click.

1
Get your BounceZero API key

Go to app.bouncezero.io > Settings > API. Copy your API key. You get 100 free credits on a new account - enough to verify 100 email addresses at no cost.

2
Open Apps Script in your Google Sheet

In Google Sheets, click Extensions > Apps Script. This opens the Apps Script editor. Delete any existing code in the editor.

3
Paste the verification script

Copy and paste the script below into the editor. Replace YOUR_API_KEY_HERE with your actual BounceZero API key. Click Save (⌘S or Ctrl+S).

4
Run the verification

Back in your Sheet, refresh the page. A new “BounceZero” menu will appear in the top menu bar. Click BounceZero > Verify Emails. The script will read all emails in column A and write results to column B.

5
Interpret the results

Valid = safe to send. Invalid = remove from list. Risky = inspect individually. Catch-all = check the score column for deliverability estimate (0-100). Unknown = could not determine; retry or exclude.

Google Apps Script
// BounceZero Email Verifier for Google Sheets
// Paste this in Extensions > Apps Script

const BOUNCEZERO_API_KEY = 'YOUR_API_KEY_HERE'; // Replace with your key

function onOpen() {
  SpreadsheetApp.getUi()
    .createMenu('BounceZero')
    .addItem('Verify Emails', 'verifyEmails')
    .addToUi();
}

function verifyEmails() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const emails = sheet.getRange('A2:A' + sheet.getLastRow()).getValues();

  // Write header
  sheet.getRange('B1').setValue('Verification Result');
  sheet.getRange('C1').setValue('Catch-All Score');

  for (let i = 0; i < emails.length; i++) {
    const email = emails[i][0];
    if (!email) continue;

    try {
      const url = 'https://api.bouncezero.io/v1/verify?email=' + encodeURIComponent(email);
      const options = {
        method: 'get',
        headers: { 'Authorization': 'Bearer ' + BOUNCEZERO_API_KEY },
        muteHttpExceptions: true
      };
      const response = UrlFetchApp.fetch(url, options);
      const data = JSON.parse(response.getContentText());

      sheet.getRange(i + 2, 2).setValue(data.result || 'unknown');
      sheet.getRange(i + 2, 3).setValue(data.catch_all_score ?? '');

      // Rate limit: 2 requests/second
      Utilities.sleep(500);
    } catch (e) {
      sheet.getRange(i + 2, 2).setValue('error');
    }
  }
  SpreadsheetApp.getUi().alert('Verification complete!');
}

Method 2 - Bulk Export/Import (Best for 500+ Emails)

For large lists, the Apps Script approach runs into Google’s 6-minute execution limit (free accounts). The bulk export/import workflow is faster for large volumes because BounceZero processes the entire list in parallel rather than sequentially.

1
Export email column from Sheets

In Google Sheets, select the email column. File > Download > CSV. Or use File > Download > Microsoft Excel if you want to keep multiple columns. The email column can be in any position - BounceZero auto-detects it.

2
Upload to BounceZero bulk verifier

Go to app.bouncezero.io > Bulk Verify. Upload the CSV file. BounceZero will detect the email column and process the list. Processing time depends on volume: 10,000 emails typically takes 5-15 minutes.

3
Download results CSV

When processing completes, download the results CSV. It contains the original email plus new columns: result, classification, catch_all_score, and reason.

4
Paste results back into Sheets

Open the results CSV. Copy the result columns. Paste them into your original Sheets document next to the email column using Paste Special > Values only (to avoid formatting issues). Use VLOOKUP or INDEX/MATCH to align on the email address if row order changed.

5
Filter and export clean list

In Sheets, filter column B (result) = “valid”. For cold email, also include catch-all addresses with score above 60. Export the filtered list and load into your sequencer.

Method Comparison

Criteria Apps Script Method Bulk Export/Import
Best for Up to 500 emails 500+ emails
Setup time 5 minutes (one-time) None (manual each time)
Stays inside Sheets Yes No (separate upload step)
Speed Sequential (1 per 0.5s) Parallel (entire list at once)
Technical skill needed Basic (paste a script) None
API credits used 1 per email 1 per email
Automation possible Yes (trigger on edit/time) No

New to verification? Start with the complete email verification guide.

Frequently Asked Questions

Can you verify emails in Google Sheets?

Yes. The most reliable method is using Google Apps Script to call the BounceZero API for each email address. This gives you real-time verification results (valid, invalid, risky, catch-all score) directly in a new column in your spreadsheet. A simpler alternative for small lists is the bulk export/import method: download the column as a CSV, upload to BounceZero, and paste the results back.

Is there a Google Sheets email verification formula?

There is no native Google Sheets formula for email verification. Formulas like ISEMAIL() only check email format (does it look like an email?) - they do not check whether the mailbox actually exists or delivers. Real email verification requires an SMTP-level check, which requires an API call via Apps Script or an external tool.

How many emails can you verify in Google Sheets at once?

With the Apps Script method, Google limits script execution to 6 minutes per run for free accounts (30 minutes for Workspace accounts). This limits single-run verification to roughly 100-500 emails depending on API response time. For larger lists (1,000+), use the bulk export/import workflow: download the column as CSV, upload to BounceZero for bulk processing, and paste results back.

Verify your Google Sheets list now

Export your list, upload to BounceZero, and get results in minutes. Or use our API key in Apps Script for real-time verification inside Sheets. 100 free credits, no card required.

Free tools & checkers

Single-email checks, no signup required