AIDEVELOPER TOOLS

Company Due Diligence Report

Company due diligence screening across 18 data sources — in one automated run. This actor performs KYB (Know Your Business) checks against global corporate registries, OFAC and OpenSanctions watchlists, Interpol Red Notices, SEC EDGAR filings, insider trading records, CFPB consumer complaints, WHOIS data, and tech stack analysis. It produces a structured Counterparty Risk Score (0-100) with a five-dimension breakdown and a compliance-ready recommendation.

Try on Apify Store
$0.50per event
1
Users (30d)
8
Runs (30d)
90
Actively maintained
Maintenance Pulse
$0.50
Per event

Maintenance Pulse

90/100
Last Build
Today
Last Version
1d ago
Builds (30d)
8
Issue Response
N/A

Cost Estimate

How many results do you need?

analysis-runs
Estimated cost:$50.00

Pricing

Pay Per Event model. You only pay for what you use.

EventDescriptionPrice
analysis-runFull intelligence analysis run$0.50

Example: 100 events = $50.00 · 1,000 events = $500.00

Documentation

Company due diligence screening across 18 data sources — in one automated run. This actor performs KYB (Know Your Business) checks against global corporate registries, OFAC and OpenSanctions watchlists, Interpol Red Notices, SEC EDGAR filings, insider trading records, CFPB consumer complaints, WHOIS data, and tech stack analysis. It produces a structured Counterparty Risk Score (0-100) with a five-dimension breakdown and a compliance-ready recommendation.

Manual counterparty screening means opening eight browser tabs, copying results into a spreadsheet, and still missing half the picture. This actor queries all sources in parallel, deduplicates findings across registries, and delivers one authoritative report in under two minutes. The output is structured for direct integration into compliance workflows, CRM systems, and audit documentation.

What data can you extract?

Data PointSourceExample
🏆 Counterparty Risk ScoreComputed from all sources38 / 100 — ELEVATED RISK
🛡 Sanctions hitsOFAC SDN, OpenSanctions0 matches across 40+ lists
🚨 Law enforcement flagsInterpol Red Notices, FBI Most WantedNo matches found
🏢 Corporate registration statusOpenCorporates, UK CH, Canada, AU ABNActive — incorporated 2009-04-14
🪪 Legal Entity IdentifierGLEIF global LEI database549300TRUWO2CD2G5692 — Active
📋 SEC filing historyEDGAR full-text search12 10-K/8-K filings on record
📊 Insider trading patternSEC Form 4 transactions3 sales, 1 purchase (last 12 months)
📣 Consumer complaintsCFPB complaint database14 complaints — moderate concern
🌐 Domain age and registrantWHOIS registry4,821 days old — established presence
💻 Web technology footprintTech stack detectionCloudflare, React, HubSpot detected
⚖️ Jurisdiction riskFATF blacklist + shell haven checksUS — standard jurisdiction
👤 Key person screeningInterpol + FBI per named individualMarkus Braun — 0 watchlist matches

Why use Company Due Diligence Report?

Checking one counterparty manually takes 45-90 minutes when you account for OFAC lookups, corporate registry searches, SEC EDGAR queries, and cross-referencing findings. At scale — onboarding 10 new suppliers a month, screening acquisition targets, or running periodic re-screening on a vendor list — that becomes a full-time job.

This actor automates the entire process. All 18 data sources run in parallel using the Apify actor orchestration layer. Results are scored by a deterministic five-dimension algorithm and returned as structured JSON ready for your compliance system, audit log, or CRM.

  • Scheduling — run monthly re-screening on your entire vendor list with a single scheduled task
  • API access — trigger due diligence checks from your onboarding system in Python, JavaScript, or any HTTP client
  • Proxy rotation — multi-source queries run reliably without rate-limit interruptions using Apify's built-in proxy infrastructure
  • Monitoring — get Slack or email alerts when runs fail or when a counterparty's risk score changes
  • Integrations — push results directly to HubSpot, Zapier, Make, Google Sheets, or your own webhook endpoint

