KYC - Create search

Create a PEPs, Sanctions and AML check on an entity

To run a PEPs, Sanctions and AM check against an entity, you need to create a search for that entity.

Each search is unique and a searchID is provided for that search that returns any PEPs, Sanctions or Adverse Media hits found for the searched entity. As each search is unique, if you're replicating a search that has previously been run, we would recommend you use the same SearchID. If you are trying to run a search for an entity you've searched before, but with different search parameters or filters, then please run a new search.

Requests

There are four components to creating a search:

FieldTypeDescription
searchTerm
(mandatory)
stringThe string representing the entity i.e. entity name
fuzziness
(optional)
float (0.0 – 0.1)Determines how closely the returned results must match the supplied name. 0% fuzziness disables 1-letter typo matching but keeps all other matching behaviours (standard and optional). Overridden by exactMatch.
exactMatch
(optional)
booleanExact match disables all standard and optional matching behaviours (Honorifics, affixes, initials, glued name, name variation, equivalent names, extra words in entity,...).
filters
(optional)
objectsSpecify filters within the search to narrow down the results. Whilst optional, adding in filter details help refine the results. e.g entityType

Filters

The filters that can be applied to search are:

FieldTypeDescription
amlType
(optional)
array of stringsThese are the alerts you want to check are associated with the entity. One or more of:
- sanction
- warning
- fitness-probity
- pep
- adverse-media-v2

More granular amlTypes for pep and adverse-media-v2 can be found here
birthYear
(optional)
integerOptional but desirable for a ‘person’ search, as it will help narrow the search and reduce false positives.

If you include a year of birth, the results will return entities with a similar name and are within +-1 year of the year of birth specified; and any entities that have a similar name and no specified year of birth.
countryCodes
(optional)
array of ISO 3166-1 alpha-2 stringsOptional and only applies for PEPs (Politically Exposed Person), but it will help you reduce False Positives.

The country filter refers to the country in which the entity took office (country of residence).
removeDeceasedbooleanA flag which when set, removes deceased people from search results
entityTypestringOne of:
- "person"
- "company"
- "organisation"
- "vessel"
- "aircraft"

Entity Type Filter

entityType is a filter that can be applied to the search, and whilst is not mandatory, we recommend that it is specified as it optimises the search results. The entityType filter is not a hard filter between different entity types. It only optimizes the matching logic to the relevant entity type.

entityType can be: 

  • “person"
  • "company"
  • "organisation"
  • "vessel"
  • "aircraft"

 
For example:

  • Depending on the entity type, pre-fixes and suffixes will be processed differently to avoid false negatives ("Mr Robert Mugabe" matching "Robert Mugabe" for person, "Cimex Ltd" matching "Cimex" for company)
  • Equivalent names are considered specifically for different entity types ("Robert" and "Bob" versus "Investment" and "Inversion").
  • Initial matching between individual ("Carl W. Litsch") versus company acronyms ("KFC").
    If this is not set as a filter, then a default set of rules and logic will be applied

Example requests

Basic:

{  
    "criteria": {  
        "searchTerm": "Robert Mugabe"  
    }  
}

All filters utilised:

{
    "criteria": {
        "searchTerm": "Robert Mugabe",
        "fuzziness": 0.8,
        "exactMatch": false,
        "filters": {
            "amlTypes": [
                "pep",
                "sanction",
                "warning"
            ],
            "countryCodes": [
                "ZW"
            ],
            "entityType": "person",
            "birthYear": 1922,
            "removeDeceased": true
        }
    }
}

Response

The search query will provide a response with the following details:

FieldTypeDescription
criteriaobjectThe search criteria specified in the request
searchIDstringThe unique identifier related to the search. This can be used to retrieve the data surfaced for this particular search
totalHitsintegerThe number of search hits that were identified to the entity you were searching for
totalMatchesinteger
createddate-timeDate of search creation
updatedstring
searchHitsarray of objectsAn array containing search hit objects, the score, and match type objects

Each of the entity objects returned in searchHits will show:

FieldTypeDescription
searchHitarray of objectsThis array contains entity objects matching the search term. There should be an entity object for each search hit identified.
|_entityTypestringThe entity type associated with this search hit
|_namestringThe name associated with the search hit
|_amlTypesarray of stringsAn array of amlTypes that were found for this searchHit
|_sourceInformationobjectAn object contain the data source of the search hit
|__sourcearrayAn array of data source found for the search hit (e.g. Sanctions List)
|____namestringName of source
|____keystringKey of source
|____amlTypearray of stringsamlType found from the source
|____urlstringURL of the source
|____listingStartingdate-timeWhen the source was listed
|____listingEndeddate-timeWhen the source listed ended.
|____sourceNotesarray of objectsAdditional information about the source. This is an array containing:
- Name
- Value
- Source
|___unlinkedSourceNotesarray of objectsAdditional information about the source. This is an array containing:

