Demos/Compliance · KYB

KYB Report

Generate a due-diligence packet on any company: ownership, sanctions exposure, shell-company signals.

company-intelligencecomplianceriskapi

Try it

Input

Website domain — no protocol or path.

Output

cached sample
{
  "company_name": "Sixtyfour AI, Inc.",
  "registration_number": "Unknown — private company",
  "jurisdiction": "United States — Delaware",
  "registered_address": "Not publicly disclosed",
  "operating_address": "San Francisco, CA, United States",
  "company_type": "C-Corp",
  "incorporation_date": "2023",
  "operational_status": "Active",
  "industry": "Data enrichment / AI",
  "employee_count": "~15",
  "annual_revenue_estimate": "Not publicly disclosed — early-stage startup",
  "beneficial_owners": "Founders — exact ownership percentages not publicly disclosed",
  "key_executives": "Saarth Shah (CEO). Other executives not publicly listed.",
  "parent_company": "None — independent",
  "subsidiaries": "None found",
  "sanctions_exposure": "None found",
  "pep_exposure": "None found",
  "shell_company_signals": "None found — operational startup with known product and customers",
  "adverse_media_summary": "None found — no fraud, regulatory action, or adverse press",
  "litigation_and_regulatory": "None found",
  "risk_score": "5",
  "risk_verdict": "low",
  "risk_summary": "Sixtyfour AI is a small, early-stage US AI startup with no adverse signals. The low score reflects the limited public information available for a private company of this size, not any specific red flag.",
  "data_sources_note": "Delaware SOS, Crunchbase, LinkedIn, OFAC SDN list, company website, press sources. Limited public financials available for private company."
}

Copy code

const SIXTYFOUR_API_KEY = process.env.SIXTYFOUR_API_KEY;

async function runKybReport(domain) {
  const response = await fetch("https://api.sixtyfour.ai/company-intelligence", {
    method: "POST",
    headers: {
      "x-api-key": SIXTYFOUR_API_KEY,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      target_company: { website: domain },
      struct: {
        company_name: "Official registered company name",
        registration_number: "Company registration or incorporation number (if findable)",
        jurisdiction: "Country and state/province of incorporation",
        registered_address: "Registered office address",
        operating_address: "Primary operating address if different from registered",
        company_type: "Legal entity type (LLC, C-Corp, Ltd, GmbH, etc.)",
        incorporation_date: "Date of incorporation (YYYY-MM-DD or YYYY)",
        operational_status: "Active, Dissolved, Suspended, or Unknown",
        industry: "Primary industry or vertical (1-3 words)",
        employee_count: "Estimated total employees (integer)",
        annual_revenue_estimate: "Most recent known annual revenue with source year",
        beneficial_owners:
          "Known UBOs owning >= 10%. Format: 'Name - ownership %, role'. 'None found' if absent.",
        key_executives: "Current CEO, CFO, and board chair (name + title). 'Unknown' if absent.",
        parent_company: "Immediate parent entity and jurisdiction. 'None' if independent.",
        subsidiaries: "Known subsidiaries or affiliated entities. 'None found' if none.",
        sanctions_exposure:
          "Any matches on OFAC SDN, EU consolidated, UN, or UKOF lists. 'None found' if clean.",
        pep_exposure:
          "Any executives or owners who are Politically Exposed Persons. 'None found' if clean.",
        shell_company_signals:
          "Indicators: nominee directors, no employees, virtual office, complex layers. 'None found' if absent.",
        adverse_media_summary:
          "Recent fraud, litigation, regulatory action, AML allegations. 'None found' if clean.",
        litigation_and_regulatory:
          "Active lawsuits, fines, license revocations, or regulatory investigations. 'None found' if clean.",
        risk_score: "Integer 0-100. 0 = very low risk, 100 = very high risk.",
        risk_verdict: "One of: low | medium | high | critical",
        risk_summary: "3-5 sentences summarising key findings and basis for verdict.",
        data_sources_note: "Primary sources used and any notable data gaps.",
      },
      tier: "low",
    }),
  });

  if (!response.ok) {
    const body = await response.text();
    throw new Error(`Sixtyfour API error ${response.status}: ${body}`);
  }

  const { structured_data, confidence_score, references } = await response.json();
  return { structured_data, confidence_score, references };
}

// Example usage
const { structured_data } = await runKybReport("sixtyfour.ai");
console.log(`${structured_data.company_name} — risk: ${structured_data.risk_verdict} (${structured_data.risk_score}/100)`);
console.log(structured_data.risk_summary);

Response data

A structured KYB packet covering beneficial ownership, sanctions and watchlist exposure, shell-company indicators, adverse media signals, and an overall risk verdict with sourced reasoning.

Run locally

  1. 1

    Clone the repo

    bash
    git clone https://github.com/sixtyfour-ai/sixtyfour-demos.git
    cd sixtyfour-demos/demos/compliance/kyb-report
  2. 2

    Add your API key

    Get your key from app.sixtyfour.ai, then:

    bash
    cp .env.example .env
    # Open .env and set SIXTYFOUR_API_KEY=your_key_here
  3. 3

    Install dependencies

    bash
    pnpm install
  4. 4

    Run the demo

    Executes the enrichment and prints the structured output to your terminal.

    bash
    pnpm start