| Field | Type | Constraints |
|---|---|---|
| ofacId* | integer ($int32) | OFAC ID from Settings Page. |
| apiKey* | string | API Key from Settings Page. |
| listsToSearch | integer ($int32) |
Select the list(s) to search using the following codes:
Use |
| dataType | integer ($int32) |
Specify the type of data being searched:
Use 3 if you're unsure whether the subject is a person or entity. For specific search, use types 41–45. |
| word1* | string |
Split the search term into up to five components: Example 1: Input: "John Smith" Output: word1 = John, word2 = Smith, word3–5 = blank Example 2: Input: "IRAN PETROCHEMICAL COMMERCIAL COMPANY" Output: word1 = IRAN, word2 = PETROCHEMICAL, word3 = COMMERCIAL, word4 = COMPANY, word5 = blank |
| word2 | string | |
| word3 | string | |
| word4 | string | |
| word5 | string | |
| address | string | NOTE: These fields will not always change search results as the OFAC/Other lists do not always include this type of data. These fields are included on the reports/XML Output. |
| city | string | |
| stProv | string | |
| postalCode | string | |
| country | string | |
| dob | string | Date of birth in the format MM-DD-YYYY |
| searchComments | string | Optional comments for internal use. This is not searched but will appear in the generated report Data. |
A search costs the server about 10 ms. Almost everything else a caller waits for is connection setup: opening a new HTTPS connection for every request adds a full TCP + TLS handshake each time. Reuse one connection and that cost is paid once.
| How the API is called | Per request (median) | Throughput at 10 in parallel |
|---|---|---|
| New connection for every request | ~236 ms | ~41 searches / second |
| One connection reused (keep-alive) | ~87 ms | ~85 searches / second |
Measured 2026-09-03 from a client in the United States. Your distance to the server changes the absolute numbers, not the ratio.
HttpClient in .NET, a requests.Session in Python, a single fetch-capable browser tab, or keep-alive in any HTTP library. Do not create a new client per search.searchKey and audit record.Server-Timing: app;dur=<ms> header with the server-side time for that request — if your measured latency is far above it, the difference is the network between us.