API infrastructure for AI agents.

Email verification

Our first product: one perfectly focused API, five verification layers, and a response schema that stays stable. OpenAPI spec at /openapi.json — AI coding tools read it and safely write your integration. EU-hosted. No bloated dashboards. Zero-friction onboarding. Just get your key and call the API.

More APIs coming — screenshots, PDFs, HTML→Markdown, and more.

MCP server available — connect Claude, Cursor, and other clients at mcp.truval.dev/mcp. Read MCP guide →

<300msP99 latency
50k+blocked domains
EUhosted · GDPR
5verify layers

Get started in one paste

// starter promptpaste into Claude, ChatGPT, Cursor, …
Integrate Truval email verification.

— Base URL: https://api.truval.dev
— OpenAPI spec (read first): https://api.truval.dev/openapi.json
— Endpoints: POST /v1/email/verify (real-time). For bulk, use /batch or /stream (see OpenAPI spec).
— Headers: Authorization: Bearer <TRUVAL_API_KEY>, Content-Type: application/json
— Body (sync): {"email":"<address>"} — optional "webhook" HTTPS URL returns 202 { job_id, status: "pending" } and POSTs the full result when done.

The user supplies TRUVAL_API_KEY from https://dash.truval.dev — never invent a key.

Use the response fields (200): email, valid, status, confidence, failed_check, disposable, role, free_provider, catch_all, smtp_blocked, mx_found, mx_host, suggestion, latency_ms.

Important: confidence is ordinal (not a probability). catch_all=true: do not treat valid=true as mailbox proof (~0.65). smtp_blocked with ~0.75 is expected for Gmail/Outlook/Yahoo. status=unknown with mx_found and not smtp_blocked (often ~0.50): SMTP inconclusive — ask user to confirm, not invalid.

Agents & IDEs

Compatible with Claude, ChatGPT, Gemini, Cursor, Windsurf, Grok, and similar tools.

request / response live processing
request.sh
curl https://api.truval.dev/v1/email/verify \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{"email":"user@example.com"}'
response.json · 187ms
{
  "email":          "user@example.com",
  "valid":          true,
  "status":         "deliverable",
  "confidence":     0.97,
  "failed_check":   null,
  "disposable":     false,
  "role":           false,
  "free_provider":  false,
  "catch_all":      false,
  "smtp_blocked":   false,
  "mx_found":       true,
  "mx_host":        "mail.example.com",
  "suggestion":     null,
  "latency_ms":     187
}
// why truval
01
agent-native
OpenAPI 3.1 spec at /openapi.json plus provisioning-key management APIs. Agents can self-provision runtime keys and manage usage without manual dashboard steps.
02
five layers, early exits
Syntax → disposable → MX → SMTP → signals. Bad addresses fail in under 5ms. Real addresses get a confidence score, not just true/false.
03
honest about limits
Gmail blocks SMTP probing from every third party. We tell you that with smtp_blocked: true and a tiered 0.75 confidence — not a fake "valid".
04
EU-hosted · GDPR
Data stored seamlessly in secure European data centers. Delivered globally with high availability and built-in redundancy layers.
05
typo detection
gnail.com → suggestion: "gmail.com". Agents can catch and resurface this logic to operators before a bounce happens. Edit distance checked.
06
predictable, tiered pricing
Free tier, then scale smoothly. No per-seat licenses. Choose a base capacity that fits your agents, with transparent pay-per-call overages.
// unified response schema · POST /v1/email/verify
emailstringAddress that was verified (echo of input).
validbooleantrue for deliverable/catch_all SMTP outcomes; use status and confidence with smtp_blocked for unknowns.
statusstringdeliverable · undeliverable · unknown · catch_all · invalid
confidencefloatOrdinal 0–1. 0.97 deliverable · 0.75 smtp_blocked · 0.65 catch-all · 0.50 inconclusive SMTP (mx ok) · 0.02 undeliverable · 0 invalid path.
failed_checkstring|nullLayer that failed; null if valid. syntax · disposable · no_mx · smtp · smtp_timeout.
disposablebooleanMatched against 50k+ throwaway domains (blocklist).
rolebooleanadmin@, info@, noreply@ — structurally deliverable but not a real person.
free_providerbooleangmail.com, yahoo.com, hotmail.com flag identifiers.
catch_allbooleanServer accepts all RCPT; mailbox existence not confirmable — treat valid with caution.
smtp_blockedbooleanTrue for providers like gmail, outlook, yahoo which block SMTP probing.
mx_foundbooleanMX records exist for the domain.
mx_hoststring|nullPrimary MX hostname when lookup reached MX; null otherwise.
suggestionstring|nullTypo correction, e.g. "gmail.com" when input was "gnail.com".
latency_msnumberEnd-to-end processing time in milliseconds.

Integrate in 60 seconds

Always free tier — 500 verification units per calendar month, no card footprint. When your agents scale, move to a paid tier with included billable volume and predictable overages.

// pricing infrastructure
zero500 units/mo · €0
builder5k billable/mo · €9
scale100k billable/mo · €49
overage€0.002 / €0.0012 per verification