Features

  • 18-source parallel data collection — all queries run simultaneously via runActorsParallel, reducing total run time to the slowest single source rather than the sum of all sources
  • Counterparty Risk Score (0-100) — five-dimension weighted scoring model: Sanctions & Watchlist (30 pts), Corporate Hygiene (25 pts), Regulatory Exposure (20 pts), Jurisdiction Risk (15 pts), Digital Presence (10 pts)
  • Five risk grades with compliance recommendations — LOW RISK (0-15), MODERATE RISK (16-35), ELEVATED RISK (36-55), HIGH RISK (56-75), CRITICAL RISK (76-100), each with a specific escalation recommendation
  • OFAC + OpenSanctions screening — checks the OFAC Specially Designated Nationals list and OpenSanctions, which aggregates 40+ international sanctions programs; exact matches (score >= 0.95) carry an additional 5-point penalty
  • Interpol Red Notices and FBI Most Wanted — law enforcement watchlist screening per key person, up to 5 named individuals
  • Multi-jurisdiction corporate registry search — OpenCorporates (global), UK Companies House, Canada Corporations Registry, Australia ABN Lookup, and GLEIF LEI database cross-referenced in a single run
  • Corporation age risk factor — entities incorporated under 6 months score 8 additional corporate hygiene points; under 24 months score 3 points; dissolved or struck-off companies score 10 points
  • LEI status verification — validates Legal Entity Identifier registration status; lapsed or retired LEIs add risk points under the corporate hygiene dimension
  • SEC EDGAR filing analysis — queries 8-K, 10-K, and SC 13D filings; more than 5 filings of interest trigger a regulatory exposure flag
  • Insider trading pattern detection — calculates sell-to-buy ratio from SEC Form 4 data; net selling only (sells > 0, buys = 0) adds 8 regulatory exposure points; sell/buy ratio above 3:1 adds 5 points
  • CFPB complaint volume scoring — fewer than 20 complaints: +2 points; 20-100: +5 points; over 100: +10 points
  • FATF jurisdiction risk — checks all detected jurisdictions against FATF blacklist (IR, KP, MM, SY, YE), FATF grey list (13 countries), and 8 known shell company havens including BVI, Cayman, Panama, Seychelles
  • Domain age and WHOIS privacy detection — domains under 90 days old add 4 digital presence points; redacted registrant adds 2; no domain at all adds 3
  • Tech stack presence check — no detectable web technology footprint is treated as a shell entity signal, adding 3 digital presence points
  • Key person screening loop — screens up to 5 named directors, UBOs, or executives against both Interpol and FBI watchlists in a dedicated parallel batch

Use cases for company due diligence

Compliance and KYB onboarding

Compliance officers and KYC analysts need auditable, multi-source counterparty data before approving a new business relationship. Manual checks take too long and leave gaps. This actor produces a documented risk score with source-level findings that can be attached directly to a compliance case file. Run it before every new vendor, partner, or customer onboarding for regulated industries — financial services, legal, professional services, and government contracting.

M&A and pre-acquisition screening

Deal teams need rapid red-flag identification before committing time to full due diligence. This actor surfaces the most critical issues — sanctions exposure, dissolved corporate status, insider selling patterns, and FATF jurisdiction concerns — in one automated pass. Feed it the target company name, domain, and ticker, and have a risk summary in under two minutes before the first advisor call.

Venture capital and private equity screening

VC and PE analysts review dozens of companies per month. Screening each one against sanctions lists, checking LEI status, and reviewing corporate registry records manually is untenable at volume. This actor gives a consistent, comparable risk score across every company reviewed, with flagged findings that let analysts focus senior time on genuine anomalies rather than routine lookups.

Procurement and supplier verification

Procurement teams signing multi-year supplier contracts need confidence that a vendor is a real, active, compliant business entity. Dissolved company status, FATF-jurisdiction incorporation, no LEI, or a very new domain are all meaningful risk signals. This actor checks all of them in a single run with no manual effort.

Periodic vendor re-screening

Compliance obligations do not end at onboarding. Sanctions lists change daily, corporate statuses shift, and CFPB complaint volumes grow. Schedule this actor monthly or quarterly against your active vendor list to catch changes between onboarding cycles. Pair it with the Website Change Monitor to track structural changes between runs.

Investigative research and competitive intelligence

Journalists, investigators, and competitive intelligence analysts need to verify company legitimacy, trace jurisdiction structures, and identify ownership complexity signals. This actor surfaces cross-border entity complexity (4+ jurisdictions), missing LEI registration, and redacted WHOIS data — all reliable signals of opaque corporate structures.

