# B2B Vendor KYB, GLEIF LEI, EU VAT VIES & NIS2 Auditor (`stippled_wit/verishield-kyb-compliance-engine`) Actor

Automated B2B Vendor KYB & Regulatory Compliance Engine. Verifies legal entities via GLEIF (LEI), EU VIES (VAT), US SEC EDGAR, HHS NPI, and audits domains for SPF/DMARC, NIS2 HTTP headers, GDPR & EAA compliance signals with white-label HTML reports.

- **URL**: https://apify.com/stippled_wit/verishield-kyb-compliance-engine.md
- **Developed by:** [Chathuka Siriwardana](https://apify.com/stippled_wit) (community)
- **Categories:** Lead generation, AI, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 verified vendor kyb records

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## 🛡️ VeriShield KYB — Automated B2B Vendor Registry, Tax & NIS2/EAA Compliance Engine

**VeriShield KYB** is an all-in-one automated B2B Vendor Know-Your-Business (KYB), Tax Registry, and Technical Compliance Audit Engine built for **procurement pipelines, fintech onboarding, compliance consultancies, n8n/Make automations, and AI agents (MCP)**.

In a single execution, VeriShield queries official global registries and live domain endpoints to compute a deterministic **0–100 Compliance Score (`A+` to `F`)**, structured JSON dataset, and a **White-Label Executive HTML/PDF Compliance Certificate**.

***

### 🔍 What VeriShield Verifies Automatically

1. **Global Legal Entity Identifier (`GLEIF API v1`)**
   - Verifies 20-character LEI codes or resolves legal company names across 3.4M+ registered entities in 200+ jurisdictions.
   - Extracts `entityStatus` (`ACTIVE` / `INACTIVE`), `registrationStatus` (`ISSUED` / `LAPSED`), local trade registry ID, managing LOU, BIC/MIC codes, and legal/headquarters addresses.
2. **EU Cross-Border VAT Validation (`European Commission VIES API`)**
   - Deterministic country-specific checksum/regex pre-validation across all 27 EU member states + Northern Ireland (`XI`).
   - Real-time VIES confirmation returning registered trader name and official address for 0% reverse-charge VAT compliance.
3. **US Public Company & Financial Filings (`SEC EDGAR API`)**
   - Resolves company name or stock ticker to 10-digit SEC CIK, SIC industry classification, state of incorporation, EIN, and recent `10-K`, `10-Q`, `8-K`, and `20-F` filings.
4. **US Healthcare & Medical Supplier Verification (`HHS CMS NPPES NPI API v2.1`)**
   - Validates 10-digit NPI numbers and organization providers (`NPI-2`), active status, authorized officials, and primary healthcare taxonomy licenses.
5. **Corporate Domain Cyber Hygiene, NIS2 Headers & EU GDPR/EAA Compliance Signals**
   - **Email Anti-Spoofing (BEC Prevention):** Verifies live DNS `MX`, `SPF` (`-all` vs `~all`), and `DMARC` (`p=reject` / `p=quarantine` / `p=none`) policies.
   - **NIS2 / ISO 27001 HTTP Security Headers:** Grades `Strict-Transport-Security` (HSTS), `Content-Security-Policy` (CSP), `X-Frame-Options`, `X-Content-Type-Options`, `Referrer-Policy`, `Permissions-Policy`, and RFC 9116 `/.well-known/security.txt`.
   - **EU GDPR & European Accessibility Act (EAA / EN 301 549) Signals:** Detects Consent Management Platforms (OneTrust, Cookiebot, Usercentrics, TrustArc, Google Consent Mode), Privacy Policy links, HTML `lang`, viewport zoom compliance, and image `alt` coverage.

***

### 🚀 Three Ways to Run VeriShield

#### 1. Apify Cloud Actor (Pay-Per-Event API & Bulk UI)

Run bulk vendor lists directly in the [Apify Console](https://apify.com/stippled_wit/verishield-kyb-compliance-engine) or via the synchronous REST API:

```bash
curl -X POST "https://api.apify.com/v2/acts/stippled_wit~verishield-kyb-compliance-engine/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "vendors": [
      { "companyName": "Siemens AG", "domain": "siemens.com", "vatNumber": "DE129273398", "countryCode": "DE" },
      { "companyName": "Apple Inc.", "domain": "apple.com", "ticker": "AAPL", "countryCode": "US" }
    ],
    "generateHtmlReport": true,
    "whiteLabelBrandName": "Your Compliance Team"
  }'
```

#### 2. Model Context Protocol (MCP) Server for Claude, Cursor & AI Agents

Add VeriShield to your `claude_desktop_config.json` or `.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "verishield-kyb": {
      "command": "node",
      "args": ["/absolute/path/to/src/mcp-server.js"]
    }
  }
}
```

Exposes three zero-latency tools:

- `verify_vendor_kyb`
- `validate_eu_vat`
- `audit_domain_compliance`

#### 3. Standalone CLI (Batch JSON & White-Label Certificate Export)

```bash
node src/cli.js --company "Siemens AG" --domain "siemens.com" --vat "DE129273398" --brand "Acme Risk Advisory"
```

# Actor input Schema

## `vendors` (type: `array`):

Array of vendor objects to verify across GLEIF (LEI), EU VIES (VAT), US SEC EDGAR (CIK/Ticker), HHS NPPES (NPI), and live domain security/compliance checks.

## `enableGleif` (type: `boolean`):

Verify legal entity status, jurisdiction, registration authority, and HQ address against the official GLEIF database.

## `enableVies` (type: `boolean`):

Validate EU/XI cross-border VAT numbers in real time via the official EU VIES system.

## `enableSec` (type: `boolean`):

Verify US publicly traded entities, CIK, SIC industry code, and recent 10-K/10-Q/8-K filings.

## `enableNppes` (type: `boolean`):

Verify US healthcare providers and medical suppliers in the official CMS NPPES NPI registry.

## `enableDomainAudit` (type: `boolean`):

Inspect DNS email anti-spoofing records (SPF/DMARC/MX), HTTP security headers (HSTS, CSP, X-Frame-Options), security.txt, and GDPR/EAA web compliance signals.

## `generateHtmlReport` (type: `boolean`):

Store a print/PDF-ready HTML Executive Compliance Certificate in the Key-Value Store for each audited vendor.

## `whiteLabelBrandName` (type: `string`):

Custom company or compliance team name displayed at the top of generated HTML Compliance Certificates.

## Actor input object example

```json
{
  "vendors": [
    {
      "companyName": "Apple Inc.",
      "domain": "apple.com",
      "ticker": "AAPL",
      "countryCode": "US"
    },
    {
      "companyName": "Siemens Aktiengesellschaft",
      "domain": "siemens.com",
      "vatNumber": "DE129273398",
      "countryCode": "DE"
    }
  ],
  "enableGleif": true,
  "enableVies": true,
  "enableSec": true,
  "enableNppes": false,
  "enableDomainAudit": true,
  "generateHtmlReport": true,
  "whiteLabelBrandName": "VeriShield KYB & Compliance Intelligence"
}
```

# Actor output Schema

## `vendorsDataset` (type: `string`):

Structured KYB, GLEIF LEI, EU VIES VAT, SEC EDGAR, and NIS2/EAA domain compliance results.

## `executiveCertificates` (type: `string`):

Print/PDF-ready White-Label HTML Compliance Certificates stored in the Key-Value Store.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("stippled_wit/verishield-kyb-compliance-engine").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("stippled_wit/verishield-kyb-compliance-engine").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call stippled_wit/verishield-kyb-compliance-engine --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,stippled_wit/verishield-kyb-compliance-engine"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/6LruNQPJodVkhS0aD/builds/Ob9L4C9uut495kkVC/openapi.json
