langchain-verifly
LangChain integration for Verifly — agent-native email verification.
langchain-verifly gives any LangChain agent a single, well-described tool to
check whether an email address is real and deliverable before it sends a
message or accepts a signup. It wraps the Verifly verification API and returns a
clean, structured verdict (deliverable / undeliverable / risky), the reason, a
confidence score, and an actionable send-or-reject recommendation.
Installation
pip install -U langchain-verifly
Setup
Set your Verifly API key in the environment. You can self-onboard for a key (with free credits) at verifly.email.
export VERIFLY_API_KEY="vf_..."
Tool: VeriflyEmailVerifier
A LangChain BaseTool with both sync and async support.
from langchain_verifly import VeriflyEmailVerifier
verifier = VeriflyEmailVerifier() # reads VERIFLY_API_KEY from the environment
verifier.invoke({"email": "lead@example.com"})
{
"email": "lead@example.com",
"result": "deliverable",
"reason": "Mailbox exists",
"confidence": 95,
"is_valid": True,
"recommendation": "send",
"did_you_mean": None,
"details": {
"syntax_valid": True,
"domain_exists": True,
"mx_records": True,
"smtp_valid": True,
"is_disposable": False,
"is_role_account": False,
"is_catch_all": False,
"is_free_provider": False,
"provider": "example.com",
},
}
Async works too:
await verifier.ainvoke({"email": "lead@example.com"})
You can also pass the key explicitly instead of using the environment variable:
verifier = VeriflyEmailVerifier(api_key="vf_...")
Use it in an agent
from langchain.agents import create_react_agent # or any agent constructor
from langchain_verifly import VeriflyEmailVerifier
tools = [VeriflyEmailVerifier()]
# ... wire `tools` into your agent / model.bind_tools(tools) as usual
The agent can now verify an address on its own — for example, scrubbing a lead list, validating a user-supplied email at signup, or confirming a contact before drafting an outreach email.
Verdict fields
| Field | Meaning |
|---|---|
result |
deliverable, undeliverable, or risky |
reason |
Human-readable explanation of the verdict |
confidence |
Confidence score, 0–100 |
is_valid |
Whether the address is considered valid/usable |
recommendation |
send, do_not_send, or risky |
did_you_mean |
A suggested correction for likely typos, if any |
details |
Syntax / domain / MX / SMTP / disposable / role / catch-all / free-provider flags |
License
MIT
Metadata
Release files for langchain-verifly 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| langchain_verifly-0.1.0.tar.gz | 6.3 kB | Without provenance | Details for langchain_verifly-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| langchain_verifly-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for langchain_verifly-0.1.0-py3-none-any.whl |
Total release size: 12.6 kB
Release files / langchain_verifly-0.1.0.tar.gz
| Download URL | langchain_verifly-0.1.0.tar.gz |
|---|---|
| Size | 6.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bc82a0e5c58745d3f2941fd113fa59bbdf124def6df8c2c5e767be6346d6cee4
|
|
BLAKE2b-256 checksum How to use checksums |
4620fa0c61dd5b2830620998f5d47c1b46639ba897f36f41b9a38ea454050297
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.12
|
Release files / langchain_verifly-0.1.0-py3-none-any.whl
| Download URL | langchain_verifly-0.1.0-py3-none-any.whl |
|---|---|
| Size | 6.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dee0ff04234e5edb78f9abd33d8af67234b1f5e687d38d16e7479719b49a041d
|
|
BLAKE2b-256 checksum How to use checksums |
9ad40f018c0fa7842390fe02129780668d554659bcb1dbd9849e49da6996c52b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.12
|
Security for langchain-verifly 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.