Entitylight Ofac Screenings API

The Ofac Screenings API from Entitylight — 2 operation(s) for ofac screenings.

Operations 2

POST /ofac-screenings Screen a name against sanctions, debarment, wanted and PEP lists #
GET /ofac-screenings/{ofacScreeningId} Get an OFAC screening #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/entitylight:entitylight-ofac-screenings-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

entitylight-ofac-screenings-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Entitylight Ofac Screenings API
  version: 1.0.0
  description: Look up a business's Secretary of State record, UCC filings and court cases, with names as filed, and watch businesses for new filings and lawsuits.
servers:
- url: https://api.entitylight.com/v1
security:
- apiKey: []
tags:
- name: Ofac Screenings
paths:
  /ofac-screenings:
    post:
      summary: Screen a name against sanctions, debarment, wanted and PEP lists
      description: Searches OFAC's SDN and non-SDN lists and the other lists in sources for the name, and answers at once with every listed party scoring minScore or more. A match is a lead for review, not a finding. Counts as one lookup; a screening that couldn't search the lists isn't charged.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OfacScreeningRequest'
      responses:
        '201':
          description: Screened
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfacScreening'
        '401':
          description: Missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '402':
          description: The plan has no lookups left
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Invalid fields
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: More than 60 requests a minute for this key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: The lists couldn't be searched; not charged
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Ofac Screenings
      operationId: postOfacScreenings
      x-operation-id-source: derived
  /ofac-screenings/{ofacScreeningId}:
    get:
      summary: Get an OFAC screening
      parameters:
      - name: ofacScreeningId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: The screening as it ran
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfacScreening'
        '401':
          description: Missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: No OFAC screening with that id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: More than 60 requests a minute for this key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Ofac Screenings
      operationId: getOfacScreeningsByOfacScreeningId
      x-operation-id-source: derived
