Compliance Screening
Adverse Media Check
POST
Perform adverse media analysis on entities to identify negative news, sanctions, criminal records, and other risk factors beyond traditional watchlist checks. Supports analysis of persons, companies, and websites/domains.
Endpoint
Authentication
Requireskyc:create permission. Include your Bearer token in the Authorization header.
Description
The adverse media check uses AI-powered analysis to search and evaluate publicly available information about an entity. It performs:- Parallel web searches across multiple sources
- LLM analysis to filter and evaluate findings
- Risk scoring based on identified adverse media
- Structured reporting with source citations
Entity Types
The endpoint supports three entity types:| Type | Description | Search Focus |
|---|---|---|
person | Individual analysis (default) | Fraud, sanctions, criminal records, professional profiles |
company | Company/organization analysis | Corporate fraud, regulatory violations, sanctions |
website | Website/domain reputation | Fraud reports, security issues, blacklists, consumer complaints |
Request Body Parameters
Request Example
Additional Request Examples
Person with Context
Company Analysis
Website/Domain Analysis
Using OpenAI Provider
Response Format
Success Response
Response Fields
| Field | Type | Description |
|---|---|---|
final_risk_score | integer | Risk score from 0-100 (higher = higher risk) |
decision | string | Risk decision: CLEAR, LOW_RISK, MEDIUM_RISK, or HIGH_RISK |
summary | string | Summary of findings and risk assessment (max 300 chars) |
sources | array | List of adverse media sources found (empty if CLEAR) |
entity_name | string | Name of the analyzed entity |
entity_type | string | Type of entity analyzed: person, company, or website |
country | string | Country (if provided) |
age | integer | Age (if provided, 0 otherwise) |
analysis_timestamp | string | ISO 8601 timestamp of the analysis |
processing_time_ms | integer | Total processing time in milliseconds |
Source Fields
Each source includes:| Field | Type | Description |
|---|---|---|
id | integer | Unique source identifier (1-indexed) |
title | string | Title of the source/article (max 100 chars) |
url | string | URL to the source |
summary | string | Summary explaining why this source is adverse (max 200 chars) |
Decision Values
| Decision | Score Range | Description |
|---|---|---|
CLEAR | 0-20 | No significant adverse media found |
LOW_RISK | 21-40 | Minor adverse findings |
MEDIUM_RISK | 41-70 | Moderate adverse findings requiring review |
HIGH_RISK | 71-100 | Significant adverse findings, strong risk indicators |
Clear Response (No Adverse Media)
Website Analysis Response
Error Responses
400 Bad Request - Missing Name
400 Bad Request - Invalid Entity Type
500 Internal Server Error - Configuration Error
500 Internal Server Error - Analysis Failed
Status Codes
| Code | Description |
|---|---|
| 200 | Success - Analysis completed |
| 400 | Bad Request - Invalid parameters |
| 401 | Unauthorized - Missing or invalid token |
| 403 | Forbidden - Insufficient permissions |
| 500 | Internal Server Error |
Usage Examples
Python Example
Python - Website Analysis
JavaScript Example
Search Process
Person/Company Analysis
The adverse media check for persons and companies performs parallel searches across:- Fraud/Corruption/Sanctions: Financial crimes, corruption, sanctions, laundering
- Criminal Records: Arrests, investigations, charges, convictions
- Sanction Lists: OFAC, UN, designated persons, blacklists
- Professional Validation: LinkedIn, professional profiles, company associations
- General News: Recent news articles and media coverage
Website/Domain Analysis
For website analysis, specialized searches are performed:- Reputation & Reviews: User reviews, complaints, ratings
- Fraud Reports: Scam reports, phishing alerts, fake site warnings
- Security Issues: Data breaches, vulnerabilities, malware reports
- Blacklists: Domain blacklists, spam lists, unsafe site flags
- Consumer Complaints: Trustpilot, BBB, consumer complaint databases
- Filter false positives
- Evaluate relevance to the specific entity
- Assess risk factors
- Generate concise summaries
Provider Options
AWS Bedrock (Default)
- Provider:
"bedrock" - Model: Claude 3.5 Haiku (with fallback to Claude 3 Haiku)
- Use Case: Production deployments on AWS, no API key required (uses IAM role)
OpenAI
- Provider:
"openai" - Model: Specify model (default:
"gpt-4o-mini") - Use Case: High-precision analysis, specific model requirements
Performance
- Typical Response Time: 5-10 seconds
- Timeout: 10 seconds per LLM call
- Retries: Automatic retries on timeout (up to 3 attempts)
- Search Sources: Up to 15 sources analyzed per request
- LLM Analysis: Includes timeout protection and error handling
Integration Tips
- Combine with Watchlist Checks: Use adverse media as a supplement to traditional watchlist checks
- Use Context: Provide country, age, and additional info to improve accuracy
- Choose the Right Entity Type: Use
websitefor domain reputation checks,companyfor organizational analysis - Handle Timeouts: Implement retry logic for production use
- Review Scores: Risk scores should be reviewed by compliance teams, not automated
- Source Verification: Always verify adverse sources before making decisions
Best Practices
-
Use adverse media checks for:
- Enhanced due diligence on individuals
- Company/organization risk assessment
- Website reputation verification before partnerships
- Ongoing monitoring
- Risk assessment for high-value relationships
- Compliance investigations
-
Entity Type Selection:
- Use
personfor individual background checks - Use
companyfor corporate due diligence - Use
websitefor merchant/partner website verification
- Use
- Combine with traditional watchlist checks for comprehensive risk screening
-
Review
summaryfor human-readable assessment -
Check
sourcesURLs to verify findings - Use risk scores as indicators, not definitive decisions