Company-Level AML Screening for KYB
Screen the company itself — not just its officers — against sanctions, watchlists, and adverse media at the entity level, inside a KYB session, for $0.20 per check.

When you screen a business for sanctions and watchlist exposure, it's tempting to think the work is done once you've checked the directors and owners. But the company itself can be the listed party. Entities are sanctioned directly — designated firms, blocked corporations, companies named in adverse-media investigations — and a screening process that only checks the people behind a business will miss the business that is the problem. Entity-level AML screening is the check that closes that gap.
Didit's Business Verification API runs it as a native feature of the KYB session. The kyb_company_aml feature screens the company entity against sanctions, watchlist, and adverse-media sources at the company level — so a designated firm is caught even when its officers are clean. Company AML screening is $0.20 per check, inside a KYB session whose full company verification is $2.00.
This guide walks through what entity-level screening covers, why it's distinct from person screening, and how to integrate it.
Key takeaways
- The company is screened, not just its people.
kyb_company_amlchecks the entity itself against sanctions, watchlists, and adverse media. - Catches designated firms. A sanctioned or blocked company is flagged even when its directors and owners screen clean.
- $0.20 per check. Entity AML is priced per check, inside a KYB session whose full verification is $2.00.
- Part of the same session. Company AML sits alongside registry, documents, and key people in one KYB session on the unified
/v3/API. - Status-tracked.
kyb_company_amlreportsNOT_FINISHED,APPROVED,DECLINED,IN_REVIEW,RESUB_REQUESTED, orAWAITING_USER. - Pairs with person screening. Combine entity AML with KYC and AML on each UBO to screen the company and the humans behind it.
What company-level AML screening does
AML screening compares a subject against sanctions lists, watchlists, and adverse-media sources to surface risk. For individuals, the subject is a person — name, date of birth, nationality. For businesses, the subject is the entity — its legal name, registration details, and jurisdiction. These are genuinely different checks: a person can be a politically exposed person; a company can be a designated entity under a sanctions program. Screening one does not screen the other.
kyb_company_aml performs the entity-level check. It takes the verified company identity from the KYB session and screens it against the relevant sources, returning a status that tells you whether the company itself is flagged. Run alongside KYC and AML on the company's UBOs, it ensures both layers — the entity and the individuals — are covered.
Why it matters
Sanctions regimes designate companies directly. Onboarding a designated entity — even with squeaky-clean directors on paper — is a sanctions breach with serious consequences. Adverse media adds another dimension: a company named in investigations into fraud, corruption, or money laundering carries reputational and regulatory risk that no person-level check would surface.
The structural point is that entity risk and person risk are independent. A clean company can have a sanctioned owner; a sanctioned company can have clean officers. Robust KYB screens both, because checking only one leaves an entire category of risk unexamined. Entity-level screening is the half that person-only processes routinely skip.
Technical details
Company AML screening is a feature of a KYB session created against the unified /v3/ API.
curl -X POST https://verification.didit.me/v3/session/ \
-H "x-api-key: $DIDIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"workflow_id": "your_kyb_workflow_id",
"vendor_data": "counterparty_5510",
"callback": "https://yourapp.com/kyb/callback"
}'
The kyb_company_aml block reports the entity-level screening result:
{
"kyb_company_aml": {
"status": "IN_REVIEW",
"matches": [
{
"type": "ADVERSE_MEDIA",
"source": "watchlist",
"matched_name": "Acme Logistics S.L."
}
]
}
}
Feature status. kyb_company_aml reports NOT_FINISHED, APPROVED, DECLINED, IN_REVIEW, RESUB_REQUESTED, or AWAITING_USER. A potential match resolves to IN_REVIEW so an analyst can confirm or dismiss it before the company is approved.
Webhooks. Subscribe to data.updated (session_kind: business) to receive screening matches and status.updated to react when the feature status changes.
Price. $0.20 per check. The full KYB company verification — registry, UBO, officers, and entity AML — is $2.00.
Entity screening vs. person screening
The distinction is worth stating plainly because it's the source of most KYB screening gaps:
- Person screening checks individuals — directors, officers, UBOs — against sanctions, PEP, and adverse-media sources. This is what AML screening on a UBO's linked KYC session does.
- Entity screening checks the company itself against sanctions, watchlist, and adverse-media sources. This is what
kyb_company_amldoes.
A complete KYB verification runs both. The company is screened as an entity; each beneficial owner is screened as a person via their linked KYC. Skip the entity check and a designated firm walks through; skip the person checks and a sanctioned owner walks through. Didit lets you run both in the same session.
Use cases
- Marketplaces onboarding business sellers screen each seller entity before payouts, catching designated firms regardless of their listed officers.
- Fintech and banking platforms opening corporate accounts screen the entity against sanctions as a hard requirement of KYB.
- Lending providers underwriting business borrowers check the borrowing entity for adverse media and sanctions before extending credit.
- Crypto B2B platforms onboarding counterparty VASPs screen the counterparty entity directly, not just its representatives.
How to integrate with Didit
- Build the workflow. In the Business Console, create a KYB workflow with
kyb_company_amlenabled, and switch on linked KYC plus AML for UBOs to screen the people too. - Create the session.
POST /v3/session/with your KYBworkflow_idand avendor_datareference for your internal business record. - Handle webhooks. Listen for
data.updatedandstatus.updated(session_kind: business) to receive entity matches and react to status changes. - Review matches. Resolve
IN_REVIEWmatches in the Console — confirm or dismiss — before approving the company.
Because entity AML lives in the same KYB session as registry, documents, and key people, the company is screened as part of one verification — not bolted on from a separate tool after the fact.
Frequently asked questions
How much does company AML screening cost?
$0.20 per check. The full KYB company verification — registry, UBO, officers, and entity AML — is $2.00.
How is this different from screening the directors?
Company AML screens the entity itself against sanctions, watchlists, and adverse media. Screening directors and owners is a separate person-level check — both are needed for complete coverage.
Will it catch a sanctioned company with clean officers?
Yes. Entity-level screening flags a designated or sanctioned company regardless of whether its officers screen clean.
What sources does it screen against?
Sanctions, watchlist, and adverse-media sources at the company level.
Can I screen the owners as well as the company?
Yes. Run linked KYC and AML on each UBO from the same KYB session to screen the individuals behind the company.
Ready to get started?
Read the Business Verification overview in the docs, see how it fits the rest of the platform on the Business Verification product page, and check transparent per-call pricing on the pricing page. When you're ready, start free — 500 free KYC checks every month, and company AML screening at $0.20 per check.