PEP Check
Screen a person for potential politically exposed person matches, returning positions, countries and record sources where available.
pep-check Example
{
"name": "Angela Merkel"
} {
"query": "Angela Merkel",
"is_pep": true,
"source": "dilisense",
"matches": [
{
"name": "Angela Dorothea Merkel",
"datasets": [
"dilisense_pep"
],
"countries": [
"DE"
],
"entity_id": "dilisense_pep",
"positions": [
"Chancellor of Germany",
"Member of the Bundestag"
],
"classification": "head_of_state",
"last_updated_at": null
}
],
"match_count": 1,
"screened_at": "2026-04-27T13:00:00.000Z",
"lists_queried": {
"version": null,
"collection": "dilisense/consolidated-pep",
"major_lists": [
"EU C/2023/724 — Member-State PEP function definitions",
"DE Bundestag, Bundesrat, Bundespräsident, Bundesbank, state-owned enterprises",
"(plus 228+ national parliament/government/central-bank/judiciary sources)"
],
"source_count": 230,
"freshness_note": "Dilisense PEP coverage spans 230+ geopolitical territories and aligns with EU C/2023/724 PEP function definitions. The publisher refreshes the index multiple times daily; per-list timestamps are not exposed via the screening API.",
"last_updated_at": null,
"source_catalog_url": "https://dilisense.com/en/sources/politically-exposed-persons-list"
},
"total_results": 1,
"country_filter": "DE",
"birth_date_filter": "1954-07-17"
} Inputs
| Field | Type | Required | What it is |
|---|---|---|---|
name | string | Yes | Full name of person to screen |
country | string | No | ISO country code filter (optional) |
birth_date | string | No | Alias for date_of_birth (optional) |
date_of_birth | string | No | ISO date of birth (YYYY-MM-DD) for disambiguation, reduces false positives on common names (optional) |
Output fields
How reliably each field appears in a successful answer.
| Field | Type | Appears |
|---|---|---|
query | string | Always (present in every successful answer) |
is_pep | boolean | Always (present in every successful answer) |
source | one of dilisense | Always (present in every successful answer) |
matches | array | Always (present in every successful answer) |
match_count | integer | Always (present in every successful answer) |
screened_at | string | Always (present in every successful answer) |
lists_queried | object | Always (present in every successful answer) |
total_results | integer | Always (present in every successful answer) |
country_filter | string or null | Usually (present for most inputs) |
birth_date_filter | string or null | Usually (present for most inputs) |
How to call it
The same tool through each route. MCP clients reach it through Strale’s server at https://api.strale.io/mcp; the call below is what the agent sends.
# Needs an API key. max_price_cents caps what this call may cost.
curl -X POST https://api.strale.io/v1/do \
-H "Authorization: Bearer $STRALE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"capability_slug": "pep-check",
"inputs": {
"name": "Angela Merkel"
},
"max_price_cents": 5
}' {
"tool": "strale_execute",
"arguments": {
"slug": "pep-check",
"inputs": {
"name": "Angela Merkel"
},
"max_price_cents": 5
}
} import { Strale } from "straleio";
const strale = new Strale({ apiKey: process.env.STRALE_API_KEY! });
const result = await strale.do({
capability_slug: "pep-check",
inputs: {
"name": "Angela Merkel"
},
max_price_cents: 5,
}); import os
from straleio import Strale, DoRequest
strale = Strale(api_key=os.environ["STRALE_API_KEY"])
result = strale.do(DoRequest(
capability_slug="pep-check",
inputs={
"name": "Angela Merkel",
},
max_price_cents=5,
)) # No account. The first request answers 402 with the price in USDC;
# an x402 client pays it from your wallet and repeats the request.
curl -i 'https://api.strale.io/x402/v2/pep-check?name=Angela+Merkel' Limitations
Coverage depends on OpenSanctions dataset
Coverage depends on OpenSanctions dataset — may not include all national PEP lists
Fuzzy name matching may produce false positives
Name matching is fuzzy — common names may produce false positives. Birth date strongly recommended for disambiguation.
What to do instead: Provide birth_date parameter for disambiguation
PEP coverage varies by country — major economies and EU members have strong coverage
PEP coverage varies by country — major economies and EU members have strong coverage, smaller nations may have gaps
What to do instead: For countries with limited coverage, supplement with local registry checks or use the LLM fallback as a secondary signal
Name matching uses fuzzy logic and may produce false positives for common names
Name matching uses fuzzy logic — common names may produce false positives. Birth date strongly recommended for disambiguation
What to do instead: Always provide birth_date when available to reduce false positives. Verify flagged results against official government records
PEP lists updated multiple times per day — recently appointed officials may take up to 48 hours
PEP lists updated multiple times per day — recently appointed officials may take up to 48 hours to appear
What to do instead: For time-sensitive checks on recently appointed officials, cross-reference with news sources
Bundled checks that include it
- Nordic KYC — Sweden €1.50
- Nordic KYC — Norway €1.50
- Nordic KYC — Finland €1.50
- US Company Verify €1.30
- Enhanced Due Diligence €3.00
- Customer Risk Screen €1.00
- HR Candidate Screening €0.80
- KYB Complete — Sweden €2.50
- KYB Complete — Norway €2.50
- KYB Complete — Finland €2.50
- KYB Complete — United Kingdom €2.50
- KYB Complete — Germany €2.50
- KYB Complete — France €2.50
- KYB Complete — Belgium €2.50
- KYB Complete — Austria €2.50
- KYB Complete — Ireland €2.50
- KYB Complete — Spain €2.50
- KYB Complete — Switzerland €2.50
- KYB Complete — Poland €2.50
- KYB Complete — Singapore €2.70
- KYB Complete — Croatia €2.50
- KYB Complete — Greece €2.50
- KYB Complete — United States €2.50
- KYB Complete — Canada €2.50
- KYB Complete — Australia €2.50
Related tools
- Adverse Media Check €0.20
- AML Risk Score €0.02
- Breach Exposure Check €0.05
- Czech Unreliable VAT Payer Check €0.05
- EU Regulation Search €0.30
- French BODACC Announcements €0.05