verified-net
Official Python client for the Verified.net API: email verification, phone validation, live carrier and porting lookups, IP intelligence, contact verification, reverse lookups and bulk jobs. No dependencies; Python 3.9+.
pip install verified-net
Quick start
Create an API key at app.verified.net and set it as VERIFIED_KEY.
from verified_net import Client, VerifiedError
client = Client() # or Client("vfy_live_...")
result = client.email("jane.doe@gmial.com")
print(result["recommendation"]) # {'action': 'review', 'reasons': ['possible_typo']}
print(result["did_you_mean"]) # jane.doe@gmail.com
phone = client.phone("(202) 456-1111", default_country="US")
print(phone["line_type"], phone["voip"])
try:
client.carrier("+12024561111")
except VerifiedError as e:
print(e.status, e.code, e.message, e.request_id)
Every result has recommendation.action: accept, review or reject, with reasons. Field reference:
verified.net/docs.
Methods
| Method | Endpoint | Credits |
|---|---|---|
email(address) |
POST /v1/email |
1 |
phone(number, default_country=None) |
POST /v1/phone |
1 |
carrier(number) |
POST /v1/carrier (US/Canada) |
3 |
ip(ip) |
POST /v1/ip |
1 |
contact(email, name=None, phone=None) |
POST /v1/contact |
1 |
reverse_phone(phone, tier="standard") |
POST /v1/reverse/phone |
10 / 25, only when found |
reverse_email(email) |
POST /v1/reverse/email |
10, only when found |
account() |
GET /v1/account |
free |
Invalid input is free, and the same value checked again within 7 days is free. Pass bypass_cache=True to force a
fresh (charged) check.
Bulk jobs
job = client.create_bulk_job("email", ["a@example.com", "b@example.org"])
job = client.wait_for_bulk_job(job["id"])
for item in client.bulk_results(job["id"]):
print(item["input"], item["status"], item["result"] and item["result"]["recommendation"]["action"])
open("results.csv", "wb").write(client.bulk_results_csv(job["id"]))
Types: email, phone, ip, carrier, reverse_phone, reverse_email. Up to 100,000 values per job.
create_bulk_job sends an Idempotency-Key, so retrying it after a network error never creates a second job.
webhook_url= gets a signed POST when the job finishes.
Errors and retries
API errors raise VerifiedError with status, code (insufficient_credits, rate_limited, unauthorized,
invalid_request, ...), message and request_id (quote it to support). A 429 is retried after Retry-After
(max_retries=2 by default); network errors are retried for reads and bulk job creation only, so a lookup is never
charged twice by a retry.
License
MIT
Metadata
Release files for verified-net 1.0.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 | |
|---|---|---|---|---|
| verified_net-1.0.0.tar.gz | 5.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| verified_net-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.3 kB
Release files / verified_net-1.0.0.tar.gz
| Download URL | verified_net-1.0.0.tar.gz |
|---|---|
| Size | 5.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fa5d6cab44cad0db553504e6149fb4fafca488590b042a46fb282627b90ee17d
|
|
BLAKE2b-256 checksum How to use checksums |
be3b230d41fb287af38cbe0c1f5aaebe07b5a03797c2cb1a488bf6650d6b2e25
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / verified_net-1.0.0-py3-none-any.whl
| Download URL | verified_net-1.0.0-py3-none-any.whl |
|---|---|
| Size | 6.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
475d6cda4cdc6a3e58c4ad0f007f9b3b5c4b4c0822369861667ba2f2d8295bb5
|
|
BLAKE2b-256 checksum How to use checksums |
a5f6a784718c3b61d1914d94e86c0b76afe2f1fee8aa4b3d3c17f1bd138da336
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Security for verified-net 1.0.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.