components:
  schemas:
    OfacScreening:
      type: object
      properties:
        id:
          type: string
          format: uuid
          pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
        name:
          type: string
          description: The name screened
        type:
          anyOf:
          - type: string
            enum:
            - person
            - organization
            - vessel
            - aircraft
          - type: 'null'
          description: The type screened; null when all types were
        birthDate:
          type:
          - string
          - 'null'
        country:
          type:
          - string
          - 'null'
        minScore:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        lists:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                enum:
                - SDN
                - NONSDN
                - UN
                - FSF
                - FCDO
                - SECO
                - DFAT
                - SEMA
                - BFS
                - DNSL
                - TOUA
                - LFIU
                - REPET
                - MAS
                - FINCEN
                - DPL
                - SAM
                - LEIE
                - INTERPOL
                - PEP
              name:
                type: string
              dataAsOf:
                description: ISO 8601. When our copy of the list was last refreshed
                type:
                - string
                - 'null'
            required:
            - code
            - name
            - dataAsOf
            additionalProperties: false
          description: The lists searched
        matchCount:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        matches:
          type: array
          items:
            type: object
            properties:
              score:
                type: integer
                minimum: -9007199254740991
                maximum: 9007199254740991
                description: 0 to 100; 100 is an exact name match with nothing contradicting it
              nameMatched:
                type: object
                properties:
                  searched:
                    type: string
                  listed:
                    type: string
                    description: The listed name or alias that matched
                  as:
                    type: string
                    enum:
                    - primary_name
                    - alias
                    - weak_alias
                required:
                - searched
                - listed
                - as
                additionalProperties: false
              conflicts:
                type: array
                items:
                  type: string
                  enum:
                  - birthDate
                  - country
                description: Fields you sent that contradict the listing, which lowered the score
              party:
                type: object
                properties:
                  type:
                    anyOf:
                    - type: string
                      enum:
                      - person
                      - organization
                      - vessel
                      - aircraft
                    - type: 'null'
                    description: null when the list doesn't say whether the party is a person or an organization
                  name:
                    type: string
                    description: The name the party is listed under
                  lists:
                    type: array
                    items:
                      type: string
                      enum:
                      - SDN
                      - NONSDN
                      - UN
                      - FSF
                      - FCDO
                      - SECO
                      - DFAT
                      - SEMA
                      - BFS
                      - DNSL
                      - TOUA
                      - LFIU
                      - REPET
                      - MAS
                      - FINCEN
                      - DPL
                      - SAM
                      - LEIE
                      - INTERPOL
                      - PEP
                    description: Every searchable list the party is on
                  categories:
                    type: array
                    items:
                      type: string
                      enum:
                      - sanction
                      - debarment
                      - pep
                      - wanted
                  aliases:
                    type: array
                    items:
                      type: string
                  weakAliases:
                    type: array
                    items:
                      type: string
                    description: Loose aliases the lists themselves flag as weak; a match on one alone is rarely the same party
                  birthDates:
                    type: array
                    items:
                      type: string
                    description: YYYY-MM-DD, or YYYY where only the year is listed
                  nationalities:
                    type: array
                    items:
                      type: string
                    description: Two-letter country codes
                  countries:
                    type: array
                    items:
                      type: string
                    description: Two-letter country codes
                  addresses:
                    type: array
                    items:
                      type: string
                  identifiers:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          enum:
                          - registration_number
                          - id_number
                          - passport_number
                          - tax_id
                          - lei
                          - swift_bic
                          - sam_uei
                          - imo_number
                          - mmsi
                          - call_sign
                          - serial_number
                        value:
                          type: string
                      required:
                      - type
                      - value
                      additionalProperties: false
                  positions:
                    type: array
                    items:
                      type: string
                    description: Offices and roles, mostly for politically exposed persons
                  remarks:
                    type: array
                    items:
                      type: string
                    description: Remarks printed on the lists
                  sourceLinks:
                    type: array
                    items:
                      type: string
                    description: Pages the listing cites
                required:
                - type
                - name
                - lists
                - categories
                - aliases
                - weakAliases
                - birthDates
                - nationalities
                - countries
                - addresses
                - identifiers
                - positions
                - remarks
                - sourceLinks
                additionalProperties: false
            required:
            - score
            - nameMatched
            - conflicts
            - party
            additionalProperties: false
          description: Best score first. Empty means no listed party scored minScore or more
        truncated:
          type: boolean
          description: The search hit its 100-match limit, so lower-scoring matches may be missing. Add a birth date or country, narrow sources, or raise minScore
        createdAt:
          type: string
          description: ISO 8601
      required:
      - id
      - name
      - type
      - birthDate
      - country
      - minScore
      - lists
      - matchCount
      - matches
      - truncated
      - createdAt
      additionalProperties: false
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            issues:
              type: array
              items:
                type: object
                properties:
                  path:
                    type: string
                  message:
                    type: string
                required:
                - path
                - message
                additionalProperties: false
          required:
          - code
          - message
          additionalProperties: false
      required:
      - error
      additionalProperties: false
    OfacScreeningRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 2
          maxLength: 200
          description: The business or person to screen
        type:
          description: Screen only this type of listed party. All four types when left out.
          type: string
          enum:
          - person
          - organization
          - vessel
          - aircraft
        birthDate:
          description: A person's date or year of birth. Listed people born on another date score lower. Needs type person.
          type: string
          pattern: ^\d{4}(-\d{2}-\d{2})?$
        country:
          description: Two-letter country code. Listed parties tied to other countries score lower.
          type: string
          pattern: ^[A-Z]{2}$
        sources:
          description: 'The lists to search: SDN, NONSDN, UN, FSF, FCDO, SECO, DFAT, SEMA, BFS, DNSL, TOUA, LFIU, REPET, MAS, FINCEN, DPL, SAM, LEIE, INTERPOL, PEP. All of them when left out.'
          minItems: 1
          type: array
          items:
            type: string
        minScore:
          default: 95
          description: The lowest score returned, 80 to 100. 95 when left out; lower it to catch misspellings, at the cost of more false matches.
          type: integer
          minimum: 80
          maximum: 100
      required:
      - name
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer