---
title: "Screening engines"
description: "The two engines a LENS API screening can run on, trapets and tic: choosing one per request, and what differs in matching, lists, hit details, test mode and billing."
url: https://docs.tic.io/api-lens/screening/engines
lastmod: 2026-10-31T09:48:43.000Z
---

# Screening engines

The two engines a LENS API screening can run on, trapets and tic: choosing one per request, and what differs in matching, lists, hit details, test mode and billing.

A screening runs on one of two engines. Both take the same request and return the same response: the same properties, the same list names and list types, the same role and relationship types. Switching engine is a change of one property, not of your integration.

| `engine` | Screens |
| --- | --- |
| `trapets` | The lists in [Lists](/api-lens/screening/lists) enabled for your account. The default. |
| `tic` | The official sanctions lists, the regulators' warning lists and the PEPs that TIC maintains, see [Lists screened by the tic engine](/api-lens/screening/lists#lists-screened-by-the-tic-engine). |

## Choosing the engine

| Endpoint | Where |
| --- | --- |
| [Search](/api-lens/screening/search) | `engine` in the body |
| [Screen a company](/api-lens/screening/screen-a-company-with-its-board-and-beneficial-owners), [Screen a person](/api-lens/screening/screen-a-person) | `engine` in the body |
| [Plan a company screening](/api-lens/screening/plan-a-company-screening) | `?engine=tic`: the prices and reuse for that engine |
| Order a screening of a [company](/api-lens/companies/order-a-pep-and-sanctions-screening) or a [person](/api-lens/persons/order-a-pep-and-sanctions-screening) | `?engine=tic` |

```json
{
  "engine": "tic",
  "subjects": [
    { "reference": "cust-1001", "name": "Anna Exempelsson", "birthDate": "1975-04-12" }
  ]
}
```

Leave `engine` out, or send it empty, for the default engine. Any other value than `trapets` or `tic` returns `400` with code `invalid_engine`.

Every screening records the engine it ran on: `source` on a search response, `engine` on a company or person screening and on each row of the [history](/api-lens/screening/list-screenings).

## Matching with tic

**Names are scored, not matched word by word.** Each name of the subject is compared with every name of the list entry by spelling and sound, in any word order, with case and accents ignored. An entry does not need every word you send, so a full name with every given name still finds an entry listed under fewer names.

**An entry is a hit when its score reaches 0.7.** The score is the name score, raised when the birth date agrees (most for the same date) and lowered when it does not (most for a birth date years apart). A different birth date does not rule an entry out on its own: it takes a very close name to stay a hit. **An entry that lists the subject's identity number is always a hit**, whatever the name.

**Request options:**

- `countries` works as described in [How matching works](/api-lens/screening/introduction#how-matching-works): an entry registered only to other countries is left out, and an entry with no country data is kept. An entry that lists the identity number is always kept.
- `minimumNameMatchScore`, with `nameMatching` `Phonetic`, leaves out hits whose name scores lower. It narrows the hits; it does not add entries below the 0.7 score.
- `nameMatching` makes no other difference: names are always scored by spelling and sound.
- `fuzzyBirthDateMatching` makes no difference: a nearby birth date always lowers the score less than a distant one.
- `updatedAfter` and `minExpires` make no difference.

## Hits with tic

- `hitRating` is 5 when the entry lists the identity number, 4 when the name and the birth date (or the year of birth) agree, and 1 otherwise. Rating 2 is not used: `countries` filters entries but does not rate them.
- `nameMatchScore` is always present, and `comment` gives the score and what it is made of:

  ```text
  Score 0.93: name 0.68 (searched "Anna Exempelsson"); same date: 1975-04-12 / 1975-04-12
  ```

- `identityNumber` is present only when the entry lists the screened subject's own identity number. Identity numbers of other people are never returned.
- `sourceName` and `listType` are the names in [Lists](/api-lens/screening/lists#lists-screened-by-the-tic-engine), the short hit names `UkSanctions`, `FSA` and `CKP` included; every PEP, family member and close associate has `sourceName` `TIC_PEP` and `listType` `PEP`.
- A PEP has one role per kind of function in `roles`, with `title` and `organization` when the PEP holds one kind of function; `title` on the hit lists every title. `countries` is the country whose function it is (for an ambassador, the sending state).
- **Family members and close associates are on the list as persons.** Screening a PEP's spouse returns a hit for the spouse, with `listType` `PEP`. Its `relationships` names the PEP, with `relationshipType` what the PEP is to them (`Spouse`, `Parent`, `Child`, `Sibling`, `FamilyMember` or `CloseAssociate`) and the PEP's functions in `comment`. They have no `roles`.
- `externalId` stays with the person or the list entry when the lists are updated, so decisions carry into later screenings.
- `tier` is not set. `lastUpdatedUtc` and `listEntryUpdatedAtUtc` are not set: a decision stays on the hit in later screenings.

## Lists, details, test mode and billing with tic

- **Lists.** `serviceScope` takes the groups (`SANCTION`, `PEP`) and the list names in [Lists](/api-lens/screening/lists#lists-screened-by-the-tic-engine). The names of the default engine's lists are accepted for the same lists: `PEP_Edge` and `ACURIS_PEP_NN` screen `TIC_PEP`, `Instant_EU_Sanctions` screens `EU_GLOBAL` and `HMTreasury` screens `UK_Sanction`. A list the engine does not hold screens nothing, and `servicesQueried` shows what was screened.
- **Hit details** are shown for as long as the screening is stored, not only for 24 hours.
- **Test mode** screens the live lists, free of charge, with the order marked `[TEST]`. Test screenings are still compared only with other test screenings.
- **Billing.** Every screening is billed per screened person or company, a search too. [Plan a company screening](/api-lens/screening/plan-a-company-screening) with `?engine=tic` gives the price.
- **Reuse.** A screening within 24 hours is reused only for a request on the same engine.