- Name
- Value
- Source
|_ akaarray of objectsArray of alternative names for the entity. Note that the "name" field is present at the minimum.
|_associatesarray of objectsArray of names of associated entities.

Note that the "name" field present at the minimum, also the "association" (such as "Spouse", "Brother" etc...) and "comment" fields.
|_mediaarray of objectsList of media entries where appropriate, with the "date", "title", "snippet" and "url" parameters.
|_lastUpdateddate-timeThis is the time that the entity was last updated
|_scorefloatThe score is a computation of search results match and ranking. The score should only be used in the context of ordering search results and indicates relevance. For information on how the score is computed, check out score matching
|_matchTypesPrimaryarray of stringLists the main matchTypes (as specified below) identified with documents
|_matchTypesAllarray of objectsProvides additional on the matchTypes found, including the matchingName, the source, amlTypes, searchTermMatches and any additional secondaryCriteriaMatches

Match Types

Whenever we match against a document, we try to include some data as to what matched. We return the first value that is true from the following possible values

matchTypeDescription
name_exactmatched against the entity name exactly
aka_exactmatched against an entity AKA (also known as) entry exactly
name_fuzzymatched closely to the name, but at least one word had an edit distance change
phonetic_namematched against the entity name phonetically
phonetic_akamatched against an entity AKA phonetically
equivalent_namematched against the entity name with a synonym, e.g. "Robert Mugabe" => "Bob Mugabe"
equivalent_akamatched against an entity AKA with a synonym, e.g. "Robert Mugabe" => "Bob Mugabe"
unknownmatched for a more complex reason, such as based on an acronym

Along with, if appropriate:

matchTypeDescription
year_of_birthmatched the birth year as given in filters, can be the exact year of +-1 year regarding the fuzziness and options
removed_personal_titlea personal title, for example 'Mrs', was stripped from the search term
removed_personal_suffixa personal suffix, for example 'PhD', was stripped from the search term
removed_organisation_prefixan organisation prefix, for example 'JSC', was stripped from the search term
removed_organisation_suffixan organisation suffix, for example 'Ltd', was stripped from the search term
removed_clerical_marka clerical mark, for example 'DECEASED', was stripped from the search term

Example Response

{
  "criteria": {
    "exactMatch": false,
    "filters": {
      "amlTypes": ["sanction"],
      "birthYear": 1800,
      "countryCodes": [],
      "entityType": "person",
      "removeDeceased": false
    },
    "fuzziness": 0.5,
    "searchTerm": "string"
  },
  "created": "2019-08-24T14:15:22Z",
  "searchHits": [
    {
      "matchTypesAll": [
        {
          "amlTypes": ["sanction"],
          "matchingName": "string",
          "searchTermMatches": [
            {
              "matchTypes": ["exact_match"],
              "word": "string"
            }
          ],
          "secondaryCriteriaMatches": [
            {
              "criteria": "string",
              "matchTypes": ["name_variations_removal"]
            }
          ],
          "sources": ["string"]
        }
      ],
      "matchTypesPrimary": ["name_variations_removal"],
      "score": 0,
      "searchHit": {
        "aka": [
          {
            "name": "string"
          }
        ],
        "amlTypes": ["sanction"],
        "associates": [
          {
            "association": "string",
            "name": "string"
          }
        ],
        "entityType": "person",
        "lastUpdated": "2019-08-24T14:15:22Z",
        "media": [
          {
            "date": "2019-08-24T14:15:22Z",
            "snippet": "string",
            "title": "string",
            "url": "string"
          }
        ],
        "name": "string",
        "sourceInformation": {
          "sources": [
            {
              "amlTypes": ["sanction"],
              "key": "string",
              "listingEnded": "2019-08-24T14:15:22Z",
              "listingStarted": "2019-08-24T14:15:22Z",
              "name": "string",
              "sourceNotes": [
                {
                  "name": "string",
                  "source": "string",
                  "value": "string"
                }
              ],
              "url": "string"
            }
          ],
          "unlinkedSourceNotes": [
            {
              "name": "string",
              "source": "string",
              "value": "string"
            }
          ]
        }
      },
      "searchId": "9b1a67f9-9477-48e5-8a6c-11b70245e1d9",
      "totalHits": 0,
      "totalMatches": 0,
      "updated": "2019-08-24T14:15:22Z"
    }
  ]
}
Language
Authorization
Header
URL
Click Try It! to start a request and see the response here!