Blog
FAQ
Case Studies
Knowledge Base
Video Tutorials
Help Center
SEG Validation
Tarpitting Scoring
ROI Calculator
About us
Contact us
Testimonials
curl 'https://gamalogic.com/emailvrf/?emailid=your_emailid_here&apikey=your_api_key_here'
'use strict';
var https = require('https');
https.get({
host:'gamalogic.com',
path: '/emailvrf/?emailid=your_emailid_here&apikey=your_api_key_here',
},
function (res) {
var json = '';
res.on('data', function (chunk) {
json += chunk;
});
res.on('end', function () {
console.log(JSON.parse(json));
});
}
);
import requests
import json
req = requests.get('https://gamalogic.com/emailvrf/?emailid=your_emailid_here&apikey=your_api_key_here')
result = response=json.loads(req.text)
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, 'https://gamalogic.com/emailvrf/?emailid=your_emailid_here&apikey=your_api_key_here');
$result = curl_exec($ch);
curl_close($ch);
$obj = json_decode($result);
require 'open-uri'
require 'json'
result = open("https://gamalogic.com/emailvrf/?emailid=your_emailid_here&apikey=your_api_key_here")
obj = JSON.parse(result.read)
using (var client = new WebClient())
{
var result = JsonConvert.DeserializeObject(client.DownloadString(
"https://gamalogic.com/emailvrf/?emailid=your_emailid_here&apikey=your_api_key_here"));
}
Gamalogic's real-time email validation API runs syntax, domain, SMTP, and risk checks inside a single request, built specifically for signup forms, checkout flows, and live user registration — not batch jobs.
Every call to the real-time email validation API runs through the checks below, in order, before returning a verdict.
Catches malformed addresses, missing "@" symbols, and invalid characters instantly, with no network call needed.
Confirms the domain actually has mail servers configured to receive messages.
Connects to the mail server directly to check whether the mailbox is live, inside the same request.
Recognizes addresses sitting behind a Secure Email Gateway, which can mask true inbox status.
Flags domains that accept every address sent to them, so you're not treating a guaranteed accept as a verified inbox.
Blocks temporary inboxes and generic addresses like info@ or admin@ before they enter your database.
These solve different problems, and the API treats them differently.
Debounce the check until the user pauses typing, then validate asynchronously so the rest of the form stays usable.
const emailInput = document.querySelector('#email');
let debounceTimer;
emailInput.addEventListener('input', () => {
clearTimeout(debounceTimer);
debounceTimer = setTimeout(async () => {
const email = emailInput.value;
if (!email.includes('@')) return;
const res = await fetch(
`https://api.gamalogic.com/v1/validate?email=${encodeURIComponent(email)}&api_key=YOUR_API_KEY`
);
const result = await res.json();
handleValidationResult(result);
}, 500);
});
function handleValidationResult(result) {
if (result.valid === false) {
showFieldWarning('This email address looks invalid.');
} else if (result.risk_score > 70) {
showFieldWarning('This address may not be deliverable.');
} else {
clearFieldWarning();
}
}
const https = require('https');
function validateEmail(email, apiKey) {
return new Promise((resolve, reject) => {
https.get(
`https://api.gamalogic.com/v1/validate?email=${encodeURIComponent(email)}&api_key=${apiKey}`,
(res) => {
let data = '';
res.on('data', (chunk) => (data += chunk));
res.on('end', () => resolve(JSON.parse(data)));
}
).on('error', reject);
});
}
import requests
def validate_email(email, api_key, timeout=1.5):
response = requests.get(
"https://api.gamalogic.com/v1/validate",
params={"email": email, "api_key": api_key},
timeout=timeout,
)
return response.json()
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 2);
curl_setopt($ch, CURLOPT_URL,
"https://api.gamalogic.com/v1/validate?email=" . urlencode($email) . "&api_key={$apiKey}"
);
$result = json_decode(curl_exec($ch));
curl_close($ch);
{
"email": "user@example.com",
"valid": true,
"syntax_valid": true,
"smtp_check": "deliverable",
"disposable": false,
"role_based": false,
"catch_all": false,
"seg_detected": false,
"risk_score": 12,
"status": "ok"
}
| Field | Type | Meaning |
|---|---|---|
valid | boolean | Overall pass or fail verdict |
smtp_check | string | deliverable, undeliverable, or unknown if the mail server didn't respond in time |
catch_all | boolean | Domain accepts all addresses — treat as a soft risk flag, not an automatic reject |
seg_detected | boolean | Address sits behind a Secure Email Gateway; verdict may be less certain |
risk_score | integer 0-100 | Higher means more likely to bounce — set your own threshold rather than treating it as pass/fail |
status | string | ok, timeout, or rate_limited |
Encrypted in transitAll requests run over HTTPS.
Bounded timeoutsA slow mail server never blocks your form indefinitely.
Built for burstsHandles traffic spikes from launches and campaigns.
Live status pageCheck uptime and incidents at status.gamalogic.com.
Gamalogic’s Email Validation API provides real time verification to ensure every email address entering your system is accurate, active, and safe to send. It performs comprehensive checks including syntax validation, domain and MX record verification, SMTP handshaking, SEG validation and SMTP tarpit checks and risk assessment to detect invalid, disposable, role based addresses. By filtering out bad email address at the point of entry, the API protects your sender reputation, reduces bounce rates, and improves overall deliverability. Designed for SaaS platforms, marketers, and B2B teams, Gamalogic integrates seamlessly into forms, CRMs, and workflows to maintain a clean, performance driven database.