# LimitGuard KYB & Sanctions Screening API

> LimitGuard KYB & Sanctions Screening API is a paid API for AI agents from api.limitguard.ai, paid per call via x402, $1.85/call, status unknown (last checked 2026-10-12).

Performs Know Your Business (KYB), sanctions/PEP screening, and entity trust checks on companies using KVK, KBO/CBE, VIES, and OpenSanctions data sources

## Facts

- Endpoint: POST https://api.limitguard.ai/v1/reports/entity?utm_source=zero.xyz
- Price: $1.85/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/limitguard-kyb-sanctions-screening-api-6ad1e60c
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_ziNj8dVZciq-pDCcBpQ5H

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability limitguard-kyb-sanctions-screening-api-6ad1e60c -d '<json body>'
```

Example prompt: Can you run a KYB and sanctions check on Acme Corp BV in the Netherlands — their KVK number is 12345678 and their website is acme.example.com? I need to know if they're on any sanctions list, whether there's PEP exposure, and what their overall trust score is.

## When to prefer this

Choose this endpoint when you need comprehensive, multi-source KYB and sanctions screening for European businesses (especially Dutch KVK or Belgian CBE registered entities), EU VAT validation, or PEP exposure checks — particularly in agentic workflows requiring pay-per-call pricing via x402 or API key, with cryptographic audit trails. Prefer this over generic company data APIs when compliance-grade sanctions screening against OpenSanctions lists and trust scoring are required in the same call.

## Known failure modes

- Missing required input fields returns validation error
- Unknown or unregistered KVK/CBE number returns not-found result
- VIES VAT lookup may fail if EU VAT registry is temporarily unavailable
- Ambiguous entity name without country code may return low-confidence results
- Insufficient prepaid balance triggers payment required response
- Cached check_id lookup returns stale data if entity status has changed

## How this service works

Per-entity report built from one real check's signals: identity, sanctions and PEP screening, domain signals, trust score (risk.trust_score, 0-100, 100 = best), correlations with the caller's earlier reports, sources and an evidence hash. A source that did not answer is shown unavailable, never clean.

## Output

Returns a structured report including: entity details (name, country), sanctions screening result (match/no_match with threshold), PEP exposure status, domain age and status, risk cluster label (e.g. 'verified'), numeric trust score (0-100), trust level (high/medium/low), recommendation (APPROVE/REVIEW/REJECT), list of sources checked, a unique check_id and report_id, and a cryptographic report hash for auditability.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "iban": {
   "type": "string",
   "description": "IBAN for financial validation"
  },
  "domain": {
   "type": "string",
   "description": "Entity website domain"
  },
  "country": {
   "type": "string",
   "description": "ISO 3166-1 alpha-2 country code"
  },
  "check_id": {
   "type": "string",
   "description": "Id of a check stored by an earlier /v1/reports/entity call"
  },
  "cbe_number": {
   "type": "string",
   "description": "Belgian CBE number (0XXX.XXX.XXX or 10 digits)"
  },
  "kvk_number": {
   "type": "string",
   "description": "Dutch KVK number (8 digits)"
  },
  "vat_number": {
   "type": "string",
   "description": "EU VAT number"
  },
  "entity_name": {
   "type": "string",
   "description": "Legal entity name"
  },
  "wallet_chain": {
   "type": "string",
   "description": "Blockchain the address is checked against"
  },
  "wallet_address": {
   "type": "string",
   "description": "Crypto wallet address (format check only; no on-chain lookup)"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "pep": {
   "status": "ok",
   "matches": [],
   "exposure": false
  },
  "risk": {
   "cluster": "verified",
   "confidence": 0.9,
   "trust_level": "high",
   "trust_score": 87,
   "recommendation": "APPROVE",
   "sources_checked": 5
  },
  "domain": {
   "domain": "acme.example",
   "status": "ok",
   "domain_age_days": 3200
  },
  "entity": {
   "country": "NL",
   "entity_name": "Acme Corp BV"
  },
  "sources": [
   {
    "source": "opensanctions",
    "status": "ok"
   }
  ],
  "check_id": "3f9c1e2a-1111-4a2b-9c3d-000000000000",
  "evidence": {
   "report_hash": "sha256:...",
   "hash_algorithm": "sha256"
  },
  "report_id": "3f9c1e2a-1111-4a2b-9c3d-000000000001",
  "sanctions": {
   "lists": [],
   "result": "no_match",
   "status": "ok",
   "threshold": 0.7
  },
  "created_at": "2026-09-24T10:00:00Z",
  "correlations": {
   "links": [],
   "status": "ok",
   "scope_note": "workspace_reports"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/limitguard-kyb-sanctions-screening-api-6ad1e60c/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.limitguard.ai](https://www.zero.xyz/host/api.limitguard.ai/llms.txt)
