Email Deliverability Tester

Email Verification

by gooseworks-ai · MIT license · ★ 1,220 on GitHub · updated Sep 21

Email Verification cover

Verify if an email address is valid and deliverable

---
name: verify-email
description: Verify if an email address is valid and deliverable
source: orthogonal
---


# Email Verification

## Setup

Read your credentials from ~/.gooseworks/credentials.json:
```bash
export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")
```

If ~/.gooseworks/credentials.json does not exist, tell the user to run: `npx gooseworks login`

Overview

If ~/.gooseworks/credentials.json does not exist, tell the user to run: npx gooseworks login

Manual install (npx, ZIP)
Claude Codenpx skills add gooseworks-ai/goose-skills --skill verify-email -g -a claude-code
Claude Code (manual)mkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/gooseworks-ai/goose-skills/tar.gz/615c685f34f8 \ | tar -xz -C ~/.claude/skills --strip-components=4 goose-skills-615c685f34f8/skills/lead-generation/capabilities/verify-email
Windows (PowerShell)New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/fb430daed33072185841/verify-email.zip" -OutFile "$env:TEMP\verify-email.zip"; Expand-Archive "$env:TEMP\verify-email.zip" -DestinationPath "$HOME\.claude\skills" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md5.0 KB
  • skill.meta.json280 B
Read the files here
gooseworks-ai/615c6852 files
SKILL.md
Show the full text135 lines

Email Verification

Setup

Read your credentials from ~/.gooseworks/credentials.json:

export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")

If ~/.gooseworks/credentials.json does not exist, tell the user to run: npx gooseworks login

All endpoints use Bearer auth: -H "Authorization: Bearer $GOOSEWORKS_API_KEY"

Check if an email address is valid, exists, and can receive mail. Prevent bounces before sending.

When to Use

  • User wants to verify an email before sending
  • User asks "is this email address real?"
  • Cleaning an email list
  • Before cold outreach to avoid bounces
  • Validating user-provided email addresses

How It Works

Uses Hunter or Tomba APIs to verify email deliverability through multiple checks including syntax, domain, and mailbox verification.

Usage

Verify with Hunter
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"hunter","path":"/v2/email-verifier","query":{"email":"[email protected]"}}'
Verify with Tomba
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"tomba","path":"/v1/email-verifier","query":{"email":"[email protected]"}}'

Parameters

  • email (required) - The email address to verify

Response

Hunter Response

Returns data object:

  • status (string) - valid, invalid, accept_all, or unknown
  • score (integer) - Confidence score 0-100
  • result (string) - deliverable, undeliverable, or risky (deprecated — use status)
  • regexp (boolean) - Syntax is valid
  • gibberish (boolean) - Address looks random
  • disposable (boolean) - Temporary email service
  • webmail (boolean) - Free webmail provider (Gmail, Yahoo, etc.)
  • mx_records (boolean) - Domain has MX records
  • smtp_server (boolean) - SMTP server responds
  • smtp_check (boolean) - Mailbox exists on server
  • accept_all (boolean) - Server accepts all addresses
  • block (boolean) - Email is blocked
  • sources (array) - Web pages where this email was found
Tomba Response

Returns data.email object:

  • status (string) - valid, invalid, or accept_all
  • result (string) - deliverable, undeliverable, or risky
  • score (integer) - Confidence score 0-100
  • smtp_provider (string) - Email provider name (e.g., "Google Workspace")
  • mx (object) - records array of MX hostnames
  • mx_check, smtp_server, smtp_check (boolean) - Verification checks
  • accept_all, greylisted, block (boolean) - Server behavior flags
  • gibberish, disposable, webmail, regex (boolean) - Address quality checks
  • whois (object) - Domain registration: registrar_name, referral_url, created_date

Also returns data.sources array with uri, website_url, extracted_on, last_seen_on, still_on_page.

Result Types

Status Meaning Action
valid Mailbox exists and accepts mail Safe to send
invalid Mailbox doesn't exist or domain has no MX Don't send
accept_all Server accepts any address — can't confirm mailbox Send with caution
unknown Couldn't verify (timeout, greylisting) Verify manually

Examples

User: "Check if [email protected] is a real email"

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"hunter","path":"/v2/email-verifier","query":{"email":"[email protected]"}}'

User: "Verify [email protected] before I send my pitch"

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"tomba","path":"/v1/email-verifier","query":{"email":"[email protected]"}}'

Error Handling

  • 400 - Missing or malformed email parameter
  • 401 - Invalid API key — check orth auth
  • 429 - Rate limit exceeded — wait and retry
  • If both APIs return unknown, the mail server is likely blocking verification — try later
  • Tomba may return greylisted: true — means the server deferred; retry after a few minutes

