Name + company in. Verified email out.
Give it "Jane Smith" and acme.com. Ravn works out how Acme writes its addresses, tries the likely ones and returns the one that checks out, with a confidence and the pattern it used.
What happens on every call.
The same tool answers over the REST API, the MCP server and the CLI.
- / 01
Read the company’s own site
Public addresses on the company website reveal its pattern: first.last, flast, first and so on.
- / 02
Build candidates
We generate the likely addresses for the name you gave, most likely first.
- / 03
Verify each one
Each candidate goes through the same checks as
validate_email. Catch-all domains are marked as such, not passed off as certain. - / 04
Return one answer
You get the best address, its risk score, the pattern and a confidence. If nothing checks out you get
not_foundand pay nothing.
One request. One answer shape.
Branch on status. A miss returns not_found and costs nothing. In Claude, just ask in plain English and it picks search_business_email_by_name for you.
curl https://api.askravn.com/v1/tools/search_business_email_by_name \
-H "Authorization: Bearer $RAVN_API_KEY" \
-d '{"name": "Jane Smith", "company": "acme.com"}'
{ "status": "ok",
"results": { "email": "jane.smith@acme.com", "pattern": "first.last",
"confidence": 0.97, "status": "valid", "risk_score": "A" } }
Do I pay when no email is found?
No. A miss returns not_found and the lookup comes straight back.
Can I run it over a spreadsheet?
Yes: npx ravn enrich leads.csv --tool search_business_email_by_name --map name=Name,company=Website --dry-run, then drop --dry-run.
Does it scrape LinkedIn?
No. It uses the company’s own website and mail servers. For people profiles, see people search.
Is it accurate on catch-all domains?
On catch-all domains no service can prove a mailbox exists. We return the best pattern match and mark it risky so you can decide.
More tools, same key.
Every tool shares one account, one plan and one answer shape. See pricing →