Verify email addresses with a single HTTPS request. Base URL: https://verify.aiskilled.co
Create an API key in your dashboard and send it as a Bearer token. Keep it secret — it authorizes verifications against your credit balance.
Authorization: Bearer YOUR_API_KEY
POST /v1/verify — costs 1 credit.
curl -X POST https://verify.aiskilled.co/v1/verify \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"email":"someone@company.com"}'
Response:
{
"status": "success",
"email": "someone@company.com",
"domain": "company.com",
"result": 0,
"result_name": "valid",
"sub_status": "mailbox_exists",
"mx_provider": "google_workspace",
"flags": [],
"reason": "Mailbox exists and accepts mail.",
"cached": false
}
POST /v1/verify/batch — costs 1 credit per address (max 100 per call).
curl -X POST https://verify.aiskilled.co/v1/verify/batch \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"emails":["a@company.com","b@company.com"]}'
GET /v1/account — your remaining credits and usage (free).
curl https://verify.aiskilled.co/v1/account -H "Authorization: Bearer YOUR_API_KEY"
const res = await fetch("https://verify.aiskilled.co/v1/verify", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({ email: "someone@company.com" }),
});
const data = await res.json();
console.log(data.result_name, data.sub_status);
| result | result_name | Meaning | Action |
|---|---|---|---|
| 0 | valid | Mailbox confirmed deliverable | Send |
| 1 | invalid | Confirmed undeliverable | Drop |
| 2 | disposable | Throwaway address provider | Reject |
| 3 | catchall | Accept-all domain — mailbox unconfirmable (risky) | Keep but flag |
| 4 | unknown | Temporarily undetermined | Retry later |
Each response also carries sub_status (e.g. mailbox_exists, accepts_all, mailbox_not_found, antispam_gateway, greylisted), mx_provider, and a human reason.
| Code | Meaning |
|---|---|
| 200 | Success |
| 400 | Bad request (missing/invalid email) |
| 401 | Missing or invalid API key |
| 402 | Out of credits — buy more |
| 429 | Rate limit exceeded — slow down and retry |
Ready? Create an account and get 100 free credits, or open your dashboard.