cloro
Adverse Media Screening

Screen counterparties across news, search, and AI answers — continuously

cloro is the open-web data layer of a screening stack: entity name in, structured Google News, Google Search, and AI-engine responses out. It is not a sanctions list and not registry data — it is the layer that catches the fraud story, the lawsuit filing, and the regulatory probe before any list is updated. Compliance teams and RegTech builders run it next to their list providers, not instead of them.

4.8 · 33 reviews G2.com software review platform logo
Compliance and RegTech teams running continuous adverse media sweeps on cloro daily
1,000,000,000 monthly API calls

What is adverse media screening?

Adverse media screening (also called negative news screening) is the AML/KYC control of checking a counterparty — a customer, vendor, or business partner — against news coverage of fraud, financial crime, sanctions, and regulatory action, both at onboarding and continuously afterwards. Regulators increasingly expect it because news breaks months before watchlists update: the indictment coverage exists long before the list entry.

In practice a screening stack has three layers: sanctions/PEP/watchlist databases from list vendors, registry data for KYB, and an open-web layer that finds what the lists haven't caught yet. cloro is the data infrastructure for that third layer — Google News, Google Search, and AI-engine answers per entity, as structured JSON your screening logic can act on.

One API for every open-web screening surface

Google News for breaking coverage, Google Search for the long tail of court records and forum chatter that never makes the news index, and ChatGPT, Perplexity, Gemini, AI Overview, AI Mode, Copilot, and Grok for what AI engines actually tell people about a counterparty. One key, one credit pool, structured JSON everywhere.

Why screening stacks need an open-web layer

Sanctions, PEP, and watchlist databases tell you an entity is already listed. Adverse media tells you what is happening right now — and it breaks on the open web first. cloro covers that layer: news, search, and AI answers as structured data your screening logic can act on. For the list layer and registry layer, use the vendors built for them.

Google News results for a company fraud query showing Bloomberg, Reuters, and New Yorker adverse coverage

Lists lag. News breaks first.

By the time an entity lands on a sanctions or watchlist, the fraud reporting, the indictment coverage, and the regulator's press release have been on Google News for days to months. An adverse media screener is a query composition problem — "<entity>" fraud OR lawsuit OR investigation against Google News on a cadence — and cloro returns each sweep as structured JSON: title, source, date, snippet, link.

Google results for an entity fraud query showing court rulings and sentencing coverage dated within recent months

Periodic KYC refresh is a 12-month blind spot

Annual or tri-annual review cycles mean a counterparty can be indicted in month two and stay "low risk" in your system until month twelve. Perpetual KYC inverts this: a daily automated sweep per entity, and a new-result event triggers the review instead of the calendar. cloro is the data feed for exactly that trigger — new URL detection against yesterday's sweep is a set difference in your own pipeline.

Perplexity sources panel citing ten web sources behind an AI answer

AI answers are a screening surface nobody covers

When an analyst — or your customer's bank — asks ChatGPT or Perplexity about a counterparty, the answer synthesizes coverage you may never have seen, including sources your news sweep missed. cloro returns the real AI-engine answers with their citations, so "what do AI engines say about this entity" becomes a screenable, loggable data point. No list vendor offers this layer.

Structured JSON sources array with position, url, label, and description fields per screening call

cloro is the data layer — not the list, not the registry

Honest scoping: cloro is not a sanctions/PEP/watchlist database, not a KYB registry-data source, and not certified AML tooling. Lists come from list providers, registry data comes from company registries, and case management comes from your compliance platform. RegTech builders embed cloro as the open-web and AI-answer layer alongside those — the layer that is otherwise a headcount problem.

An adverse media screener is ~50 lines on top of cloro

Compose risk-term queries per entity, sweep Google News and Google Search daily, diff against the previous run, and route new hits into review. Then add the layer nobody else has: what AI engines answer when asked about the entity.

Daily entity-batch sweep with new-result detection

python
import requests

# Daily adverse-media sweep over a counterparty portfolio.
RISK_TERMS = "fraud OR lawsuit OR investigation OR sanctions OR laundering"
entities = ["Meridian Trade Partners", "Northgate Logistics BV", "Alto Capital SA"]

