veriastra
Developers

API Documentation

One REST API for email, IP, domain, and phone validation. JSON in, JSON out, in milliseconds.

Getting started

  • Base URL: https://veriastra.com/api — or pin a version with /api/v1
  • Auth: pass Authorization: Bearer <api-key> (free tools are unauthenticated & rate-limited)
  • Content-Type: application/json
  • Credits: core validations = 1 credit; enrichment 3–40 (one universal balance)
Python
import requests

r = requests.post(
    "https://veriastra.com/api/v1/verify-email",
    headers={"Authorization": "Bearer ol_live_..."},
    json={"email": "[email protected]"},
)
print(r.json())
Node.js
const res = await fetch(
  "https://veriastra.com/api/v1/verify-email",
  {
    method: "POST",
    headers: {
      Authorization: "Bearer ol_live_...",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({ email: "[email protected]" }),
  },
);
console.log(await res.json());
POST/api/verify-emailLive

Email Validation

Syntax, MX/DNS, SMTP mailbox probe, disposable & role detection, deliverability score.

Request
curl -X POST https://veriastra.com/api/verify-email \
  -H "Content-Type: application/json" \
  -d '{"email":"[email protected]"}'
Response
{
  "email": "[email protected]",
  "deliverable": true,
  "score": 80,
  "rows": [
    { "label": "Syntax (RFC 5322)", "value": "Valid", "tone": "ok" },
    { "label": "MX record", "value": "mx.example.com", "tone": "ok" },
    { "label": "Disposable", "value": "No", "tone": "ok" }
  ]
}
POST/api/lookup-ipLive

IP Intelligence

Geolocation, ASN/ISP, datacenter & Tor detection, risk score. Omit 'ip' for the caller's own IP.

Request
curl -X POST https://veriastra.com/api/lookup-ip \
  -H "Content-Type: application/json" \
  -d '{"ip":"8.8.8.8"}'
Response
{
  "ip": "8.8.8.8",
  "signals": { "country": "United States", "asn": 15169, "datacenter": true, "risk": 50 },
  "rows": [
    { "label": "Location", "value": "Mountain View, California, United States" },
    { "label": "ISP / Org", "value": "Google LLC" },
    { "label": "Proxy / VPN / Tor", "value": "Likely proxy/VPN (datacenter)" }
  ]
}
POST/api/lookup-domainLive

Domain Intelligence

DNS/MX, HTTPS reachability, security headers, tech-stack detection, site health.

Request
curl -X POST https://veriastra.com/api/lookup-domain \
  -H "Content-Type: application/json" \
  -d '{"domain":"example.com"}'
Response
{
  "domain": "example.com",
  "signals": { "reachable": true, "https": true, "hasMx": true, "healthScore": 100 },
  "rows": [
    { "label": "Tech stack", "value": "Next.js, React" },
    { "label": "Security headers", "value": "5/5 (HSTS, CSP, ...)" }
  ]
}
POST/api/lookup-phoneLive

Phone Validation

Validation, E.164 formatting, country, line type. Carrier/DNC/HLR require a telecom data source.

Request
curl -X POST https://veriastra.com/api/lookup-phone \
  -H "Content-Type: application/json" \
  -d '{"phone":"(415) 555-2671","country":"US"}'
Response
{
  "signals": { "valid": true, "country": "US", "e164": "+14155552671" },
  "rows": [
    { "label": "Status", "value": "Valid" },
    { "label": "Country", "value": "US (+1)" },
    { "label": "Line type", "value": "Mobile or landline" }
  ]
}
POST/api/fraud-scoreLive

Fraud Score

Unified 0-100 fraud risk from combined email, IP, and phone signals.

Request
curl -X POST https://veriastra.com/api/fraud-score \
  -H "Content-Type: application/json" \
  -d '{"email":"[email protected]","ip":"8.8.8.8","phone":"+14155552671"}'
Response
{
  "score": 30,
  "level": "low",
  "reasons": ["IP is datacenter/hosting (possible proxy/VPN)"],
  "components": [ { "signal": "ip", "risk": 50 } ]
}
POST/api/bulkLive

Bulk / Async Jobs

Validate up to 10,000 items (email/ip/domain/phone) async. Returns a jobId; poll GET /api/bulk/{jobId}. Optional webhook.

Request
curl -X POST https://veriastra.com/api/bulk \
  -H "Content-Type: application/json" \
  -d '{"type":"email","items":["[email protected]","[email protected]"]}'
Response
{
  "jobId": "job_8e91a8a4ae34ef56",
  "status": "processing",
  "total": 2,
  "poll": "/api/bulk/job_8e91a8a4ae34ef56"
}
POST/api/keysLive

API Keys

Create an API key with a credit limit. GET /api/keys lists keys and usage.

Request
curl -X POST https://veriastra.com/api/keys \
  -H "Content-Type: application/json" \
  -d '{"label":"prod","creditsLimit":10000}'
Response
{
  "key": "ol_live_… (shown once)",
  "label": "prod",
  "creditsLimit": 10000
}
POST/api/feedbackLive

Feedback (reputation loop)

Report a real send outcome (bounced/delivered/complaint) so reputation self-corrects. Requires an API key; not charged.

Request
curl -X POST https://veriastra.com/api/feedback \
  -H "Authorization: Bearer ol_live_…" \
  -H "Content-Type: application/json" \
  -d '{"email":"[email protected]","outcome":"bounced"}'
Response
{
  "ok": true,
  "domain": "y.com",
  "outcome": "bounced"
}
POST/api/email-enrichmentLive

Email Enrichment

Find a work email from name + company domain — SMTP-verified where the domain permits (not just a guess). 3 credits.

Request
curl -X POST https://veriastra.com/api/email-enrichment \
  -H "Authorization: Bearer ol_live_…" \
  -H "Content-Type: application/json" \
  -d '{"first_name":"Jane","last_name":"Doe","company_domain":"example.com"}'
Response
{
  "found": true,
  "email": "[email protected]",
  "confidence": "high",
  "verified": true
}
GET/api/accountLive

Account

Usage and credit balance for the calling API key. Read-only; does not consume a request.

Request
curl https://veriastra.com/api/account \
  -H "Authorization: Bearer ol_live_…"
Response
{
  "label": "prod",
  "credits": { "limit": 10000, "used": 320, "remaining": 9680 },
  "requests": 412
}