# How to Verify Emails in Google Sheets & Make.com Automatically (Free Apps Script & HTTP Guide)

> Verify emails directly inside Google Sheets using our free Apps Script (=MAILVERI_VERIFY(A2)) or automate bulk sheet cleaning in Make.com for $0.00059/email ($59 per 100K).

- **Author**: Alex, Co-Founder
- **Published**: 2026-07-09 (Updated: 2026-10-29)
- **Source**: https://mailveri.com/blog/how-to-verify-emails-in-google-sheets-apps-script-make
- **AI Reference**: https://mailveri.com/llms-full.txt

---

For growth marketers, outbound agencies, and indie founders, **Google Sheets** is often the central staging ground for scraped B2B prospects, webinar registrations, and CRM exports. Yet exporting CSVs, uploading them to a separate tool, and re-importing filtered columns every day creates version-control chaos—while third-party Google Workspace Marketplace add-ons routinely charge **$0.005 to $0.01 per row** ($500 to $1,000 for 100,000 emails).

In this step-by-step guide, we show you how to verify emails directly inside Google Sheets at **$0.0002 to $0.00059 per email ($59 per 100,000 credits)** using two zero-markup methods:

1. **Method 1 (Native Google Apps Script):** Paste a 30-line script into your spreadsheet to unlock the custom `=MAILVERI_VERIFY(A2)` formula with automatic 6-hour cell caching.
2. **Method 2 (Make.com Watch Rows Automation):** Automatically verify every new row added to Google Sheets via Make.com’s `HTTP - Make a request` module and route `VALID` leads into Instantly, Smartlead, or HubSpot.

## 1. Cost Comparison: Google Workspace Marketplace Add-Ons vs. Direct API

Most “1-click” email verifier extensions in the Google Workspace Marketplace act as middlemen that mark up verification credits by 5x to 15x and expire unused monthly quotas:

| Google Sheets Verification Method | Cost for 10,000 Rows | Cost for 100,000 Rows | Credit Expiration Policy |
| --- | --- | --- | --- |
| Typical Marketplace Add-Ons (ZeroBounce / Hunter Sheets) | $80 – $149 | $400 – $649 | Monthly subscription quotas expire; add-on rate limits stall large sheets |
| MailVeri + Free Apps Script / Make.com | $9$0.0009/row | $59$0.00059/row | Credits never expire (Universal Lifetime) |

## 2. Method 1: Verify Emails in Google Sheets with Apps Script (Zero Add-On Fees)

You can add a native `=MAILVERI_VERIFY(A2)` formula to any Google Sheet in under two minutes:

1. Open your Google Sheet and click **Extensions → Apps Script**.
2. Click the gear icon (**Project Settings**) on the left sidebar, scroll to **Script Properties**, and add a property named `MAILVERI_API_KEY` with your key from the [MailVeri Dashboard](https://app.mailveri.com/accounts/signup/) (1,000 free credits included).
3. Paste the following script into `Code.gs` (or download our full menu-driven script from the [Google Sheets Integration Page](https://mailveri.com/integrations/google-sheets)):

```javascript
/**
 * MailVeri Google Sheets Custom Function & Bulk Verifier
 * Usage in any cell: =MAILVERI_VERIFY(A2)
 * Set your API key in Project Settings -> Script Properties -> MAILVERI_API_KEY
 */
function MAILVERI_VERIFY(email) {
  if (!email || typeof email !== 'string' || email.indexOf('@') === -1) {
    return 'EMPTY_OR_INVALID';
  }

  var cache = CacheService.getScriptCache();
  var cacheKey = 'mv_' + email.trim().toLowerCase();
  var cached = cache.get(cacheKey);
  if (cached) return cached;

  var apiKey = PropertiesService.getScriptProperties().getProperty('MAILVERI_API_KEY');
  if (!apiKey) {
    return 'ERROR: Set MAILVERI_API_KEY in Script Properties';
  }

  var response = UrlFetchApp.fetch('https://api.mailveri.com/v1/verify-mail/', {
    method: 'post',
    contentType: 'application/json',
    headers: { Authorization: 'Bearer ' + apiKey },
    payload: JSON.stringify({ email: email.trim() }),
    muteHttpExceptions: true
  });

  var data = JSON.parse(response.getContentText());
  var status = data.status || 'UNKNOWN';
  cache.put(cacheKey, status, 21600); // Cache verdict for 6 hours
  return status;
}
```

Because Google Sheets recalculates custom formulas when a sheet is reopened, the script uses `CacheService.getScriptCache()` to cache each email’s verification status. For sheets larger than 2,000 rows, use the **MailVeri → Verify Selected Rows** menu button in our downloadable [google-sheets-mailveri.js template](https://mailveri.com/templates/google-sheets-mailveri.js), which writes static values directly into Column B so formulas never re-trigger.

## 3. Method 2: Automate Google Sheets + Make.com Email Verification

If new leads flow into your Google Sheet continuously from Facebook Lead Ads, Typeform, Tally, or Apollo scrapers, connect [Make.com](https://mailveri.com/integrations/make) to verify each row in real time before it reaches your CRM or cold outreach sequencer:

1. **Module 1 (Google Sheets — Watch New Rows):** Trigger when a new prospect row is appended.
2. **Module 2 (HTTP — Make a request):** Send a `POST` request to `https://api.mailveri.com/v1/verify-mail/` with `Parse response: Yes`:

```http
POST https://api.mailveri.com/v1/verify-mail/
Authorization: Bearer YOUR_MAILVERI_API_KEY
Content-Type: application/json

{
  "email": "{{1.email}}"
}
```

1. **Module 3 (Google Sheets — Update a Row):** Write `{{2.data.status}}` and the normalized address `{{2.data.mail}}` back to your spreadsheet.
2. **Module 4 (Router):** Route rows where `status == "VALID"` into [Instantly](https://mailveri.com/integrations/instantly), [Smartlead](https://mailveri.com/integrations/smartlead), or [HubSpot](https://mailveri.com/integrations/hubspot), while suppressing `INVALID`, `DISPOSABLE`, and `FULL_INBOX` contacts so your hard bounce rate stays strictly below 2%.

## 4. Frequently Asked Questions

### What is Google Apps Script’s daily UrlFetchApp quota for Google Sheets?

Standard Gmail accounts can make up to 20,000 `UrlFetchApp` calls per day, and Google Workspace business accounts can make up to 100,000 calls per day. For lists above 50,000 rows, we recommend uploading the CSV directly to the [MailVeri Bulk Dashboard](https://app.mailveri.com) (which processes up to 1,000,000 rows per batch asynchronously).

### Does Make.com charge extra credits to call MailVeri’s HTTP API?

No. Make.com only counts 1 standard scenario operation for the `HTTP - Make a request` module, and MailVeri deducts 1 credit ($0.0002 to $0.0009) per verification check with lifetime non-expiring credits. Explore our dedicated [Google Sheets Integration](https://mailveri.com/integrations/google-sheets) and [Make.com Integration Guide](https://mailveri.com/integrations/make), or compare workflow setups in [n8n Email Verification Automation](https://mailveri.com/blog/how-to-automate-email-verification-n8n-cold-email-workflow) and [Zapier Email Verification](https://mailveri.com/blog/how-to-verify-emails-in-zapier).
