Name · Company → List · CRM
Find a work email address – without guessing.
First the person – name, role, company, LinkedIn –, then the address from data providers, then the check. There is no guessed address: Hunter measured in 2026 that 76 percent of email addresses produced by language models are invalid.
One call from Claude Code, n8n or ChatGPT
Person lookup at no credit cost · address charged only on a hit · check 0.3 credits
Example · fictional contacts, real prices
Watch it
Setup
Build this workflow.
First name, last name and company or domain – or a LinkedIn URL, or the other way round an address whose owner you want to know. From Claude Code, ChatGPT or n8n.
What does a run cost?
The person lookup costs no credits. The address from name and company: expected 2.39 credits, at most 9 credits ($0.32 on Pro) – charged only on a hit. The check 0.3 credits.
- Your agent by call
Identify the person
find_person returns candidates with role, company, LinkedIn and a confidence (high, medium, low) – no credits and no contact data. It also works in reverse: the person behind an address.
- ListPlus by call
Find the address
enrich_records asks several providers in turn. The price comes first in the answer (expected and at most); only a hit is charged.
- ListPlus by call
Check deliverability
verify_email confirms the mailbox exists. Catch-all stays as a hint.
- Your agent by call
Keep it
The result goes back to your agent; in a list you shared with it, the row is filled in place – with source and date per value.
With your agent
Give your agent this brief.
Every step needs the agent's sign-in (or a key); address and check also need workspace credits.
The same call from Claude Code, ChatGPT, Cursor or an n8n HTTP node – MCP and REST offer the same tools.
Agent guide (.md) ↗Find the work email of Mia Winter at HelioWorks. First find_person: show me the candidates with role and confidence. Ask me before you start enrich_records and name the price. Verify the found address with verify_email. Never guess an address.
Tools and sample call
find_person · enrich_records · verify_email · add_records
find_person({
"first_name": "Mia",
"last_name": "Winter",
"company": "HelioWorks"
})
enrich_records({
"records": [
{
"first_name": "Mia",
"last_name": "Winter",
"company_name": "HelioWorks"
}
],
"fields": [
"email"
],
"estimate": true
})
verify_email({
"emails": [
"<found_email>"
]
})Try it with your data
The person lookup deliberately returns no email – contact data only comes from enrichment and costs only when found. An address is a provider's hit, not proof the person still works there.