Agent skill, easy

Verify an email address, as a skill your agent installs.

Email verification API for an agent: it sends an email address to a catalog endpoint and reads deliverability status, catch-all flag and mail provider back. Several providers sell the call, so the agent tries the cheapest first. You pay per call, and a failed call costs nothing.

Give this to your agent
set up looot - https://looot.ai/skill.md

Install

How do I install this skill?

Two steps. Set up looot once, then save this skill file where your agent reads skills.

1. Set up looot once

Give this line to your agent
set up looot - https://looot.ai/skill.md

Works in Claude Code, Cursor, Codex and ChatGPT through MCP. Searching and inspecting are free.

2. Save the skill

Save the skill file for Claude Code
mkdir -p ~/.claude/agent-skills/looot-email-verification && curl -fsSL https://looot.ai/agent-skills/email-verification/SKILL.md -o ~/.claude/agent-skills/looot-email-verification/SKILL.md

Or open the raw SKILL.md and drop it into the skills folder of your own agent.

When it starts

What do I say to start this skill?

Any of these starts it. The agent asks for what is missing, nothing more.

  • Example prompt
    is jane.doe@example.com a real email

  • Example prompt
    verify this list of emails before I send

  • Example prompt
    check if this address will bounce

It asks for

  • The email address, or a list of them
  • Whether to treat catch-all domains as risky

It hands back

  • Deliverability status
  • Catch-all flag
  • Mail provider
  • Confidence score
  • Typo suggestion

Group addresses as deliverable, risky and undeliverable, and say how many are in each group.

How it runs

What does the agent do when it runs?

Four moves, in this order, with the price known before any money moves.

  1. Step 1

    Discover

    looot discover finds the endpoints that match the task. It is free.

  2. Step 2

    Inspect

    looot inspect shows the price and the exact input before anything is spent. It is free.

  3. Step 3

    Run

    looot run executes the call with an idempotency key, so a retry never charges twice. The agent reads the run status, not the HTTP code.

  4. Step 4

    Fall back

    On a provider error or a timeout the agent tries the next endpoint in the skill, cheapest first. It never retries a bad input elsewhere.

The file

What is inside the SKILL.md?

The whole file, as your agent reads it. No price is written in it: the agent reads the live price with looot inspect.

SKILL.md for Verify an email address
---
name: looot-email-verification
description: Verify an email address. Use when the user says things like "is jane.doe@example.com a real email", "verify this list of emails before I send" or "check if this address will bounce". Runs through looot, billed per call.
---

# Verify an email address

Email verification API for an agent: it sends an email address to a catalog endpoint and reads deliverability status, catch-all flag and mail provider back. Several providers sell the call, so the agent tries the cheapest first. You pay per call, and a failed call costs nothing.

This skill needs the looot skill set up first: https://looot.ai/skill.md

## Ask for these inputs

The job takes an email address. Example: jane.doe@example.com.

- The email address, or a list of them
- Whether to treat catch-all domains as risky

## Run it

1. Find the endpoint: `looot discover --mode auto --query "email verification"`. The endpoints listed below are the known matches.
2. Read the price and the input schema before spending: `looot inspect <endpoint-id>`. Tell the user the price, then run.
3. Run it: `looot run icypeas-email-verify --input '{"email":"jane.doe@example.com"}' --idempotency-key <new-key> --wait`. Reuse the same key only to retry the same request.
4. Read the run's `status` and `error`, not the HTTP status. A run can return `failed` with a normal response.
5. If a run fails with a provider error or times out, try the next endpoint from the list below, cheapest first. If it fails on your input (a 4xx style error), fix the input. Do not retry it on other providers.

## Endpoints

Each endpoint reads the same job from a different provider. They differ in inputs, fields and price. Run `looot inspect` on the ones that take the input you hold, start with the cheapest, and move to the next on a provider error.

- `icypeas-email-verify`: waits up to 60 seconds and returns FOUND or NOT_FOUND with a certainty and the MX details, with catch-all detection
- `leadmagic-email-verify`: returns an email status and the catch-all flag, plus company name, industry and size when it knows the domain
- `tomba-email-verifier`: returns status, result, score, accept_all, MX and SMTP checks, and the pages where the address was seen
- `hunter-email-verifier`: scores the address from 0 to 100 and lists the checks behind it, such as disposable, webmail, gibberish and SMTP
- `zerobounce-validate`: adds a did_you_mean typo suggestion, a free-mailbox flag and the age of the domain
- `findymail-api-verify`: returns verified as true or false with the mail provider, and uses one verifier credit on every attempt
- `anysite-api-emails-verify`: checks syntax, MX and mailbox, or returns a verdict already on file

## What comes back

- Deliverability status
- Catch-all flag
- Mail provider
- Confidence score
- Typo suggestion

## Answer rule

Group addresses as deliverable, risky and undeliverable, and say how many are in each group.

## Before you start

- Verify the address you plan to send to, not the one you guessed. A found address that was never verified is the usual cause of a bounce.
- Treat catch-all as its own result. Keep those rows apart and decide per campaign whether to send.
- Run the cheap check on the whole list first. Spend more only on rows the first provider could not settle.

## Cost rules

- Searching and inspecting are free. Running is billed per call at the price `looot inspect` shows.
- Say the price before the first run, and the total after a batch.
- Never loop a failing call. Stop after two failures and report what failed.

## When not to use this skill

Use `looot-find-professional-emails` instead when you have no address yet and need to find one first.

Page for people: https://looot.ai/agent-skills/email-verification

Wrong fit

When should I use a different skill?

Use Find a professional email when you have no address yet and need to find one first.

FAQ

What do people ask about this skill?

Send the address to a verification endpoint and read the status. Your agent picks the provider, and each one answers in its own fields. The endpoint's page lists the exact input, which is one email field for every provider on this page.

The same job as a page with the full price ladder: Email verification API for AI agents. Updated 2026-10-04.

For agents
skill
looot-email-verification
file
https://looot.ai/agent-skills/email-verification/SKILL.md
difficulty
easy
input
an email address
endpoint
icypeas-email-verify
endpoint
leadmagic-email-verify
endpoint
tomba-email-verifier
endpoint
hunter-email-verifier
endpoint
zerobounce-validate
endpoint
findymail-api-verify
endpoint
anysite-api-emails-verify
setup
https://looot.ai/skill.md
llms.txt
https://looot.ai/llms.txt
updated
2026-10-04

Try this skill with your own agent.

Start your workspace, top up, and save the skill where your agent reads it.