Adverse Media Check
Search adverse news about a person or company. Returns a risk level, category counts and linked headlines for review.
adverse-media-check Example
{
"query": "Wirecard AG",
"period": "last 12 months",
"source": "dilisense",
"categories": {
"political": 19,
"regulatory": 94,
"financial_crime": 187,
"organized_crime": 12
},
"risk_level": "high",
"total_hits": 312,
"screened_at": "2026-04-27T13:00:00.000Z",
"top_articles": [
{
"category": "financial_crime",
"headline": "Wirecard scandal: how the German fintech collapsed",
"language": "en",
"timestamp": "2026-04-20T10:00:00",
"source_link": "https://example.com/wirecard-scandal"
}
],
"lists_queried": {
"version": null,
"collection": "dilisense/adverse-media",
"source_count": 235000,
"last_updated_at": null
},
"categories_found": [
"financial_crime",
"regulatory",
"organized_crime",
"political"
],
"severe_categories": [
"financial_crime",
"organized_crime",
"terrorism",
"violent_crime"
],
"risk_level_thresholds": {
"low": "total_hits > 0 AND no hits in severe categories (financial_crime, organized_crime, terrorism, violent_crime)",
"high": "10+ hits in any single severe category",
"none": "total_hits == 0",
"medium": "1+ hits in any severe category"
}
} Inputs
| Field | Type | Required | What it is |
|---|---|---|---|
name | string | Yes | Person or company name to screen |
country | string | No | Additional context like industry or country (optional) |
entity_name | string | No | Alias for name (optional) |
entity_type | one of person, company | No | Override auto-detection of entity type (optional) |
Output fields
How reliably each field appears in a successful answer.
| Field | Type | Appears |
|---|---|---|
query | string | Always (present in every successful answer) |
period | string | Always (present in every successful answer) |
source | one of dilisense, serper | Always (present in every successful answer) |
categories | object | Always (present in every successful answer) |
risk_level | one of none, low, medium, high | Always (present in every successful answer) |
total_hits | integer | Always (present in every successful answer) |
screened_at | string | Always (present in every successful answer) |
top_articles | array | Always (present in every successful answer) |
lists_queried | object | Always (present in every successful answer) |
fallback_reason | string or null | Sometimes (present only for some inputs) |
categories_found | array | Always (present in every successful answer) |
severe_categories | array | Always (present in every successful answer) |
risk_level_thresholds | object | Always (present in every successful answer) |
unresolved_source_links | — | Usually (present for most inputs) |
link_resolution_attempted | — | Usually (present for most inputs) |
How to call it
The same tool through each route. MCP clients reach it through Strale’s server at https://api.strale.io/mcp; the call below is what the agent sends.
# Needs an API key. max_price_cents caps what this call may cost.
curl -X POST https://api.strale.io/v1/do \
-H "Authorization: Bearer $STRALE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"capability_slug": "adverse-media-check",
"inputs": {
"name": "Wirecard AG",
"entity_type": "company"
},
"max_price_cents": 20
}' {
"tool": "strale_execute",
"arguments": {
"slug": "adverse-media-check",
"inputs": {
"name": "Wirecard AG",
"entity_type": "company"
},
"max_price_cents": 20
}
} import { Strale } from "straleio";
const strale = new Strale({ apiKey: process.env.STRALE_API_KEY! });
const result = await strale.do({
capability_slug: "adverse-media-check",
inputs: {
"name": "Wirecard AG",
"entity_type": "company"
},
max_price_cents: 20,
}); import os
from straleio import Strale, DoRequest
strale = Strale(api_key=os.environ["STRALE_API_KEY"])
result = strale.do(DoRequest(
capability_slug="adverse-media-check",
inputs={
"name": "Wirecard AG",
"entity_type": "company",
},
max_price_cents=20,
)) # No account. The first request answers 402 with the price in USDC;
# an x402 client pays it from your wallet and repeats the request.
curl -i 'https://api.strale.io/x402/v2/adverse-media-check?name=Wirecard+AG&entity_type=company' Limitations
AI-classified results may miss subtle risk signals
AI-classified results — may miss subtle risk signals or produce false positives
Limited to publicly indexed web content
Limited to publicly indexed web content — paywalled news sources not covered
English-language bias
English-language bias — non-English media coverage may be underrepresented
Recency depends on search index freshness
Recency depends on search index freshness (typically 24-48h delay)
AI-categorized results may produce false positives for common names
AI-categorized results — may produce false positives for common names or names that appear in unrelated news contexts
What to do instead: Review top articles manually to confirm relevance. Use entity_type parameter to improve precision
Screens 235,000+ sources but paywalled content may not be fully indexed
Screens 235,000+ sources but paywalled content may not be fully indexed. Non-English language coverage varies by region
What to do instead: For high-stakes screening, supplement with manual searches in local-language news sources
Articles typically appear in near real-time with 24-48 hour indexing delay for some sources
Articles typically appear in near real-time but some sources may have a 24-48 hour indexing delay
What to do instead: For breaking news events, supplement with direct web search
Bundled checks that include it
- Nordic KYC — Sweden €1.50
- Nordic KYC — Norway €1.50
- Nordic KYC — Finland €1.50
- US Company Verify €1.30
- Enhanced Due Diligence €3.00
- Customer Risk Screen €1.00
- KYB Complete — Sweden €2.50
- Invoice Verify — Sweden €2.50
- KYB Complete — Norway €2.50
- Invoice Verify — Norway €2.50
- KYB Complete — Finland €2.50
- Invoice Verify — Finland €2.50
- KYB Complete — United Kingdom €2.50
- Invoice Verify — United Kingdom €2.50
- KYB Complete — Germany €2.50
- Invoice Verify — Germany €2.50
- KYB Complete — France €2.50
- Invoice Verify — France €2.50
- KYB Complete — Belgium €2.50
- Invoice Verify — Belgium €2.50
- KYB Complete — Austria €2.50
- Invoice Verify — Austria €2.50
- KYB Complete — Ireland €2.50
- Invoice Verify — Ireland €2.50
- KYB Complete — Spain €2.50
- Invoice Verify — Spain €2.50
- KYB Complete — Switzerland €2.50
- Invoice Verify — Switzerland €2.50
- KYB Complete — Poland €2.50
- KYB Complete — Singapore €2.70
- Invoice Verify — Poland €2.50
- Invoice Verify — Singapore €2.77
- KYB Complete — Croatia €2.50
- Invoice Verify — Croatia €2.50
- KYB Complete — Greece €2.50
- Invoice Verify — Greece €2.50
- KYB Complete — United States €2.50
- Invoice Verify — United States €2.50
- KYB Complete — Canada €2.50
- Invoice Verify — Canada €2.50
- KYB Complete — Australia €2.50
- Invoice Verify — Australia €2.50
Related tools
- AML Risk Score €0.02
- Breach Exposure Check €0.05
- Czech Unreliable VAT Payer Check €0.05
- EU Regulation Search €0.30
- French BODACC Announcements €0.05
- French Insolvency Check €0.08