Use our API!
In addition to a web application, you can connect your systems (websites, internal tools…) to Shakelist to ensure real-time verification of your data.

What can the Shakelist API do?

Connect your systems to Shakelist
Take advantage of the power of Shakelist in your applications and forget about invalid emails!

Check it live
Connect your CRM systems / forms to Shakelist to identify, live, data entry errors!

Update your data
Automatically check your mailing lists to proactively detect any changes in your recipients.
How much does it cost?

Access to the Shakelist API is free!
To activate it, simply go to your account and generate an API key.
Do you need help? Contact support!
Available functions
Information about your account
account.php
Account information
Required parameter:
apikey
Your API key generated in your Shakelist account.
Result:
JSON containing the account information.
Sample call:
https://app.shakelist.io/api/1.0/account.php?apikey={YOUR_API_KEY}
{
“APIKey”: “{YOUR_API_KEY}”,
“Credit”: 952445
}
Unit check
The unit verification allows a synchronous and fast verification of one (and only one) e-mail address.
Warning: the verification may take several seconds during which you must wait.
We recommend that you use the list check instead because it is done asynchronously (see below).
check.php
Synchronous check
of a unique address
Required parameters:
apikey
Your API key generated in your Shakelist account.
email
E-mail address to be validated (only one in this mode).
Result:
JSON containing the test result.
Sample call:
https://app.shakelist.io/api/1.0/check.php?apikey={YOUR_API_KEY}&email=invalid@example.com
{
“testId”: “443306”,
“email”: “invalid@shakelist.io”,
“domain”: “shakelist.io”,
“result”: “KO”,
“resultDetail”: “ERR_DOESNOTEXIST”,
“resultMailsystem”: “Postfix”,
“isFormatValid”: 1,
“isDisposable”: 0,
“isFreemail”: 0,
“isRobot”: 0,
“isRisky”: 0,
“suggestion”: null
}
Checking lists
The list check allows for further analysis and does not require you to wait for the result of the check in the next call.
This verification works in asynchronous mode as explained below:
1 - Upload the addresses
Use “list/add.php” to add your addresses in Shakelist. A test ID is returned to you.
2 - Follow the progress
With your test ID, you regularly query “list/status.php” to track the progress of the treatment.
3 - Get the results
Once the processing is finished, “list/status.php” will give you the result of your analysis.
list/add.php
Add a list of addresses to process
Parameters:
apikey
Your API key generated in your Shakelist account.
emails
Email addresses to be validated separated by semicolons “;”.
Each call can contain up to 1000 email addresses.
The addresses can be passed in POST/GET.
greylist (optionnel)
Set this parameter to 1 to analyze greylists (be careful, this mode can make the analysis much longer!).
Result:
JSON containing the number of credits consumed and the test ID.
Sample call:
https://app.shakelist.io/api/1.0/list/add.php?apikey={YOUR_API_KEY}&emails=invalid@shakelist.io;ok@shakelist.io;badformatemail@1
{
"nbMails": 3,
"id": "Aa023c3fe38"
}
list/status.php
Follow the processing of the file and get the results
Parameters:
apikey
Your API key generated in your Shakelist account.
id
Identifier of the test for which you want the information.
Result:
JSON in two parts:
- “stats” : provides information on the progress of the treatment.
- “results” : only present if the treatment is finished, gives the details of the test results.
Sample call:
https://app.shakelist.io/api/1.0/list/status.php?apikey={YOUR_API_KEY}&id=Aa023c3fe38
During treatment:
{
"stats": {
"idList": "Aa023c3fe38",
"status": "PENDING",
"emailCount": 3,
"stats": {
"PENDING": 2,
"OK": 1
}
}
}
Treatment completed:
{
“stats”: {
“idList”: “Aa023c3fe38”,
“status”: “DONE”,
“emailCount”: 3,
“stats”: {
“KO”: 2,
“OK”: 1
}
},
“results”: [
{
“email”: “invalid@shakelist.io”,
“id”: 1,
“idList”: “Aa023c3fe0e438”,
“Domain”: “shakelist.io”,
“IsFormatValid”: 1,
“IsDisposable”: 0,
“IsFreemail”: 0,
“IsRole”: 0,
“IsRisky”: 0,
“IsRobot”: 0,
“Suggestion”: null,
“Result”: “KO”,
“ResultDetail”: “ERR_DOESNOTEXIST”,
“ResultMailSystem”: “Postfix”,
“idJob”: 443307
},
{
“email”: “ok@shakelist.io”,
“id”: 2,
“idList”: “Aa023c3fe0e438”,
“Domain”: “shakelist.io”,
“IsFormatValid”: 1,
“IsDisposable”: 0,
“IsFreemail”: 0,
“IsRole”: 0,
“IsRisky”: 0,
“IsRobot”: 0,
“Suggestion”: null,
“Result”: “OK”,
“ResultDetail”: “OK”,
“ResultMailSystem”: “Postfix”,
“idJob”: 443308
},
{
“email”: “badformatemail@1”,
“id”: 3,
“idList”: “Aa023c3fe0e438”,
“Domain”: “1”,
“IsFormatValid”: 0,
“IsDisposable”: 0,
“IsFreemail”: 0,
“IsRole”: 0,
“IsRisky”: 0,
“IsRobot”: 0,
“Suggestion”: “”,
“Result”: “KO”,
“ResultDetail”: “ERR_INVALID_FORMAT”,
“ResultMailSystem”: null,
“idJob”: 443309
}
]
}

Any questions?
Whether you are already a customer or not, contact us!
Our team will be happy to answer all your questions.