Tips

  • Always verify emails before bulk sending to protect sender reputation
  • "Valid" doesn't guarantee delivery - content still matters
  • Role-based emails (info@, sales@) may be valid but less effective for outreach
  • Disposable emails (tempmail, etc.) are detected and flagged
  • Some corporate domains block verification - "unknown" doesn't mean invalid
1---
2name: verify-email
3description: Verify if an email address is valid and deliverable
4source: orthogonal
5---
6 
7 
8# Email Verification
9 
10## Setup
11 
12Read your credentials from ~/.gooseworks/credentials.json:
13```bash
14export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
15export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")
16```
17 
18If ~/.gooseworks/credentials.json does not exist, tell the user to run: `npx gooseworks login`
19 
20All endpoints use Bearer auth: `-H "Authorization: Bearer $GOOSEWORKS_API_KEY"`
21 
22 
23Check if an email address is valid, exists, and can receive mail. Prevent bounces before sending.
24 
25## When to Use
26 
27- User wants to verify an email before sending
28- User asks "is this email address real?"
29- Cleaning an email list
30- Before cold outreach to avoid bounces
31- Validating user-provided email addresses
32 
33## How It Works
34 
35Uses Hunter or Tomba APIs to verify email deliverability through multiple checks including syntax, domain, and mailbox verification.
36 
37## Usage
38 
39### Verify with Hunter
40 
41```bash
42curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
43 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
44 -H "Content-Type: application/json" \
45 -d '{"api":"hunter","path":"/v2/email-verifier","query":{"email":"[email protected]"}}'
46```
47 
48### Verify with Tomba
49 
50```bash
51curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
52 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
53 -H "Content-Type: application/json" \
54 -d '{"api":"tomba","path":"/v1/email-verifier","query":{"email":"[email protected]"}}'
55```
56 
57## Parameters
58 
59- **email** (required) - The email address to verify
60 
61## Response
62 
63### Hunter Response
64Returns `data` object:
65- **status** (string) - `valid`, `invalid`, `accept_all`, or `unknown`
66- **score** (integer) - Confidence score 0-100
67- **result** (string) - `deliverable`, `undeliverable`, or `risky` *(deprecated — use `status`)*
68- **regexp** (boolean) - Syntax is valid
69- **gibberish** (boolean) - Address looks random
70- **disposable** (boolean) - Temporary email service
71- **webmail** (boolean) - Free webmail provider (Gmail, Yahoo, etc.)
72- **mx_records** (boolean) - Domain has MX records
73- **smtp_server** (boolean) - SMTP server responds
74- **smtp_check** (boolean) - Mailbox exists on server
75- **accept_all** (boolean) - Server accepts all addresses
76- **block** (boolean) - Email is blocked
77- **sources** (array) - Web pages where this email was found
78 
79### Tomba Response
80Returns `data.email` object:
81- **status** (string) - `valid`, `invalid`, or `accept_all`
82- **result** (string) - `deliverable`, `undeliverable`, or `risky`
83- **score** (integer) - Confidence score 0-100
84- **smtp_provider** (string) - Email provider name (e.g., "Google Workspace")
85- **mx** (object) - `records` array of MX hostnames
86- **mx_check**, **smtp_server**, **smtp_check** (boolean) - Verification checks
87- **accept_all**, **greylisted**, **block** (boolean) - Server behavior flags
88- **gibberish**, **disposable**, **webmail**, **regex** (boolean) - Address quality checks
89- **whois** (object) - Domain registration: `registrar_name`, `referral_url`, `created_date`
90 
91Also returns `data.sources` array with `uri`, `website_url`, `extracted_on`, `last_seen_on`, `still_on_page`.
92 
93## Result Types
94 
95| Status | Meaning | Action |
96|--------|---------|--------|
97| **valid** | Mailbox exists and accepts mail | Safe to send |
98| **invalid** | Mailbox doesn't exist or domain has no MX | Don't send |
99| **accept_all** | Server accepts any address — can't confirm mailbox | Send with caution |
100| **unknown** | Couldn't verify (timeout, greylisting) | Verify manually |
101 
102## Examples
103 
104**User:** "Check if [email protected] is a real email"
105```bash
106curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
107 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
108 -H "Content-Type: application/json" \
109 -d '{"api":"hunter","path":"/v2/email-verifier","query":{"email":"[email protected]"}}'
110```
111 
112**User:** "Verify [email protected] before I send my pitch"
113```bash
114curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
115 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
116 -H "Content-Type: application/json" \
117 -d '{"api":"tomba","path":"/v1/email-verifier","query":{"email":"[email protected]"}}'
118```
119 
120## Error Handling
121 
122- **400** - Missing or malformed `email` parameter
123- **401** - Invalid API key — check `orth auth`
124- **429** - Rate limit exceeded — wait and retry
125- If both APIs return `unknown`, the mail server is likely blocking verification — try later
126- Tomba may return `greylisted: true` — means the server deferred; retry after a few minutes
127 
128## Tips
129 
130- Always verify emails before bulk sending to protect sender reputation
131- "Valid" doesn't guarantee delivery - content still matters
132- Role-based emails (info@, sales@) may be valid but less effective for outreach
133- Disposable emails (tempmail, etc.) are detected and flagged
134- Some corporate domains block verification - "unknown" doesn't mean invalid
135 
View all files on GitHub →

