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.