Skip to main content
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

Requires kyc: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:
  1. Parallel web searches across multiple sources
  2. LLM analysis to filter and evaluate findings
  3. Risk scoring based on identified adverse media
  4. Structured reporting with source citations
This complements traditional watchlist checks by finding information that may not yet be in official sanctions lists.

Entity Types

The endpoint supports three entity types:

Request Body Parameters

Zero Data Retention (ephemeral mode)

You can request ephemeral processing with either the X-Data-Retention: ephemeral header or "data_retention": "ephemeral" in the JSON body. Per-request ephemeral must be enabled for your account first: the endpoint identifier adverse-media.check (or the wildcard *) has to appear in your tenant’s data_processing_config.allowed_ephemeral_endpoints, otherwise the request is rejected with a 400. Tenants can also opt in account-wide by setting data_processing_config.mode to ephemeral — the tenant-level setting always wins over per-request flags and does not require the allowlist. Contact support to enable either option on your account. When ephemeral mode is active, the API returns the normal analysis response but does not store a validation record (nothing appears in the dashboard history), does not emit the detailed audit event, and never writes the analysis report to disk. The platform retains only an aggregate billing metric (one counted adverse-media check, with no subject or outcome references); tenants with retain_billing_metrics: false suppress that too. An invalid data_retention value returns 400 before any quota is consumed.
Adverse media analysis queries third-party providers: the entity name is sent to the Tavily search API and to the configured LLM (AWS Bedrock or OpenAI), which process it under their own no-retention / non-training policies. Ephemeral mode guarantees zero retention in Legaltalent’s own stores.

Request Example

Additional Request Examples

Person with Context

Company Analysis

Website/Domain Analysis

Using OpenAI Provider

Response Format

Success Response

Response Fields

Source Fields

Each source includes:

Decision Values

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

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:
  1. Fraud/Corruption/Sanctions: Financial crimes, corruption, sanctions, laundering
  2. Criminal Records: Arrests, investigations, charges, convictions
  3. Sanction Lists: OFAC, UN, designated persons, blacklists
  4. Professional Validation: LinkedIn, professional profiles, company associations
  5. General News: Recent news articles and media coverage

Website/Domain Analysis

For website analysis, specialized searches are performed:
  1. Reputation & Reviews: User reviews, complaints, ratings
  2. Fraud Reports: Scam reports, phishing alerts, fake site warnings
  3. Security Issues: Data breaches, vulnerabilities, malware reports
  4. Blacklists: Domain blacklists, spam lists, unsafe site flags
  5. Consumer Complaints: Trustpilot, BBB, consumer complaint databases
Results are then analyzed by an LLM to:
  • 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

  1. Combine with Watchlist Checks: Use adverse media as a supplement to traditional watchlist checks
  2. Use Context: Provide country, age, and additional info to improve accuracy
  3. Choose the Right Entity Type: Use website for domain reputation checks, company for organizational analysis
  4. Handle Timeouts: Implement retry logic for production use
  5. Review Scores: Risk scores should be reviewed by compliance teams, not automated
  6. 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 person for individual background checks
    • Use company for corporate due diligence
    • Use website for merchant/partner website verification
  • Combine with traditional watchlist checks for comprehensive risk screening
  • Review summary for human-readable assessment
  • Check sources URLs to verify findings
  • Use risk scores as indicators, not definitive decisions