Details

Updated
Sep 21, 2026
License
MIT
Stars on the repo
★ 1,220
Checked
Source
gooseworks-ai/goose-skills ↗
Creator
gooseworks-ai · 205 listings
View creator

Similar skills

See all →
SkillCompany Firmographic Researchzubair-trabzada/ai-sales-team-claude · by zubair-trabzadaYou are the company research engine for /sales research <url>. You produce deep, structured intelligence on a prospect company covering 8…★ 1.4k GitHub starsSkillPeople Search Enginedanielmiessler/LifeOS · by danielmiesslerEthical people-finding and identity verification via parallel research agents across people-search sites, social media, public records, and reverse phone/email/image/username lookups, with confidence-scored results requiring 3+ matching identifiers. USE WHEN find person, locate person, reconnect, lost contact, old friend, reverse phone lookup, who owns this email, reverse image search, find by username, verify identity, people search, public-data background check, who is this caller. NOT FOR structured due-diligence or company/entity intelligence investigations, or general web research synthesis (use Research).★ 19.3k GitHub starsSkillApollo Lead Discoverygooseworks-ai/goose-skills · by gooseworks-aiTwo-phase Apollo.io prospecting: free People Search to discover ICP-matching leads, then selective enrichment to reveal emails/phones (credits per contact). Creates Apollo lists. Deduplicates against existing contacts by LinkedIn URL.★ 1.2k GitHub starsSkillDecision-Maker Findergooseworks-ai/goose-skills · by gooseworks-aiFind decision-makers at a specific company using Apollo, Crustdata, Fiber, and PDL people search via Gooseworks MCP. Given a company name and target titles, returns a list of contacts with name, title, LinkedIn URL, and location.★ 1.2k GitHub starsSkillCompany Funding Searchgooseworks-ai/goose-skills · by gooseworks-aiFind company funding history, investors, and investment details★ 1.2k GitHub starsSkillCompany Intelligence Reportsgooseworks-ai/goose-skills · by gooseworks-aiFull company intelligence report - overview, team, funding, products, news★ 1.2k GitHub stars

More from gooseworks-ai

SkillAd Angle Minergooseworks-ai/goose-skills · by gooseworks-aiMine the highest-converting ad angles from customer reviews, Reddit complaints, support tickets, and competitor ads. Extracts actual pain language, competitor weaknesses, and outcome phrases that real buyers use. Outputs a ranked angle bank with proof quotes and recommended ad formats per angle.★ 1.2k GitHub starsSkillAd Campaign Analyzergooseworks-ai/goose-skills · by gooseworks-aiAnalyze ad campaign performance data (Google, Meta, LinkedIn) to identify what's working, what's wasting budget, and specific cut/scale/test recommendations. Runs statistical analysis, funnel diagnostics, and multi-channel budget reallocation with specific dollar-amount shift recommendations and scenario modeling.★ 1.2k GitHub starsSkillLead Quality Analyzergooseworks-ai/goose-skills · by gooseworks-aiFor paid lead-gen and participant-recruitment ads, replaces vanity CPA with true CAC per qualified lead by joining ad-platform data with downstream funnel events, surfaces tracking gaps, and classifies every creative into Scale / Keep / Investigate / Cut.★ 1.2k GitHub starsSkillMessage Match Auditorgooseworks-ai/goose-skills · by gooseworks-aiAnalyze the message match between your ads and landing pages. Checks if the promise in the ad copy carries through to the landing page headline, body, and CTA. Flags disconnects that kill conversion rates. Works with Google, Meta, and LinkedIn ads.★ 1.2k GitHub starsSkillAI Search Visibilitygooseworks-ai/goose-skills · by gooseworks-aiCheck and improve your brand's visibility across AI search engines (ChatGPT, Perplexity, Gemini, Grok, Claude, DeepSeek). Set up tracking, run visibility analyses, audit your website for AI readability, and get actionable recommendations. Uses the npx goose-aeo@latest CLI.★ 1.2k GitHub starsSkillAmazon Product Searchgooseworks-ai/goose-skills · by gooseworks-aiSearch Amazon products - find items, compare prices, read reviews★ 1.2k GitHub stars