sanctions.io Batch Screening API
Screen up to 10,000 names in a single request.
Screen up to 10,000 names in a single request.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/sanctions-io-batch-screening-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: sanctions.io Account Management Batch Screening API
description: The sanctions.io API provides sanctions, PEP (politically exposed persons), and criminal watchlist screening for AML compliance. It covers the Screening API (v2.3) - real-time single search, batch screening of up to 10,000 records per request, adverse media search, data source listing, and full database export - and the Monitoring API (v3.1) for continuous monitoring with alerts, plus account management (tokens, company and webhook configuration, users, plans, usage). All requests require a Bearer API token in the Authorization header; the API version is selected with the Accept header, for example "application/json; version=2.3" (the adverse media endpoint requires version=3.0). Sign up for a self-serve 7-day free trial at https://api.sanctions.io/users/signup to obtain a key.
version: '2.3'
contact:
name: sanctions.io
url: https://www.sanctions.io
email: info@sanctions.io
termsOfService: https://www.sanctions.io/terms-of-service
servers:
- url: https://api.sanctions.io
description: Production
security:
- bearerAuth: []
tags:
- name: Batch Screening
description: Screen up to 10,000 names in a single request.
paths:
/search/batch/:
get:
operationId: listBatchScreenings
tags:
- Batch Screening
summary: List batch screenings
description: Returns a paginated list of batch screening requests submitted by your account.
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/page'
responses:
'200':
description: Paginated list of batch screenings.
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedList'
'401':
$ref: '#/components/responses/Unauthorized'
post:
operationId: createBatchScreening
tags:
- Batch Screening
summary: Create a batch screening
description: Screens up to 10,000 names in a single API request - ideal for periodic customer base audits, bulk vendor onboarding, or regulatory reporting. Each record supports the same parameters as real-time screening. Webhook events notify you when batch results are ready.
parameters:
- $ref: '#/components/parameters/acceptVersion'
requestBody:
required: true
content:
application/json:
schema:
type: array
maxItems: 10000
items:
$ref: '#/components/schemas/BatchScreeningRecord'
example:
- external_identifier: customer-identifier-1
name: Walther White
min_score: '0.88'
entity_type: individual
data_source: FSL
- external_identifier: customer-identifier-2
name: Pied Piper
entity_type: entity
min_score: '0.88'
data_source: FSL
responses:
'201':
description: Batch screening accepted for processing.
'401':
$ref: '#/components/responses/Unauthorized'
/search/batch/{batch_query_id}/:
get:
operationId: retrieveBatchScreening
tags:
- Batch Screening
summary: Retrieve a batch screening
description: Retrieves a batch screening request and its processing status by ID.
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/batchQueryId'
responses:
'200':
description: Batch screening detail.
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: deleteBatchScreening
tags:
- Batch Screening
summary: Delete a batch screening
description: Deletes a batch screening request by ID.
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/batchQueryId'
responses:
'204':
description: Batch screening deleted.
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/search/batch-result/{batch_result_id}/:
get:
operationId: getBatchScreeningResult
tags:
- Batch Screening
summary: Get a batch screening result
description: Retrieves the results of a completed batch screening by result ID.
parameters:
- $ref: '#/components/parameters/acceptVersion'
- name: batch_result_id
in: path
required: true
description: The batch result identifier.
schema:
type: string
responses:
'200':
description: Batch screening results.
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
components:
responses:
Unauthorized:
description: Authentication credentials were not provided or are invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
detail: Authentication credentials were not provided.
NotFound:
description: The requested resource was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
parameters:
page:
name: page
in: query
required: false
description: Page number for paginated results.
schema:
type: integer
example: 1
batchQueryId:
name: batch_query_id
in: path
required: true
description: The batch screening identifier.
schema:
type: string
acceptVersion:
name: Accept
in: header
required: false
description: Selects the API version, e.g. "application/json; version=2.3". Without the header, version 1.0 is used by default.
schema:
type: string
example: application/json; version=2.3
schemas:
Error:
type: object
properties:
detail:
type: string
BatchScreeningRecord:
type: object
required:
- name
- min_score
- data_source
properties:
external_identifier:
type: string
name:
type: string
min_score:
type: string
example: '0.88'
entity_type:
type: string
enum:
- individual
- entity
- vessel
- aircraft
data_source:
type: string
country:
type: string
date_of_birth:
type: string
format: date
identifier:
type: string
name_match_boosting_threshold:
type: number
format: float
PaginatedList:
type: object
properties:
count:
type: integer
next:
type:
- string
- 'null'
previous:
type:
- string
- 'null'
results:
type: array
items:
type: object
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: 'API token from the sanctions.io user portal, passed as "Authorization: Bearer {token}". The token may also be sent as a URL parameter, but the Authorization header is recommended.'