KYB Report
Generate a due-diligence packet on any company: ownership, sanctions exposure, shell-company signals.
company-intelligencecomplianceriskapi
Try it
Input
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
Clone the repo
bashgit clone https://github.com/sixtyfour-ai/sixtyfour-demos.git cd sixtyfour-demos/demos/compliance/kyb-report - 2
Add your API key
Get your key from app.sixtyfour.ai, then:
bashcp .env.example .env # Open .env and set SIXTYFOUR_API_KEY=your_key_here - 3
Install dependencies
bashpnpm install - 4
Run the demo
Executes the enrichment and prints the structured output to your terminal.
bashpnpm start