---
title: "OFAC Sanctions Screening"
method: POST
path: "/us/ofac/sanctions-screen/v1"
tags: ["United States", "OFAC Sanctions"]
---

# OFAC Sanctions Screening

`POST /us/ofac/sanctions-screen/v1`

## Request

- Base URL: `https://api.croma.run`
- URL: `https://api.croma.run/us/ofac/sanctions-screen/v1`
- Auth: HTTP bearer

Screen one person or company against the US Treasury's OFAC sanctions lists. Send a name, and optionally a date of birth, a country and an identity number; get back the parties that may be the same one, each with a 0 to 100 score and what decided it. Names match through typos, reordering, accents and transliterations, across primary names and aliases. Served by Croma (`as_of` says how current the data is), brought up to date daily.

**Dataset endpoint**: answers from the whole source in milliseconds and carries `as_of`.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `name` string, required: Nombre de la persona o empresa a verificar, en cualquier orden y con o sin tildes, p. ej. `Aero Caribbean Airlines`.
  - `birth_date` string: Fecha de nacimiento, `yyyy-mm-dd`, `yyyy-mm` o solo el año `yyyy` (opcional).
  - `country` string: País de la persona o empresa: nombre en inglés o código ISO de dos letras, p. ej. `Cuba` o `CU` (opcional).
  - `id_number` string: Número de pasaporte, documento de identidad, identificación tributaria o registro (opcional). Se compara sin espacios ni signos.
  - `party_type` '' | 'individual' | 'entity' | 'vessel' | 'aircraft': Tipo de parte: `individual`, `entity` (empresa u organización), `vessel` o `aircraft` (opcional).
  - `list` '' | 'sdn' | 'non_sdn': `sdn` para la lista de Specially Designated Nationals, `non_sdn` para la lista consolidada de los demás programas (opcional).
  - `threshold` integer: Puntaje mínimo, de 50 a 100, para que un candidato cuente como posible coincidencia. Por defecto `85`.
  - `limit` integer: Máximo de coincidencias a devolver (1-50). Por defecto `10`.

## Response `200`

Successful response

- OfacSanctionsScreenResponse
  - `data` OfacSanctionsScreenData, required
    - `as_of` string, nullable, required: How current the data in this response is.
    - `query` object, required
      - `name` string, required
      - `birth_date` string, nullable, required
      - `country` string, nullable, required
      - `id_number` string, nullable, required
      - `party_type` string, nullable, required
      - `list` string, nullable, required
    - `threshold` number, required: The score a party had to reach to be returned.
    - `matched` boolean, required: Whether any party reached the threshold.
    - `count` number, required
    - `hits` object[], required: The parties that reached the threshold, closest first.
      - `score` number, required: How closely the party matches the subject, 0 to 100.
      - `matched_name` string, required: The name of the party's that matched best: its primary name or one of its aliases, as OFAC writes it.
      - `matched_on` 'name' | 'alias', required: Whether `matched_name` is the party's primary name or an alias.
      - `breakdown` object, required: What decided the score.
        - `name` object, required
          - `score` number, required: How alike the names are, 0 to 100.
          - `weight` number, required: The name's share of the score, 0 to 1.
        - `birth_date` object, required
          - `result` 'match' | 'partial' | 'mismatch' | 'not_compared', required: `match`, `partial` (same year, another day), `mismatch`, or `not_compared` when the subject or the record has none.
          - `score` number, nullable, required: 100 for a match, 50 for a partial one, -100 for a mismatch; null when not compared.
          - `weight` number, required: The date of birth's share of the score, 0 to 1; 0 when not compared.
          - `value` string, nullable, required: The date of birth OFAC records that was compared, as it writes it.
        - `country` object, required
          - `result` 'match' | 'mismatch' | 'not_compared', required: `match`, `mismatch`, or `not_compared` when the subject or the record has none.
          - `score` number, nullable, required: 100 for a match, -50 for a mismatch; null when not compared.
          - `weight` number, required: The country's share of the score, 0 to 1; 0 when not compared.
          - `value` string, nullable, required: The party's country that matched, or one it has when none did, as OFAC writes it.
        - `id_number` object, required
          - `result` 'match' | 'no_match' | 'not_compared', required: `match` sets the score to 100 whatever the rest says; `no_match` changes nothing, since the party may hold other documents.
          - `value` string, nullable, required: The number OFAC records that matched.
      - `party` object, required
        - `id` string, required: The list and OFAC's own entity number, joined by a hyphen, e.g. `sdn-36`: the key.
        - `list` 'sdn' | 'non_sdn', required: `sdn` for the Specially Designated Nationals and Blocked Persons list, `non_sdn` for the consolidated list of the other sanctions programs.
        - `entity_number` integer, required: OFAC's own number for the party, unique within its list.
        - `name` string, required: The party's primary name as OFAC writes it: `LAST, First` for a person.
        - `party_type` 'individual' | 'entity' | 'vessel' | 'aircraft', required: `individual`, `entity` (a company or organisation), `vessel` or `aircraft`.
        - `programs` string[], required: The sanctions programs the party is designated under, e.g. `RUSSIA-EO14024`, `SDGT`, `CUBA`.
        - `title` string, nullable, required: The person's title or role, when OFAC records one.
        - `remarks` string, nullable, required: OFAC's own note, which is where dates and places of birth, passport and tax numbers and other identifiers are written.
        - `vessel` object, nullable, required: Set only for a vessel.
          - `call_sign` string, nullable, required
          - `type` string, nullable, required
          - `tonnage` string, nullable, required
          - `gross_registered_tonnage` string, nullable, required
          - `flag` string, nullable, required
          - `owner` string, nullable, required
        - `aliases` object[], required: Every other name OFAC records for the party.
          - `type` string, required: `aka` also known as, `fka` formerly known as, `nka` now known as.
          - `name` string, required
          - `remarks` string, nullable, required
        - `alias_names` string[], required: The alias names alone, for search.
        - `addresses` object[], required: Every address OFAC records for the party.
          - `address` string, nullable, required
          - `city_state_province` string, nullable, required: The rest of the line as OFAC writes it: city, state or province and postal code together.
          - `country` string, nullable, required
          - `remarks` string, nullable, required
        - `countries` string[], required: The distinct countries of the party's addresses.

## Other responses

- `400`: Invalid request body
- `401`: Missing or invalid API key
- `429`: Rate limit exceeded
- `500`: Internal error
- `502`: Upstream source returned an error

---

[API](https://skmtc.dev/usecroma/apis/croma-marketplace-api.md) · [All operations](https://skmtc.dev/usecroma/apis/croma-marketplace-api/llms.txt) · [OpenAPI document](https://skmtc.dev/usecroma/apis/croma-marketplace-api/revisions/df016cdb29d7?raw)