How to run a company due diligence check

  1. Enter the company name — Type the full legal name of the entity you want to screen (e.g., "Pinnacle Trade Finance Ltd"). The company name is the only required field.
  2. Add optional enrichment fields — Enter the company domain (e.g., "pinnacletf.com"), stock ticker if publicly traded (e.g., "PNTF"), and the primary jurisdiction ISO code (e.g., "GB"). Each field unlocks additional data sources.
  3. List key persons to screen — Add up to 5 directors, ultimate beneficial owners, or executives by name. Each person is screened against Interpol Red Notices and FBI Most Wanted independently.
  4. Click Start and wait — The run completes in 30-120 seconds depending on how many data sources are active. Download the structured report from the Dataset tab in JSON, CSV, or Excel.

Input parameters

ParameterTypeRequiredDefaultDescription
companyNamestringYes"Wirecard AG"Full legal name of the company to investigate
domainstringNoCompany website domain for WHOIS and tech stack checks (e.g., "acmecorp.com")
tickerstringNoStock ticker symbol — unlocks SEC EDGAR filing and insider trading analysis (e.g., "AAPL")
jurisdictionstringNoPrimary jurisdiction ISO-3166-1 alpha-2 code for jurisdiction risk scoring (e.g., "GB", "US", "DE")
keyPersonsarrayNoNames of directors, UBOs, or executives to screen against Interpol and FBI watchlists (max 5)

Input examples

Standard KYB check — private company:

{
  "companyName": "Pinnacle Trade Finance Ltd",
  "domain": "pinnacletf.com",
  "jurisdiction": "GB",
  "keyPersons": ["James Harrington", "Elena Vasquez"]
}

Full enrichment — publicly traded company:

{
  "companyName": "BetaIndustries Corp",
  "domain": "betaindustries.com",
  "ticker": "BTAI",
  "jurisdiction": "US",
  "keyPersons": ["Robert Chen", "Sandra Mueller", "David Park"]
}

Minimal fast check — name only:

{
  "companyName": "Nexus Capital Holdings"
}

Input tips

  • Add the domain whenever possible — domain age and tech stack data add meaningful context to the digital presence dimension and take less than 10 seconds to retrieve.
  • Use ISO-3166-1 alpha-2 for jurisdiction — two-letter country codes only (US, GB, DE, AU, SG). Common mistakes: "USA" will not match; use "US".
  • Ticker is case-insensitive but must be the primary exchange symbol — for US companies use the NYSE/Nasdaq ticker; foreign companies on US exchanges should use their US ticker (e.g., "BABA" for Alibaba).
  • Key persons screening adds 5-10 seconds per person — for rapid screening of many companies, run without key persons first, then re-screen flagged entities with key persons listed.
  • Company name accuracy matters — use the full registered legal name where known. Abbreviated names or trading names may miss corporate registry matches.

Output example

