Esigil API
v0.1
Complete reference for the Esigil REST API. Authenticate with an API key, call the endpoints below, and receive fast, real-time verification results. Examples include cURL, JavaScript (fetch), and Python.
Secure & Reliable
99% uptime and encrypted requests.
Lightning Fast
Average response time under 900ms.
Global Coverage
Validate addresses from any domain worldwide.
Real-time Results
Get instant verification with detailed insights.
Base URL
All requests use this base endpoint
https://api.esigil.comUse HTTPS and include your API key in Authorization header.GET
/verify
Verify a single email address (format, MX, mailbox existence, temp mail, risk).
https://api.esigil.com/verify?email=user@example.comHeaders
Authorization — Bearer token
Example Authorization: Bearer evk_live_1234567890abcdef
Query Parameters
- email (required) — the email address to verify (e.g. user@example.com).
cURL
curl -X GET "https://api.esigil.com/verify?email=user@example.com" \ -H "Authorization: Bearer YOUR_API_KEY"
JavaScript (fetch)
fetch("https://api.esigil.com/verify?email=user@example.com", {
headers: { "Authorization": "Bearer YOUR_API_KEY" }
}).then(r => r.json()).then(console.log)Python (requests)
import requests
r = requests.get("https://api.esigil.com/verify", params={"email":"user@example.com"},
headers={"Authorization":"Bearer YOUR_API_KEY"})
print(r.json())Responses
200 — Successful verification
{
"success": true,
"data": {
"email": "user@example.com",
"valid": true,
"valid_format": true,
"valid_mx": true,
"mailbox_exists": true,
"is_catch_all": false,
"is_risky": false,
"is_temp": false,
"host": "gmail-smtp-in.l.google.com",
"mx_records": [
"gmail-smtp-in.l.google.com",
"alt1.gmail-smtp-in.l.google.com"
]
}
}400 — Bad request
{
"success": false,
"error": {
"code": "INVALID_INPUT",
"message": "Missing required fields"
}
}401 — Unauthorized
{
"success": false,
"error": {
"code": "INVALID_API_KEY",
"message": "Invalid API key provided"
}
}402 — Insufficient credits
{
"success": false,
"error": {
"code": "INSUFFICIENT_BALANCE",
"message": "You do not have enough balance to perform this action."
}
}500 — Server error
{
"success": false,
"error": {
"code": "INTERNAL_ERROR",
"message": "Unexpected server error"
}
}GET
/balance
Retrieve remaining credit balance for your account.
https://api.esigil.com/balanceHeaders
Authorization: Bearer token (your API key)
cURL
curl -X GET "https://api.esigil.com/balance" \ -H "Authorization: Bearer YOUR_API_KEY"
JavaScript (fetch)
fetch("https://api.esigil.com/balance", {
headers: { "Authorization": "Bearer YOUR_API_KEY" }
}).then(r => r.json()).then(console.log)Python (requests)
import requests
r = requests.get("https://api.esigil.com/balance", headers={"Authorization":"Bearer YOUR_API_KEY"})
print(r.json())Responses
200 — Success
{
"success": true,
"data": {
"availableCredits": 98
}
}401 — Unauthorized
{
"success": false,
"error": {
"code": "INVALID_API_KEY",
"message": "Invalid API key provided"
}
}404 — Not found
{
"success": false,
"error": {
"code": "NOT_FOUND",
"message": "User balance not found"
}
}500 — Server error
{
"success": false,
"error": {
"code": "INTERNAL_ERROR",
"message": "Unexpected server error"
}
}Notes: Authenticate every request with your live API key in the Authorization header. Keep your keys secret. For client-side use, route requests through your server.
