{
  "openapi": "3.0.1",
  "info": {
    "title": "Sanctions Screening API - sanctions.io PEP, Watchlist, Media",
    "description": "Sanctions, PEP, criminal watchlist and adverse media screening with the sanctions.io API: screen people, companies, vessels and aircraft against OFAC, UN, EU, UK and 40+ lists, read batch screening matches and monitoring alerts, and list watchlist sources. Bring your own key.",
    "version": "0.1",
    "x-build-id": "FuXLePZifKZDk3krX"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nabeelbaghoor~sanctions-io-screening-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nabeelbaghoor-sanctions-io-screening-api",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/nabeelbaghoor~sanctions-io-screening-api/runs": {
      "post": {
        "operationId": "runs-sync-nabeelbaghoor-sanctions-io-screening-api",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/nabeelbaghoor~sanctions-io-screening-api/run-sync": {
      "post": {
        "operationId": "run-sync-nabeelbaghoor-sanctions-io-screening-api",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "mode": {
            "title": "What to do",
            "enum": [
              "screen",
              "adverseMedia",
              "batchResults",
              "monitoringAlerts",
              "monitoringEntries",
              "batchList",
              "dataSources"
            ],
            "type": "string",
            "description": "Screen runs one sanctions.io screening per name against the sanctions, PEP and criminal watchlists you pick and returns one row per match; each name counts as a screening on your sanctions.io plan. Adverse media returns news articles about each name. The other modes only read your account: batch screening results, monitoring alerts, monitoring entries, the batch screenings list and the watchlist sources with their short codes.",
            "default": "screen"
          },
          "names": {
            "title": "Names to screen",
            "type": "array",
            "description": "Screen and Adverse media. One person, company, vessel or aircraft name per line (at most 15 words each, up to 1,000 per run). Use the full legal or registered name when you have it.",
            "items": {
              "type": "string"
            }
          },
          "collections": {
            "title": "Screening collections",
            "type": "array",
            "description": "Screen only. Groups of lists to screen against: all sanctions lists, the global PEP database, criminal watchlists (FBI, Interpol) and high risk jurisdiction lists. Combine with source codes below, or use source codes alone.",
            "items": {
              "type": "string",
              "enum": [
                "SANCTIONS-LISTS",
                "PEP",
                "CRIME",
                "HIGH-RISK-JURISDICTIONS"
              ],
              "enumTitles": [
                "All sanctions lists",
                "Politically exposed persons (PEP)",
                "Criminal watchlists (FBI, Interpol)",
                "High risk jurisdictions"
              ]
            }
          },
          "sourceCodes": {
            "title": "Source short codes",
            "type": "array",
            "description": "Screen only. Individual watchlists by short code, such as SDN, NONSDN, CFSP, UK-SANCTIONS, EL or DPL. The Watchlist data sources mode lists every code. At least one collection or code is required.",
            "items": {
              "type": "string"
            }
          },
          "minScore": {
            "title": "Minimum score",
            "minimum": 0.8,
            "maximum": 1,
            "type": "number",
            "description": "Screen only. The lowest confidence score (0.8 to 1) a match needs to be returned. sanctions.io recommends 0.88 as a balanced start and 0.93 for stricter matching.",
            "default": 0.88
          },
          "entityType": {
            "title": "Entity type",
            "enum": [
              "individual",
              "entity",
              "vessel",
              "aircraft"
            ],
            "type": "string",
            "description": "Screen only. Individual, entity (organisation), vessel or aircraft. sanctions.io strongly recommends setting it: it targets the right lists and decides which attributes apply."
          },
          "country": {
            "title": "Country",
            "type": "string",
            "description": "Screen only. One ISO 3166-1 alpha-2 code, such as US or RU: nationality or residence for people, incorporation or operating country for organisations. Cuts false positives."
          },
          "dateOfBirth": {
            "title": "Date of birth",
            "type": "string",
            "description": "Screen only, individuals. YYYY-MM-DD. Strongly recommended for PEP screening."
          },
          "yearOfBirth": {
            "title": "Year of birth",
            "minimum": 1850,
            "maximum": 2100,
            "type": "integer",
            "description": "Screen only, individuals. Four digit year of birth, when the full date is not known."
          },
          "identifier": {
            "title": "Identifier",
            "type": "string",
            "description": "Screen only, with one name. A passport, national ID, tax ID, email, company domain, SWIFT code, IMO number, aircraft registration or wallet address (at most 120 characters), searched alongside the name."
          },
          "nameBoostThreshold": {
            "title": "Name match boosting threshold",
            "minimum": 0.7,
            "maximum": 1,
            "type": "number",
            "description": "Screen only. When the name match score reaches this value, it replaces the overall score. sanctions.io recommends 0.93 to 0.95; lower values raise false positives. Leave empty to turn it off."
          },
          "identifierBoostThreshold": {
            "title": "Identifier match boosting threshold",
            "minimum": 0.7,
            "maximum": 1,
            "type": "number",
            "description": "Screen only, with an identifier. When the identifier match score reaches this value, it replaces the overall score. Leave empty to turn it off."
          },
          "matchesPerName": {
            "title": "Matches per name",
            "minimum": 1,
            "maximum": 250,
            "type": "integer",
            "description": "Screen only. The most matches read for each name. sanctions.io returns 25 per page and each further page is one more API call.",
            "default": 25
          },
          "mediaKeywords": {
            "title": "Adverse media keywords",
            "type": "array",
            "description": "Adverse media only. Keep articles on these risk topics. Leave empty for every topic.",
            "items": {
              "type": "string",
              "enum": [
                "OrganizedCrime",
                "InsiderTrading",
                "RegulatoryEnforcement",
                "ESGRisk",
                "HumanRightsAbuse",
                "Corruption",
                "DrugTrafficking",
                "LawEnforcementAction",
                "CrimeGeneral",
                "TerrorismFinancing",
                "TaxEvasion",
                "Sanctions",
                "IllegalGambling",
                "EnvironmentalCrime",
                "CryptoCurrency",
                "HumanTrafficking",
                "Cybercrime",
                "SexualOffenses",
                "AntitrustViolation",
                "BankruptcyInsolvency",
                "ViolentCrime",
                "JudicialAction",
                "Fraud",
                "FinancialCrime"
              ],
              "enumTitles": [
                "Organized crime",
                "Insider trading",
                "Regulatory enforcement",
                "ESG risk",
                "Human rights abuse",
                "Corruption",
                "Drug trafficking",
                "Law enforcement action",
                "Crime (general)",
                "Terrorism financing",
                "Tax evasion",
                "Sanctions",
                "Illegal gambling",
                "Environmental crime",
                "Cryptocurrency",
                "Human trafficking",
                "Cybercrime",
                "Sexual offenses",
                "Antitrust violation",
                "Bankruptcy and insolvency",
                "Violent crime",
                "Judicial action",
                "Fraud",
                "Financial crime"
              ]
            }
          },
          "mediaCountries": {
            "title": "News countries",
            "type": "array",
            "description": "Adverse media only. ISO 3166-1 alpha-2 codes of the countries the news comes from, such as US or BR.",
            "items": {
              "type": "string"
            }
          },
          "mediaLanguages": {
            "title": "News languages",
            "type": "array",
            "description": "Adverse media only. Two letter ISO 639-1 language codes, such as en or pt.",
            "items": {
              "type": "string"
            }
          },
          "mediaEntityType": {
            "title": "Media subject type",
            "enum": [
              "Individual",
              "Entity"
            ],
            "type": "string",
            "description": "Adverse media only. Restrict the search to an individual or an entity."
          },
          "precise": {
            "title": "Precise name matching",
            "type": "boolean",
            "description": "Adverse media only. Stricter name matching, for fewer but closer articles.",
            "default": false
          },
          "mediaMinScore": {
            "title": "Adverse media minimum score",
            "minimum": 0.65,
            "maximum": 1,
            "type": "number",
            "description": "Adverse media only. The lowest confidence score (0.65 to 1) an article needs. Leave empty for the sanctions.io default of 0.8."
          },
          "publishedFrom": {
            "title": "Published from",
            "type": "string",
            "description": "Adverse media only. Articles published on or after this date, YYYY-MM-DD."
          },
          "publishedTo": {
            "title": "Published to",
            "type": "string",
            "description": "Adverse media only. Articles published on or before this date, YYYY-MM-DD."
          },
          "articlesPerName": {
            "title": "Articles per name",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Adverse media only. The most articles read for each name, up to 100 per API call.",
            "default": 25
          },
          "batchIds": {
            "title": "Batch screening IDs",
            "type": "array",
            "description": "Batch screening results only. IDs of batch screenings in your account (the Batch screenings list mode gives them). sanctions.io keeps batches for 30 days.",
            "items": {
              "type": "string"
            }
          },
          "batchProcessed": {
            "title": "Batch status",
            "enum": [
              "any",
              "true",
              "false"
            ],
            "type": "string",
            "description": "Batch screenings list only. All batches, only finished ones, or only those still processing.",
            "default": "any"
          },
          "batchFrom": {
            "title": "Batches from",
            "type": "string",
            "description": "Batch screenings list only. Batches created on or after this date, YYYY-MM-DD."
          },
          "batchTo": {
            "title": "Batches to",
            "type": "string",
            "description": "Batch screenings list only. Batches created before this date, YYYY-MM-DD."
          },
          "monitoringIds": {
            "title": "Monitoring entry IDs",
            "type": "array",
            "description": "Monitoring alerts only. IDs of monitoring entries (the Monitoring entries mode gives them). Each alert raised for the entry becomes one row with its review status.",
            "items": {
              "type": "string"
            }
          },
          "monitoringFilter": {
            "title": "Monitoring filter",
            "enum": [
              "all",
              "withAlerts",
              "withoutAlerts",
              "newMatches",
              "falsePositives",
              "realPositives"
            ],
            "type": "string",
            "description": "Monitoring entries only. All entries, or only those with alerts, without alerts, with new unreviewed matches, with dismissed false positives or with confirmed real positives.",
            "default": "all"
          },
          "monitoringSearch": {
            "title": "Monitoring search",
            "type": "string",
            "description": "Monitoring entries only. Free text search across entry names and external identifiers."
          },
          "showInactive": {
            "title": "Include deleted entries",
            "type": "boolean",
            "description": "Monitoring entries only. Also list inactive (deleted) monitoring entries.",
            "default": false
          },
          "maxResults": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "The most rows this run returns. In Screen and Adverse media modes the run stops starting new screenings once it is reached, so no screening is wasted.",
            "default": 100
          },
          "requestsPerMinute": {
            "title": "Requests per minute",
            "minimum": 1,
            "maximum": 600,
            "type": "integer",
            "description": "Pacing. A rate limit answer is waited out and retried.",
            "default": 60
          },
          "apiKey": {
            "title": "API key",
            "type": "string",
            "description": "Your own sanctions.io API token, from Settings, API and Webhooks in the sanctions.io portal. Stored as a secret, sent only to api.sanctions.io in the Authorization header as a Bearer token, and never logged. You can instead set the DATA_API_KEY environment secret."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}