How does OFAC / watchlist name matching work, and can we adjust the threshold?

Last updated: September 26, 2026

Watchlist screening is name-based. Sanctions and exclusion lists carry names, aliases, and sometimes addresses or dates of birth.

In a business or person search. Every enabled list is screened at a name-similarity threshold that you control. The default is a conservative 0.95 for each list, which surfaces close variants of a name while filtering out loose matches. You can raise or lower it per list, or disable a list entirely, from the Settings tab on your profile page in the console. Because matching is name-based, false positives on common names can appear, which most customers route to a human for review.

Standalone screening. When you screen a name directly, the threshold is yours to set based on your risk policy, along with which lists to screen and how many matches to return:

  • POST /ofac/searches screens one name against OFAC. POST /pep/searches does the same for PEP.

  • GET /watchlists screens one name across any combination of lists in a single call.

  • POST /ofac/searches/batches screens a CSV of names against OFAC and returns a downloadable results file. Supports an optional date_of_birth column (YYYY-MM-DD format) for stricter matching.

Each route accepts a similarity_threshold between 0 and 1 (higher is stricter) and a limit on matches per list. Each match includes its similarity_score so you can apply your own cutoff after the fact.

Using a date of birth:

Batch OFAC screening accepts an optional date of birth per row. When a list entry has a recorded birth date or birth year that does not match, it is dropped from the results. Entries with no birth information on the list are kept, so a name-only match can still appear. This removes a large share of false positives for individuals.