{
  "companyName": "Pinnacle Trade Finance Ltd",
  "domain": "pinnacletf.com",
  "ticker": null,
  "jurisdiction": "GB",
  "timestamp": "2026-03-20T09:14:32.000Z",
  "riskScore": {
    "total": 41,
    "grade": "ELEVATED RISK",
    "dimensions": {
      "sanctionsWatchlist": {
        "score": 0,
        "max": 30,
        "findings": ["No sanctions or watchlist hits"]
      },
      "corporateHygiene": {
        "score": 16,
        "max": 25,
        "findings": [
          "Company incorporated 8 months ago — relatively new",
          "No LEI (Legal Entity Identifier) found — reduced transparency"
        ]
      },
      "regulatoryExposure": {
        "score": 0,
        "max": 20,
        "findings": ["No significant regulatory exposure detected"]
      },
      "jurisdictionRisk": {
        "score": 20,
        "max": 15,
        "findings": [
          "MEDIUM RISK jurisdiction: GB (secrecy/tax haven indicators)",
          "Entity spans 4 jurisdictions — complex cross-border structure"
        ]
      },
      "digitalPresence": {
        "score": 6,
        "max": 10,
        "findings": [
          "Domain only 61 days old — very new web presence",
          "Domain registrant information redacted/private"
        ]
      }
    },
    "recommendation": "Enhanced due diligence required. Senior management sign-off recommended. Ongoing monitoring mandatory."
  },
  "sanctions": {
    "ofac": { "hits": 0, "results": [] },
    "opensanctions": { "hits": 0, "results": [] },
    "interpol": { "hits": 0, "results": [] },
    "fbi": { "hits": 0, "results": [] }
  },
  "corporateRegistries": {
    "opencorporates": { "hits": 1, "results": [{ "name": "PINNACLE TRADE FINANCE LIMITED", "status": "active", "incorporationDate": "2025-07-15", "jurisdiction": "GB" }] },
    "ukCompaniesHouse": { "hits": 1, "results": [{ "companyNumber": "14872341", "companyStatus": "active" }] },
    "canadaCorporations": { "hits": 0, "results": [] },
    "australiaAbn": { "hits": 0, "results": [] },
    "lei": { "hits": 0, "results": [] }
  },
  "regulatory": {
    "secFilings": { "total": 0, "filings": [] },
    "insiderTrading": { "total": 0, "trades": [] },
    "cfpbComplaints": { "total": 0, "complaints": [] }
  },
  "digitalPresence": {
    "whois": {
      "domain": "pinnacletf.com",
      "domainAge": 61,
      "registrantPrivacy": true,
      "registrar": "Namecheap, Inc."
    },
    "techStack": null
  },
  "keyPersonsScreened": ["James Harrington", "Elena Vasquez"]
}

Output fields

FieldTypeDescription
companyNamestringThe company name used for the report
domainstring or nullCompany domain if provided
tickerstring or nullStock ticker if provided
jurisdictionstring or nullJurisdiction code if provided
timestampstringISO 8601 timestamp of report generation
riskScore.totalnumberComposite risk score from 0 (lowest) to 100 (highest)
riskScore.gradestringRisk grade: LOW RISK, MODERATE RISK, ELEVATED RISK, HIGH RISK, or CRITICAL RISK
riskScore.recommendationstringCompliance recommendation tied to the score grade
riskScore.dimensions.sanctionsWatchlist.scorenumberSanctions dimension sub-score (max 30)
riskScore.dimensions.sanctionsWatchlist.findingsarraySpecific findings driving the sanctions score
riskScore.dimensions.corporateHygiene.scorenumberCorporate hygiene sub-score (max 25)
riskScore.dimensions.corporateHygiene.findingsarraySpecific findings driving the corporate hygiene score
riskScore.dimensions.regulatoryExposure.scorenumberRegulatory exposure sub-score (max 20)
riskScore.dimensions.regulatoryExposure.findingsarraySpecific findings driving the regulatory score
riskScore.dimensions.jurisdictionRisk.scorenumberJurisdiction risk sub-score (max 15)
riskScore.dimensions.jurisdictionRisk.findingsarraySpecific findings driving the jurisdiction score
riskScore.dimensions.digitalPresence.scorenumberDigital presence sub-score (max 10)
riskScore.dimensions.digitalPresence.findingsarraySpecific findings driving the digital presence score
sanctions.ofacobjectOFAC SDN list results: hit count and raw matches
sanctions.opensanctionsobjectOpenSanctions results: hit count and raw matches
sanctions.interpolobjectInterpol Red Notice results: hit count and raw matches
sanctions.fbiobjectFBI Most Wanted results: hit count and raw matches
corporateRegistries.opencorporatesobjectOpenCorporates results: hit count and entity records
corporateRegistries.ukCompaniesHouseobjectUK Companies House results
corporateRegistries.canadaCorporationsobjectCanada corporation registry results
corporateRegistries.australiaAbnobjectAustralia ABN Lookup results
corporateRegistries.leiobjectGLEIF LEI data: hit count and LEI records
regulatory.secFilingsobjectSEC EDGAR filings: total count and filing records
regulatory.insiderTradingobjectSEC Form 4 insider trades: total count and trade records
regulatory.cfpbComplaintsobjectCFPB consumer complaints: total count and complaint records
digitalPresence.whoisobject or nullWHOIS data: domain age, registrant privacy, registrar
digitalPresence.techStackobject or nullDetected web technologies
keyPersonsScreenedarrayNames of key persons screened in this run

How much does it cost to run a company due diligence check?

