Using API

Our API is really easy to use. All you need is to send https request.

Request

 

E-mail check request:
https://api.proofy.io/verifyaddr?aid={User ID}&key={API key}&email={EMAIL}

Example:
https://api.proofy.io/verifyaddr?aid=9&key=lT337bNhFFFcxfINCf1J3X&email=support@proofy.io

Result on success:
{“cid”:123}

FieldDescription
cidCheck id (you’ll need it to get check result)

Result on error:
{“error”:true,”message”:”System error. Please try again later.”}

Receive e-mail check result:
https://api.proofy.io/getresult?aid={User ID}&key={API key}&cid={Check id from previous request}

Example:
https://api.proofy.io/getresult?aid=9&key=lT337bNhFFFcxfINCf1J3X&cid=123

Result if check complete:
{“cid”:”123″,”checked”:true,”result”:[{“email”:”support@proofy.io”,”status”:1,”statusName”:”deliverable”,”syntax”:”1″,”mx”:”1″,”role”:”1″,”free”:”0″,”disposable”:”0″}]}

FieldDescription
emailE-mail address
statusE-mail status id: 1 – deliverable, 2 – risky, 3 – undeliverable, 4 – unknown
statusNameName for status id: deliverable, risky, undeliverable, unknown
syntaxE-mail address syntax: 1 – correct, 0 – incorrect
mxE-mail domain has MX records: 1 – yes, 0 – no
roleE-mail has a role (support, info, noreply, etc): 1 – yes, 0 – no
freeE-mail is on a free hosting (gmail.com, yahoo.com, etc): 1 – yes, 0 – no
disposableE-mail is disposable: 1 – yes, 0 – no

Result if check not yet complete:
{“cid”:”123″,”checked”:false,”result”:[]}

Result on error:
{“error”:true,”message”:”System error. Please try again later.”}

Get balance:
https://api.proofy.io/getbalance?aid={User ID}&key={API key}

Example:
https://api.proofy.io/getbalance?aid=9&key=lT337bNhFFFcxfINCf1J3X

Result on success:
{“balance”:12999,”checks”:12000,”bonus_checks”:999,”reserved_checks”:0,”reserved_bonus_checks”:1}

FieldDescription
balanceYour available checks (usual + bonus)
checksYour available checks
bonus_checksYour available bonus checks
reserved_checksChecks currently reserved for files/api requests in progress
reserved_bonus_checksBonus checks currently reserved for files/api requests in progress

Result on error:
{“error”:true,”message”:”System error. Please try again later.”}

Check multiple emails:
Encode e-mail list as JSON array and send it as raw POST data to https://api.proofy.io/verifylist?aid={User ID}&key={API key}

Example (uses cURL for sending POST request):
curl -d ‘[“support@proofy.io”,”someuser@proofy.io”]’ -X POST https://api.proofy.io/verifylist?aid=9&key=lT337bNhFFFcxfINCf1J3X

Result on success:
{“cid”:123}

FieldDescription
cidCheck id (you’ll need it to get check result)

Result on error:
{“error”:true,”message”:”System error. Please try again later.”}

Receive list check result:
https://api.proofy.io/getlistresult?aid={User ID}&key={API key}&cid={Check id from previous request}

Example:
https://api.proofy.io/getlistresult?aid=9&key=lT337bNhFFFcxfINCf1J3X&cid=123

Result if check complete:
{“cid”:”123″,”checked”:true,”result”:[{“email”:”support@proofy.io”,”status”:1,”statusName”:”deliverable”,”syntax”:”1″,”mx”:”1″,”role”:”1″,”free”:”0″,”disposable”:”0″},{“email”:”someuser@proofy.io”,”status”:3,”statusName”:”undeliverable”,”syntax”:”1″,”mx”:”1″,”role”:”0″,”free”:”0″,”disposable”:”0″}]}

Result if check not yet complete:
{“cid”:”123″,”checked”:false,”result”:[]}

Result if check will not be completed because of some permanent error:
{“cid”:”123″,”checked”:false,”result”:[],”status”:{“error”:true,”message”:”You don’t have checks. Check your balance.”}}
Result on temporary error:
{“error”:true,”message”:”System error. Please try again later.”}