AML Database
Download our comprehensive database.
The dilisense AML Database provides you with access to the dilisense consolidated file which includes a myriad of sanction, PEP, criminal watch lists and additional sources. All sources are listed on our website (https://dilisense.com). The file can be downloaded via API in JSON format. The API call has to be made via HTTPS request.
1. Authentication
All API calls require your API key in the x-api-key header. See Authentication.
2. getConsolidatedFile (GET)
The getConsolidatedFile API method returns the AML Database in JSON Lines format and consists of the same attributes as described in the AML Screening API Service.
Additionally the file-version is provided in the header which can be stored in order to call the getConsolidatedDelta endpoint.
Endpoint
https://api.dilisense.com/v1/getConsolidatedFile
Request parameters
There is only one parameter, which is explained below.
includesoptional
Defines which sources the consolidated file contains. If the includes parameter is not specified, the sources included for your API key are used.
The value is a comma-separated list of source IDs and/or the selector included. The contained sources are the union of all entries.
included: the sources that are included for your API key.- source IDs: exactly those sources, for example “us_department_of_treasury_non_sdn”.
For example includes=us_department_of_treasury_non_sdn,eu_financial_sanction_list returns exactly those two sources, while includes=included,br_national_registry_cnep returns the sources included for your API key plus that one.
The source catalogue contains all screening sources available through the API. Your API key has a set of included sources, while additional sources from the catalogue can be selected individually. Use the getSourceList API call to retrieve the catalogue and source IDs.
Response
The response provided back is formatted as JSON Lines.
Example
Request
- curl
- Python
- Java
- Javascript
curl --location --request GET 'https://api.dilisense.com/v1/getConsolidatedFile' \
--header 'x-api-key: <api_key>'
import requests
url = "https://api.dilisense.com/v1/getConsolidatedFile"
payload={}
headers = {
'x-api-key': '<api_key>'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
.url("https://api.dilisense.com/v1/getConsolidatedFile")
.method("GET", body)
.addHeader("x-api-key", "<api_key>")
.build();
Response response = client.newCall(request).execute();
var myHeaders = new Headers();
myHeaders.append("x-api-key", "<api_key>");
var requestOptions = {
method: 'GET',
headers: myHeaders,
redirect: 'follow'
};
fetch('https://api.dilisense.com/v1/getConsolidatedFile', requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
Response
{"sourceId":"eu_financial_sanction_list","sourceType":"SANCTION","id":"9a485b46f9ff6af5","entityType":"INDIVIDUAL","gender":"MALE","name":"Hodjatoleslam SOLTANI","lastNames":["SOLTANI"],"aliasNames":["Hodjatoleslam Seyed Mohammad SOLTANI"],"givenNames":["Hodjatoleslam","Seyed Mohammad"],"sanctionDetails":["2020-04-08","IRN"],"functions":["Head of the Organisation for Islamic Propaganda in the province of Khorasan-Razavi. Judge, Mashhad Revolutionary Court until 2013."]}
{"sourceId":"us_occ_enforcement_actions_sanction_list","sourceType":"SANCTION","id":"9a12cb46f9ff6af5","entityType":"ENTITY","name":"First Fidelity Trust, National Association, Florida","address":["Boca Raton, Florida (FL), USA"],"jurisdiction":["USA"],"sanctionDetails":["Civil Money Penalty (CMP) for details see: https://www.occ.gov/topics/laws-regulations/enforcement-actions/enforcement-actions-types.html","Start date: 8/5/1991"]}
{"sourceId":"in_interpol_most_wanted_list","sourceType":"CRIMINAL","id":"9a18cb49f9ff6af5","entityType":"INDIVIDUAL","gender":"MALE","name":"TASAWAR IQBAL","lastNames":["IQBAL"],"givenNames":["TASAWAR"],"dateOfBirth":["07/09/1981"],"placeOfBirth":["Pakistan","Gujrat"],"citizenship":["Pakistan"],"sanctionDetails":["Issuing country: Pakistan","Charge: Murder"],"links":["https://www.interpol.int/en/How-we-work/Notices/View-Red-Notices#2018-14069"],"otherInformation":["Weight: 65 kg","Height: 1.72 m","Language spoken: Panjabi","Language spoken: Urdu","Eye color: BLA","Hair color: BLA"]}
{"sourceId":"ru_ffms_terrorist_list","sourceType":"SANCTION","id":"ca18hb46f9ff6af5","entityType":"ENTITY","name":"МЕСТНАЯ РЕЛИГИОЗНАЯ ОРГАНИЗАЦИЯ СВИДЕТЕЛЕЙ ИЕГОВЫ Г.НИЖНЕКАМСКА И НИЖНЕКАМСКОГО РАЙОНА \"УПРАВЛЕНЧЕСКОГО ЦЕНТРА СВИДЕТЕЛЕЙ ИЕГОВЫ В РОССИИ\"","companyNumber":["ИНН: 1651024363;"]}
{"sourceId":"fr_tresor_registre_national_des_gels_sanction_list","sourceType":"SANCTION","id":"9a18cp46f9ff6af5","entityType":"ENTITY","name":"Med Wave Shipping","sanctionDetails":["Regime de sanction ou de gel national concerne: Libye \n(UE Annexe III)","Fondement juridique: 2016/44 18/01/2016","Arrete d\u0027extension de la mesure aux PTOM: arrêté ECOT2025028A du 21/09/2020","Lien utile: https://www.tresor.economie.gouv.fr/services-aux-entreprises/sanctions-economiques","Date d\u0027ajout au registre: 9/21/20"],"otherInformation":["Adresse: Office 511, 5th Floor, Baraka Building, Dauwar Al-Waha, Jordanie;","Adel Al-Hojrat building n°3, 1st Floor, opposite Swefieh, Mall-Swefieh Po Box 850880 Amman, 11185 Jordanie;","Ground Floor, Orient Queen Homes Building, Liban","Tél. +962787064121; +96265865550; +96265868550","Courriel: operation@medwave.co","compagnie maritime qui exploite le navire Bana dont il a été établie qu’il a violé l’embargo sur les armes imposé à la Libye par la résolution 1970 (2011) du Conseil de sécurité des Nations unies et transposé à l’article 1er de la décision (PESC) 2015/1333. Le Bana a en particulier été lié à des transports de matériel militaire vers la Libye en janvier 2020.","Désigné par le règlement (UE) 2020/1309 du 21/09/2020"]}
{"sourceId":"dilisense_pep","sourceType":"PEP","id":"9a18cb46f9of6af5","pepType":"POLITICIAN","entityType":"INDIVIDUAL","gender":"MALE","name":"Joël Bruneau","lastNames":["Bruneau"],"givenNames":["Joël"],"dateOfBirth":["07/09/1963"],"placeOfBirth":["Châteauroux"],"citizenship":["France"],"description":["French politician"],"occupations":["board member","politician","professions libérales et assimilés"],"positions":["2014-03-30 - 2020-05-17 conseiller municipal de Caen","2014-04-05 - 2020-05-22 mayor of Caen","Since 2017-01-01 conseiller communautaire de Caen la Mer","Since 2020-05-18 conseiller municipal de Caen","Since 2020-05-23 mayor of Caen","conseiller régional de Basse-Normandie"],"politicalParties":["Union for a Popular Movement"],"links":["Facebook: joel.bruneau.50"]}
The data in the example above is test data to illustrate the json lines response. Any similarity to actual persons, living or dead, is purely coincidental.
3. getConsolidatedDelta (GET)
The getConsolidatedDelta API method returns a list of deviations compared to an earlier version of the database. It is formatted as JSON Lines and consists of the same attributes as described in the AML Screening API service.
Additionally the file-version is provided in the header which needs to be stored for the next API call.
Endpoint
https://api.dilisense.com/v1/getConsolidatedDelta
Request parameters
There are two parameters, which are explained below.
previous
The file-version in the response header from the API call to getConsolidatedFile or getConsolidatedDelta.
The file-version cannot be older than two weeks.
includesoptional
Defines which sources the delta covers. This parameter is newly available on this endpoint. If the includes parameter is not specified, the sources included for your API key are used.
The value is a comma-separated list of source IDs and/or the selector included. The contained sources are the union of all entries.
included: the sources that are included for your API key.- source IDs: exactly those sources, for example “us_department_of_treasury_non_sdn”.
For example includes=us_department_of_treasury_non_sdn,eu_financial_sanction_list returns exactly those two sources, while includes=included,br_national_registry_cnep returns the sources included for your API key plus that one.
The source catalogue contains all screening sources available through the API. Your API key has a set of included sources, while additional sources from the catalogue can be selected individually. Use the getSourceList API call to retrieve the catalogue and source IDs.
Response
The response provided back is formatted as JSON Lines.
Example
Request
- curl
- Python
- Java
- Javascript
curl --location --request GET 'https://api.dilisense.com/v1/getConsolidatedDelta?previous=1744792260290' \
--header 'x-api-key: <api_key>'
import requests
url = "https://api.dilisense.com/v1/getConsolidatedDelta?previous=1744792260290"
payload={}
headers = {
'x-api-key': '<api_key>'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
.url("https://api.dilisense.com/v1/getConsolidatedDelta?previous=1744792260290")
.method("GET", body)
.addHeader("x-api-key", "<api_key>")
.build();
Response response = client.newCall(request).execute();
var myHeaders = new Headers();
myHeaders.append("x-api-key", "<api_key>");
var requestOptions = {
method: 'GET',
headers: myHeaders,
redirect: 'follow'
};
fetch('https://api.dilisense.com/v1/getConsolidatedDelta?previous=1744792260290', requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
Response
The response is formatted as JSON Lines format and provides a separate line per changed record.
type (enum)
- ADD
- UPDATE
- DELETE
record (object)
{"type":"ADD","record":{...}}
{"type":"UPDATE","record":{...}}
{"type":"DELETE","record":{...}}
4. Versioning
See Versioning.
5. Usage Limits
You can download the consolidated file up to 50 times a day, getConsolidatedFile and getConsolidatedDelta together. See Usage and Quotas.
6. Errors
The API returns the regular HTTP error codes with a JSON error message. See Errors for all codes and for how to handle throttling.
For example, getConsolidatedDelta returns the following error message for an unknown previous file-version:
{
"error_message": "Provided previous version does not exist."
}