Company Due Diligence Report uses pay-per-run pricing — each run costs approximately $0.10-$0.20 in platform credits depending on the number of sources queried. Adding a domain, ticker, and key persons increases the source count and cost. Platform compute costs are included.

ScenarioRunsCost per runTotal cost
Quick test — name only1~$0.10~$0.10
Standard check — name + domain + jurisdiction10~$0.15~$1.50
Full enrichment — all fields + 3 key persons25~$0.20~$5.00
Quarterly vendor re-screen — 50 suppliers50~$0.15~$7.50
Annual onboarding program — 200 companies200~$0.15~$30.00

You can set a maximum spending limit per run to control costs. The actor stops when your budget is reached.

Compare this to commercial KYB platforms like Comply Advantage, Refinitiv World-Check, or Dow Jones Risk & Compliance at $500-$5,000/month — with this actor, most compliance teams running 50-200 checks per month spend under $30 with no subscription commitment. Apify's free tier also includes $5 of monthly credits, enough for 25-50 trial runs.

Company due diligence using the API

Python

from apify_client import ApifyClient

client = ApifyClient("YOUR_API_TOKEN")

run = client.actor("ryanclinton/company-due-diligence-report").call(run_input={
    "companyName": "Pinnacle Trade Finance Ltd",
    "domain": "pinnacletf.com",
    "jurisdiction": "GB",
    "keyPersons": ["James Harrington", "Elena Vasquez"]
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    score = item["riskScore"]
    print(f"{item['companyName']}: {score['total']}/100 — {score['grade']}")
    print(f"Recommendation: {score['recommendation']}")
    for dim, data in score["dimensions"].items():
        if data["score"] > 0:
            print(f"  {dim}: {data['score']}/{data['max']} — {data['findings']}")

JavaScript

import { ApifyClient } from "apify-client";

const client = new ApifyClient({ token: "YOUR_API_TOKEN" });

const run = await client.actor("ryanclinton/company-due-diligence-report").call({
    companyName: "Pinnacle Trade Finance Ltd",
    domain: "pinnacletf.com",
    jurisdiction: "GB",
    keyPersons: ["James Harrington", "Elena Vasquez"]
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const item of items) {
    const { riskScore } = item;
    console.log(`${item.companyName}: ${riskScore.total}/100 — ${riskScore.grade}`);
    console.log(`Recommendation: ${riskScore.recommendation}`);
    const flagged = Object.entries(riskScore.dimensions)
        .filter(([, dim]) => dim.score > 0)
        .map(([name, dim]) => `${name}: ${dim.score}/${dim.max}`);
    console.log("Flagged dimensions:", flagged.join(", "));
}

cURL

# Start the actor run
curl -X POST "https://api.apify.com/v2/acts/ryanclinton~company-due-diligence-report/runs?token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "companyName": "Pinnacle Trade Finance Ltd",
    "domain": "pinnacletf.com",
    "jurisdiction": "GB",
    "keyPersons": ["James Harrington", "Elena Vasquez"]
  }'

# Fetch results (replace DATASET_ID from the run response above)
curl "https://api.apify.com/v2/datasets/DATASET_ID/items?token=YOUR_API_TOKEN&format=json"

How Company Due Diligence Report works

Phase 1: Parallel data collection

The actor builds a batch of up to 13 concurrent actor calls using runActorsParallel — a Promise.all wrapper over individual actor invocations with 120-second timeouts per source. The base batch always includes: OFAC SDN search, OpenSanctions search, OpenCorporates, GLEIF LEI, UK Companies House, Canada Corporations, Australia ABN, SEC EDGAR filings, and CFPB complaints. If a ticker is provided, SEC insider trading (Form 4) is added. If a domain is provided, WHOIS lookup and tech stack detection are added. This means the total run time is bounded by the slowest single source, not the sum of all 13.

Phase 2: Key person screening

Key persons are processed in a separate parallel batch after the main data collection completes. For each named person (up to 5), two actor calls are issued — one to the Interpol Red Notices API and one to the FBI Most Wanted database. Results are concatenated across all persons. This phase adds approximately 10-20 seconds to runs that include key persons.

Phase 3: Five-dimension risk scoring

The computeRiskScore function applies a deterministic weighted scoring model to all collected data. Sanctions hits use a match-confidence filter: hits with a matchScore or score field at or above 0.95, or with match === 'exact', are classified as high-confidence and add an extra 5 points to the 25-point base. Jurisdiction data is extracted from three independent sources — the jurisdiction input field, corporate registry records (via jurisdictionCode, country, or jurisdiction field), and GLEIF LEI records (via legalAddress.country) — then deduplicated and checked against hardcoded FATF blacklist, grey list, and shell haven sets. The corporate hygiene scorer measures entity age in months using Math.floor((Date.now() - new Date(incDate).getTime()) / (30 * 24 * 60 * 60 * 1000)) against both 6-month and 24-month thresholds.

Phase 4: Report assembly

The final report is built as a single structured object containing the risk score with all dimensional findings, raw source results (capped at 10 items per source to keep output size manageable), and metadata. The entire object is pushed to the Apify dataset as one record per company, making batch runs easy to process: one row per company in CSV or Excel export.

Tips for best results

  1. Always provide the jurisdiction code when you know it. Even if the corporate registry lookup finds the jurisdiction independently, providing it explicitly ensures the jurisdiction risk dimension scores correctly and prevents missed FATF matches from ambiguous country field values in registry data.

  2. Use the ticker field for any publicly traded company. SEC EDGAR filing history and insider trading patterns are among the most revealing risk signals for public companies. Missing this field means missing the entire regulatory exposure dimension for listed entities.

  3. Run without key persons for batch screening, then re-run flagged companies with key persons. If you are screening a list of 50 vendors, the first pass without key persons is faster and cheaper. Reserve the key person screening step for entities that score above 30 on the base run.

  4. Pair with the Waterfall Contact Enrichment actor to identify key persons automatically. If you do not know the directors or UBOs of a target company, run contact enrichment first to surface named individuals, then feed those names into this actor's keyPersons field.

  5. Schedule monthly re-screening on active vendor lists using Apify's scheduler. Sanctions lists update daily. A vendor that was clean at onboarding may appear on a list six months later. Monthly scheduled runs ensure you catch these changes without manual effort.

  6. Export to CSV or Google Sheets for portfolio-level risk tracking. Each run produces one structured row per company. A 200-company vendor list produces a 200-row CSV with a sortable risk score column — useful for prioritising enhanced due diligence resources.

  7. For high-risk findings, combine with Company Deep Research for narrative context. The due diligence report gives you the structured risk score; the deep research actor adds qualitative narrative from web sources that can help explain why a company is appearing on sanctions or enforcement lists.

Combine with other Apify actors

ActorHow to combine
Waterfall Contact EnrichmentIdentify UBOs and directors automatically before running key person screening
Company Deep ResearchAdd qualitative narrative intelligence to explain elevated risk scores
Website Tech Stack DetectorRun a deeper standalone tech analysis on companies with elevated digital presence risk
Website Change MonitorMonitor vendor websites for structural changes between quarterly re-screening runs
HubSpot Lead PusherPush screened counterparty records with risk scores directly into HubSpot CRM
WHOIS Domain LookupRun extended WHOIS analysis on company domains flagged for new or private registration
Multi-Review AnalyzerAdd Trustpilot and BBB review sentiment data to the counterparty risk picture

Limitations

  • No real-time sanctions database access. The actor queries live API wrappers that themselves pull from published data sources. OFAC and OpenSanctions data may lag official list updates by minutes to hours.
  • Corporate registry coverage is not global. The actor covers OpenCorporates (global index), UK, Canada, and Australia. Entities incorporated in France, Germany, Brazil, India, Japan, or other major jurisdictions not covered by these registries may return zero corporate record hits even for legitimate companies. Zero hits from registries alone should not be treated as a risk flag for companies from uncovered jurisdictions.
  • SEC and insider trading data applies only to US-listed public companies. Foreign private issuers, OTC-traded entities, and private companies will return no SEC results regardless of regulatory exposure.
  • CFPB data covers US-regulated financial services companies only. Non-financial companies and non-US entities will always show zero CFPB complaints, which is not a risk signal for those entity types.
  • Tech stack detection requires an accessible public website. Companies behind login walls, under maintenance, or with aggressive bot-blocking may return no tech stack data. A null tech stack result is not automatically scored as a shell entity signal when a domain was provided and returned valid WHOIS data.
  • Key person screening uses name matching only. The Interpol and FBI APIs search by name. Common names may produce false positives; uncommon names may miss transliterated variants. High-confidence watchlist hits should always be manually confirmed.
  • The risk score is an automated screening signal, not a legal determination. A HIGH RISK or CRITICAL RISK score indicates areas requiring enhanced due diligence, not a confirmed finding of wrongdoing. Compliance decisions should incorporate human review.
  • Run time varies between 30 seconds and 3 minutes. If one or more upstream data source APIs are slow or unavailable, the actor waits up to 120 seconds per source before timing out that call and proceeding with available data.

Integrations

  • Zapier — trigger a due diligence run automatically when a new vendor is added to your procurement system and post the risk score to Slack
  • Make — build multi-step workflows that screen a counterparty, evaluate the risk score, and route high-risk results to a compliance queue
  • Google Sheets — export batch screening results to a shared compliance spreadsheet with one risk score row per company
  • Apify API — integrate counterparty screening directly into your onboarding system, CRM, or vendor management platform
  • Webhooks — receive a webhook notification with the full risk score payload when each run completes
  • LangChain / LlamaIndex — feed structured due diligence reports into an LLM pipeline for automated risk narrative generation or compliance memo drafting

Troubleshooting

  • Risk score seems low despite known sanctions exposure. The actor matches by company name. Ensure you are using the exact registered legal name as it appears on the sanctions list. Abbreviated trading names, holding company names, and parent entity names may not match subsidiary entries on OFAC or OpenSanctions. Try running the parent or subsidiary legal name separately.

  • Zero corporate registry hits for a company you know exists. The actor covers OpenCorporates, UK, Canada, and Australia registries. Companies incorporated in jurisdictions outside this set will return zero hits. This is a coverage gap, not a confirmed risk signal. Provide the jurisdiction field explicitly so the jurisdiction risk dimension can still score correctly.

  • Run times out after 3 minutes. Memory is set to 128-512 MB. If a run times out consistently, it is usually one upstream API source that is slow or unavailable. The actor handles this gracefully — failed source calls return empty arrays and the run continues. Check the actor log for which source timed out and whether that affects your scoring requirements.

  • Key person screening returns unexpected matches. Name-based watchlist matching will occasionally surface false positives for common names. A match against Interpol or FBI means a name collision was found — it does not mean the individual is confirmed. Always verify the details (nationality, date of birth, physical description) from the source record before taking compliance action.

  • No insider trading data returned despite providing a ticker. Insider trading data comes from SEC Form 4 filings and only covers US domestic public companies required to file with the SEC. Foreign private issuers, companies listed only on non-US exchanges, or recently listed companies with no Form 4 history will return zero insider trading results.

Responsible use

  • This actor queries publicly available government databases, regulatory filings, and open-source watchlists only.
  • Sanctions screening results should supplement, not replace, your organisation's formal compliance procedures and human review processes.
  • Comply with applicable AML/KYC regulations in your jurisdiction. The output of this actor does not constitute legal advice or a certified compliance determination.
  • Do not use this actor to make final adverse decisions about individuals or entities without independent verification of any flags found.
  • Key person data is sourced from law enforcement public notices only. Handle findings with appropriate legal care.
  • For guidance on web scraping and data use legality, see Apify's guide.

FAQ

How many data sources does the company due diligence check query? The actor queries up to 13 data sources in the base run: OFAC, OpenSanctions, OpenCorporates, GLEIF LEI, UK Companies House, Canada Corporations, Australia ABN, SEC EDGAR, and CFPB. Adding a domain adds WHOIS and tech stack detection. Adding a ticker adds SEC insider trading. Key persons add Interpol and FBI searches per person. The theoretical maximum is 18 sources for a fully enriched run with 5 key persons.

How long does a typical company due diligence run take? Most runs complete in 30-90 seconds. All data sources are queried in parallel, so total time is bounded by the slowest single source. Runs with 5 key persons may take up to 2-3 minutes because the key person batch runs sequentially after the main data collection phase.

What sanctions lists does this actor check for company due diligence? The OFAC Specially Designated Nationals (SDN) list and OpenSanctions, which aggregates 40+ international sanctions programs including UN, EU, UK, and national lists. Key persons are additionally screened against Interpol Red Notices and the FBI Most Wanted database.

Is company due diligence screening with this actor legally sufficient for KYC/AML compliance? This actor produces structured, auditable data suitable for use within KYB and CDD workflows. It is not a substitute for a regulated compliance programme. Consult your compliance officer or legal counsel to determine what additional steps are required in your jurisdiction. Output records are designed to be attachable as supporting documentation in compliance case management systems.

How accurate is the Counterparty Risk Score? The score is a deterministic function of the data returned by each source. It is only as accurate as the underlying data. Corporate registry coverage has geographic gaps; sanctions matching is name-based and may miss transliterated variants. The score is a screening tool — entities scoring above 35 warrant human review of the underlying findings, not automatic adverse action.

Can I run company due diligence checks on a batch of companies? Yes. Use the Apify API to submit multiple runs in parallel. Each run processes one company. For large batches, the Python and JavaScript client examples above can be wrapped in a loop. Alternatively, use a Make or Zapier workflow to trigger runs from a spreadsheet row.

How is this different from Comply Advantage or World-Check? Commercial KYB platforms like Comply Advantage, Refinitiv World-Check, and Dow Jones Risk & Compliance charge $500-$5,000/month for subscription access. This actor uses the same underlying public data sources at $0.10-$0.20 per run with no subscription commitment. The actor does not provide the proprietary adverse media monitoring, curated risk entity profiles, or case management workflows that premium platforms offer — but for straightforward sanctions screening and corporate registry verification, the coverage is comparable at a fraction of the cost.

What does a CRITICAL RISK score mean? A score of 76-100 indicates that the actor found extreme risk signals across multiple dimensions — typically including sanctions list hits, law enforcement watchlist matches, or FATF blacklist jurisdiction combined with other red flags. The recommendation at this level is: "Relationship should be declined unless compelling justification with C-level approval." This is an automated screening output, not a compliance determination.

Can I schedule this actor to run periodic re-screening on my vendor list? Yes. Apify's built-in scheduler lets you run this actor on daily, weekly, or monthly intervals. Set up a separate scheduled run per vendor, or use the API to submit a batch from your vendor management system. Monthly re-screening is the recommended baseline for medium-risk counterparties.

What happens if one of the 13 data sources is unavailable during a run? Each source call has a 120-second timeout and is wrapped in a try/catch. If a source fails or times out, the actor logs the error and continues with an empty result for that source. The risk score is computed from whatever data is available. Source-level errors do not cause the entire run to fail.

Does this actor screen individuals, or only companies? The actor is designed for company-level due diligence. Individual screening occurs for key persons listed in the keyPersons field, but is limited to Interpol Red Notices and FBI Most Wanted — not the full range of corporate registry and SEC screening that applies to the company itself.

How is jurisdiction risk scored for multi-national companies? The actor collects jurisdiction codes from three sources independently: the user-provided jurisdiction field, all corporate registry records (extracting jurisdictionCode, country, or jurisdiction fields), and GLEIF LEI records (via legalAddress.country). Duplicates are removed, and each unique jurisdiction is checked against FATF blacklist, grey list, and shell haven sets. Entities spanning 4 or more unique jurisdictions receive an additional 3-point complexity premium regardless of individual jurisdiction risk levels.

Help us improve

If you encounter issues, you can help us debug faster by enabling run sharing in your Apify account:

  1. Go to Account Settings > Privacy
  2. Enable Share runs with public Actor creators

This lets us see your run details when something goes wrong, so we can fix issues faster. Your data is only visible to the actor developer, not publicly.

Support

Found a bug or have a feature request? Open an issue in the Issues tab on this actor's page. For custom solutions, enterprise batch screening integrations, or white-label compliance tooling, reach out through the Apify platform.

How it works

01

Configure

Set your parameters in the Apify Console or pass them via API.

02

Run

Click Start, trigger via API, webhook, or set up a schedule.

03

Get results

Download as JSON, CSV, or Excel. Integrate with 1,000+ apps.

Use cases

Sales Teams

Build targeted lead lists with verified contact data.

Marketing

Research competitors and identify outreach opportunities.

Data Teams

Automate data collection pipelines with scheduled runs.

Developers

Integrate via REST API or use as an MCP tool in AI workflows.

Ready to try Company Due Diligence Report?

Start for free on Apify. No credit card required.

Open on Apify Store