def sweep(entity):
    query = f'"{entity}" {RISK_TERMS}'
    urls = set()
    for surface in ["google/news", "google"]:  # news + broad web
        response = requests.post(
            f"https://api.cloro.dev/v1/monitor/{surface}",
            headers={
                "Authorization": "Bearer sk_live_your_api_key_here",
                "Content-Type": "application/json",
            },
            json={"query": query, "country": "US"},
        )
        result = response.json()["result"]
        for r in result.get("newsResults", []) + result.get("organicResults", []):
            urls.add(r["link"])
    return urls

for entity in entities:
    todays_urls = sweep(entity)
    # seen_urls: per-entity set persisted in your own store from prior runs.
    seen_urls = load_seen(entity)
    new_hits = todays_urls - seen_urls
    if new_hits:
        # Event-driven review: a new result IS the perpetual-KYC trigger.
        open_review(entity, sorted(new_hits))
    save_seen(entity, todays_urls | seen_urls)

Response example

200 OK application/json
{
  "success": true,
  "result": {
    "newsResults": [
      {
        "position": 1,
        "title": "Meridian Trade Partners under investigation for invoice fraud scheme",
        "link": "https://example.com/meridian-investigation",
        "snippet": "Prosecutors opened an investigation into the commodities trader after auditors flagged irregular invoicing...",
        "source": "Financial Times",
        "date": "3 hours ago",
        "page": 1,
        "thumbnail": "https://example.com/images/meridian.jpg"
      },
      {
        "position": 2,
        "title": "Lawsuit accuses Meridian Trade Partners of breach of contract",
        "link": "https://example.com/meridian-lawsuit",
        "snippet": "A supplier filed suit in Rotterdam district court alleging systematic underpayment...",
        "source": "Reuters",
        "date": "1 day ago",
        "page": 1,
        "thumbnail": "https://example.com/images/meridian-suit.jpg"
      }
    ]
  }
}

What teams build on the open-web screening layer

Four workflows compliance and RegTech teams actually ship on cloro. Always alongside list and registry providers — never as a replacement for them.

Onboarding screening for fintechs

At account opening, sweep the applicant business across Google News, Google Search, and AI answers; attach structured hits to the onboarding case before approval.

Sync API Risk-term queries Case management
Best for: Fintech onboarding teams

Perpetual-KYC trigger feed

Daily per-entity sweeps with new-result detection. A fresh adverse hit opens a review event — the calendar-based refresh cycle stops being your only safety net.

Async + webhooks New-URL diffing Review queue
Best for: AML / KYC operations

Vendor-risk monitoring for TPRM

Continuous adverse-media coverage over the supplier and vendor book — insolvency signals, litigation, and regulatory action surface as data, not as a quarterly surprise.

Entity batching Webhook delivery GRC platform
Best for: Procurement / TPRM teams

RegTech platform embedding

White-label the open-web and AI-answer layer inside your screening product: per-tenant keys, batched async sweeps, webhook delivery into your own scoring pipeline.

Per-tenant keys Async batching Your risk engine
Best for: RegTech builders

Pricing that scales with you

Pick a plan that fits your volume. Price per credit drops as you scale.

Hobby
$0.40
per 1,000 credits
  • $100/mo
  • 250,000 credits
  • 20 concurrent jobs
  • Email support
Starter
$0.39
per 1,000 credits
  • $250/mo
  • 650,000 credits
  • 50 concurrent jobs
  • Email support
Most Popular
Growth
$0.37
per 1,000 credits
  • $500/mo
  • 1,350,000 credits
  • 75 concurrent jobs
  • Priority email support
Business
$0.36
per 1,000 credits
  • $1,000/mo
  • 2,800,000 credits
  • 100 concurrent jobs
  • Priority email support
Enterprise
$0.34
per 1,000 credits
/mo
  • 5,871,025 credits
  • 135 concurrent jobs
  • Priority support
Enterprise$5,000+

Increased concurrency, overages on credits and credit discounts for annual contracts.

Know more

Credit cost per request varies by provider. The figures below are for async/batch requests; sync requests add a +2 credit surcharge.

ChatGPT (full response) 7 credits
ChatGPT (web search) 5 credits
Perplexity 3 credits
Grok 4 credits
Copilot 5 credits
AI Mode 4 credits
AI Overview (incl. SERP) 5 credits
Gemini 4 credits
Google Search 3 credits +2/page
Google News 3 credits +2/page

