Netrionverify
§01

Get started in two curls.

Create a key, then post an email. Cache hits return in under 50ms. New emails that need SMTP typically resolve in 3–15s, but you'll get an immediate partial score either way — the tier tells you which layer answered.

# Create a key in the dashboard first.
# Then:
curl -X POST https://api.verification.netrionlabs.com/v1/verify \
  -H 'Authorization: Bearer ev_live_xxx...' \
  -H 'Content-Type: application/json' \
  -d '{"email":"john@ibm.com"}'
§02

Authentication

Pass your key as a Bearer token. Each key is hashed with SHA-256 in our database — we never store the raw value, which is why we can only show it once on creation. Rotate keys freely; active revocation takes effect immediately.

Authorization: Bearer ev_live_<48 hex chars>
rate limit · per minute
60
free plan · upgrade for higher limits
rate limit · per day
10,000
429 returned when exceeded
§03

Single verify

POST /v1/verify · blocks until resolved or 15s timeout

Returns a score 0–100, a letter grade A+/A/B/C/D/F, the tier that resolved it, and the individual signal contributions.

// request
{ "email": "john@ibm.com" }

// response
{
  "email": "john@ibm.com",
  "domain": "ibm.com",
  "score": 93,
  "label": "A+",
  "tier": "data_join",
  "duration_ms": 87,
  "smtp_status": "valid",
  "vendor_status": "Valid (Esp)",
  "employment_status": "current",
  "is_catch_all": false,
  "source_count": 3,
  "signals": {
    "vendor_esp_30d": 25,
    "smtp_valid_90d": 15,
    "employed_current": 12,
    "multi_source_3": 10,
    "pattern_strong": 5
  }
}
§04

Bulk verify

POST /v1/verify/bulk · async, up to 100K emails / job
curl -X POST https://api.verification.netrionlabs.com/v1/verify/bulk \
  -H 'Authorization: Bearer ev_live_xxx...' \
  -d '{
    "emails": ["a@x.com","b@y.com","c@z.com"],
    "webhook_url": "https://yourapp/webhook/verify"
  }'

// response: { "job_id": "...", "count": 3, "status": "queued" }

Poll GET /v1/verify/bulk/:id or supply a webhook URL. Results stream as they're scored — you won't wait for the whole batch.

§05

Scoring reference

Scores aren't opaque. Every response includes a signals object with the individual contributions so you know why.

grade
score
meaning
A+
90–100
Deliverable. Recent engagement + multi-source + employment confirmed.
A
75–89
Highly likely deliverable. Strong signals, no red flags.
B
60–74
Good. Use, but expect ~5–10% drop-off.
C
40–59
Usable with caution — often catch-all or limited signals.
D
20–39
Risky. Ship only if cost of false-positive is low.
F
0–19
Don't send. Confirmed invalid, dead domain, disposable, or hard-bounced.
§06

Errors & rate limits

401
Invalid or revoked API key.
402
Monthly quota exceeded. Upgrade plan.
429
Rate limit. Back off and retry with exponential delay.
400
Bad email syntax or missing fields.
500
Server error. Retry idempotently.