Skip to main content

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 to dilisense require an authentication via API key. Specifically we expect the x-api-key value to be set in the header of your API call. If the API key is not valid, the API call will return a 401 HTTP error code.

We will provide you with a private API key, which you can use for downloading the consolidated file via API. The private API key is only intended for your own use, as we track the number of API calls with this key. The key has to be securely stored on your side to avoid any misuse by unauthorized parties.


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 selectors all and included. The contained sources are the union of all entries.

  • included: the sources that are included for your API key.
  • all: the entire source catalogue. Further entries next to all have no additional effect.
  • 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.

info

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 or requested using includes=all. 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 --location --request GET 'https://api.dilisense.com/v1/getConsolidatedFile' \
--header 'x-api-key: <api_key>'

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.

info

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 selectors all and included. The contained sources are the union of all entries.

  • included: the sources that are included for your API key.
  • all: the entire source catalogue. Further entries next to all have no additional effect.
  • 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.

info

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 or requested using includes=all. 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 --location --request GET 'https://api.dilisense.com/v1/getConsolidatedDelta?previous=1744792260290' \
--header 'x-api-key: <api_key>'

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

The API versioning will be incremental starting from v1. Only if there are breaking changes, we will increase the version to v2 and higher. We reserve the right to introduce new functionalities at any time which are not considered breaking the current API request / response logic.

Once a new API version is available, you will be notified. However you can still use the old API version for at least 12 months before we stop supporting the old version.


5. Usage Limits

You can download the consolidated file up to 50 times a day.


6. Errors

The dilisense API adheres to the regular HTTP error codes. This means that codes in the 2xx range indicate a successful API call, codes in the range of 4xx indicate an error on the client side (e.g. failed authentication) and codes in the 5xx range inform you about an error with the dilisense servers.

The detailed error codes are: 200 - OK - The request was successful. 400 - Bad Request - The request was incorrect. 401 - Unauthorized - The API key was not valid. 403 - Forbidden - The URL is not accessible. 500 - Internal Server Error - An internal error occurred.

There is a detailed error message (JSON) available for each of the error responses, for example:

Example

{
"error_message": "Provided previous version does not exist."
}