Adverse Media Screening API - KYC/AML News
Negative-news screening for a company or person across jurisdictions. You get clean, structured records with the source registry attached - keyed off the name identifier.
- →Structured JSON, not HTML or PDFs
- →Source registry attached to every record
- →Read live at query time - current filings
- →Queried by name or company name
What each Adverse media record contains
| Field | What it holds |
|---|---|
| overallRisk | clear / low / medium / high / unknown. The worst media severity found - but a sanctions match sets a floor: confirmed is always high, possible at least medium. unknown means the screen was incomplete; the absence of hits proves nothing. |
| sanctionsListStatus | confirmed / possible / no-match / incomplete / unavailable. |
| listMatches[] | Confirmed matches: list, entry ID, listed name, what was matched, entity type, programs, countries, datesOfBirth, and why. |
| possibleListMatches[] | Matches for human adjudication that deliberately do not confirm. Same shape. |
| listsChecked[] | Per-list provenance: status (ok / stale / unavailable), when it was retrieved, how many entries. |
| screeningStatus | complete (the whole media sweep ran - a clear here is earned), partial (some searches failed), or unavailable (the media sweep did not run at all; the row rests on the sanctions screen alone). |
| searchesRun / searchesTotal | How much of the media sweep actually completed. |
| adverseHitCount | Number of genuine adverse hits returned. |
| categoriesFound | Distinct risk categories across the hits. |
| hits[] | Each adverse hit: source, date, snippet, risk category, severity, entity role, match confidence, and a one-line reason. |
| candidatesScreened | How many candidate articles were examined before filtering. |
Sample record (JSON, people masked)
{
"entityName": "Wirecard AG",
"overallRisk": "high",
"adverseHitCount": 6,
"categoriesFound": [
"fraud",
"financial_crime"
],
"hits": [
{
"title": "Wirecard Investors Drop Fraud Case ...",
"url": "https://...",
"source": "bloomberglaw.com",
"publishedDate": "Nov 10, 2025",
"snippet": "Wirecard invented fictional escrow accounts worth about $2 billion ...",
"riskCategory": "fraud",
"severity": "high",
"entityRole": "perpetrator",
"entityMatchConfidence": "high",
"reason": "Wirecard AG is accused of inventing fictional escrow accounts."
}
],
"sanctionsListStatus": "no-match",
"listMatches": [],
"possibleListMatches": [],
"listsChecked": [
{
"list": "OFAC-SDN",
"status": "ok",
"retrievedAt": "2026-07-28T...",
"entryCount": 19157
},
{
"list": "OFAC-CONS",
"status": "ok",
"retrievedAt": "2026-07-28T...",
"entryCount": 481
}
],
"sources": [
"Google News",
"Google Web (adverse-term search)"
],
"screenedAt": "2026-07-28T...",
"disclaimer": "..."
} Adverse media (Cross-border) does not offer a clean public API for programmatic queries. getregdata reads the official source directly and returns structured JSON, keyed off the name identifier - so you get API-like access without an official endpoint.
Install the getregdata agent skills or MCP server, or run the regdata/adverse-media-screener actor on Apify. Query by name or company name and receive structured, source-attributed records. It is free to install; you pay per result on Apify.
Negative-news screening for a company or person across jurisdictions.
Not ready to run it yourself? Tell us which companies or filters you need. We run it once and send you the file, and a quote if you want it regularly. No newsletter, no sales calls.
Your request is in our inbox. We reply within one business day, from [email protected].
The form could not send just now - nothing is lost. Send it as an e-mail instead (your text is already filled in), or write to [email protected].
Prefer e-mail? [email protected] · We use your details only to answer you. Privacy