ChatGPT full response includes query fan-out, ads, and shopping data. Google News uses the same pricing as Google Search.

Estimate your monthly cost and plan

7 credits each
5 credits each
3 credits each
4 credits each
5 credits each
4 credits each
4 credits each
3 credits / 1 page
3 credits / 1 page
Monthly requests
0
Credits needed
0
Recommended plan:

Adverse media screening, answered

Is cloro a sanctions, PEP, or watchlist database?+

No — and it doesn't try to be. Sanctions, PEP, and watchlist data comes from list providers built and audited for that job. cloro is the open-web layer: continuous Google News, Google Search, and AI-answer coverage for the entities you screen. The two layers answer different questions — "is this entity listed?" versus "what is being reported about this entity right now?" — and a serious screening program runs both.

Can I use cloro for background checks?+

For company due diligence and adverse media screening — yes, that is exactly what it is for. For FCRA-regulated screening of individuals (employment, tenancy, credit decisions) — no. cloro is data infrastructure; the compliance obligations sit with you as the customer, and individual consumer screening in the US requires an FCRA-compliant consumer reporting agency. If that is your use case, use a CRA. For the legal backdrop on collecting public web data, see our overview of web scraping and the law.

Does cloro cover KYB or business verification (a KYB API)?+

Partially, and it is important to be precise: KYB registry data — incorporation records, directors, UBOs, filings — comes from company registries, and cloro is not a registry-data source. Teams searching for a `kyb api` or `business verification api` usually need both layers: a registry provider for the corporate facts, and cloro for the open-web layer — what the news, the SERP, and AI engines say about the business. cloro fills the second slot only.

How does perpetual KYC differ from periodic refresh?+

Periodic refresh re-screens every entity on a fixed cycle (1/3/5 years by risk tier), which means adverse events go unnoticed for up to a full cycle. Perpetual KYC is event-driven: a daily automated sweep per entity, and a new adverse result triggers the review. On cloro that is the entity-batch recipe above — sweep, diff against the previous run, open a review on new hits. Same pattern as news monitoring, pointed at your counterparty book.

How do RegTech platforms embed cloro?+

As an API layer inside their own product: batch entity sweeps through the async endpoints (`POST /v1/monitor/google/news/async`, `POST /v1/monitor/google/async`) with results delivered to your webhook as each call completes, per-tenant API keys for client isolation, and your own scoring and case-management logic on top. cloro stays invisible — your customers see your screening product, backed by our data layer.

What does a realistic screening program cost?+

Pay-per-call: a Google News or Google Search call is 3 credits (n=10). A portfolio of 10,000 entities on a daily Google News sweep is 10,000 × 30 × 3 = 900k credits/month — inside the Growth plan ($500/month, 1.35M credits), with headroom for a weekly deep sweep of a high-risk tier across ChatGPT (5 credits) and Perplexity (3 credits). Smaller books fit the Hobby plan: 2,500 entities daily is 225k credits against Hobby's 250k for $100/month. Full details on the pricing page.

What is AI-answer screening?+

Asking the question your counterparties' counterparties ask: "what does ChatGPT (or Perplexity, Gemini, AI Overview) say about this entity?" AI engines synthesize adverse coverage across sources — including ones your keyword sweep missed — and increasingly shape how an entity's risk is perceived. cloro returns the real engine answers with citations, so you can log them per screening run, diff them over time, and flag new risk language. It is a screening surface no list provider covers, and the same mechanism behind brand protection, pointed at due diligence.

How should I compose adverse-media queries?+

Quote the entity name exactly and OR-chain risk terms: "Acme Corp" fraud OR lawsuit OR investigation OR sanctions OR laundering. Run it against both Google News (breaking coverage) and Google Search (court dockets, regulator pages, forums that never hit the news index). Localize per market — pass `country` and translate risk terms for non-English jurisdictions, since regional coverage rarely surfaces in a US-locale sweep. Tune the term list per risk typology; it is your query, not a vendor preset.

Add the open-web layer to your screening stack

News, search, and AI answers as structured screening data. Entity in, risk signal out — alongside your list and registry providers, at pay-per-call pricing.