Guides · API

One-call KYC check API

One-call KYC/KYB onboarding check: screens a person or company name against sanctions lists and persons against the PEP list, verifies the email (MX, disposable, role, typos), validates the phone (line type) and checks an EU VAT number in VIES in parallel, with one verdict: pass, review, block_review or incomplete. Send any combination of name, email, phone and vat. For signup, marketplace seller, payout and B2B onboarding agents.

0.01 USDC per call · GET /v1/kyc/check · free preview at /v1/kyc/check/preview

Parameters

NameRequiredDescription
namenoPerson or company name to screen against sanctions lists (persons are also screened for PEP status)
emailnoEmail address to verify
phonenoPhone number, international format or with country
countrynoOptional ISO country for a national phone number, e.g. NL
vatnoOptional EU VAT number with country prefix, e.g. NL859048800B01
companynoOptional company name to verify in official registers (GLEIF/FR/NO)
company_countrynoOptional ISO country for the company, e.g. FR
typenoOptional: screen the name as a person or an organisation
birth_yearnoOptional 4-digit birth year for the sanctions and PEP checks
pepnoPEP check of a person name (default true)
kvknoOptional Dutch KvK number: adds a bankruptcy / suspension of payments check

Example request

curl "https://factline.dev/v1/kyc/check?name=Jan+de+Vries&email=jan%40example.nl&phone=%2B31612345678"
# 402 Payment Required: pay with an x402 client (USDC on Base), or send
# Authorization: Bearer <your Factline API key>

Example response

{
  "verdict": "pass",
  "flags": [],
  "checks": {
    "sanctions": {
      "status": "ok",
      "result": {
        "query": {
          "name": "Jan de Vries",
          "type": null,
          "birth_year": null,
          "threshold": 85
        },
        "possible_match": false,
        "matches": [],
        "list": {
          "sources": [
            {
              "list": "EU",
              "name": "EU consolidated financial sanctions list (European Commission)",
              "dated": "2026-09-22"
            },
            {
              "list": "UN",
              "name": "UN Security Council consolidated sanctions list",
              "dated": "2026-10-07"
            },
            {
              "list": "UK",
              "name": "UK Sanctions List (FCDO/OFSI)",
              "dated": "07/10/2026"
            },
            {
              "list": "US",
              "name": "US OFAC Specially Designated Nationals (SDN) list",
              "dated": "OFAC SDN"
            }
          ],
          "entities": 25591,
          "loaded_at": "2026-10-08T00:30:53.837Z"
        }
      }
    },
    "email": {
      "status": "ok",
      "result": {
        "email": "jan@factline.dev",
        "verdict": "deliverable",
        "reasons": [],
        "syntax_valid": true,
        "domain": "factline.dev",
        "mail_routing": {
          "domain_exists": true,
          "accepts_mail": true,
          "mx": [
            "route1.mx.cloudflare.net",
            "route3.mx.cloudflare.net",
            "route2.mx.cloudflare.net"
          ],
          "implicit_mx": false,
          "null_mx": false
        },
        "disposable": false,
        "role_account": false,
        "free_provider": false,
        "suggestion": null,
        "domain_security": {
          "spf": true,
          "dmarc_policy": null
        },
        "source": "DNS via Cloudflare 1.1.1.1 (DNS-over-HTTPS); disposable-email-domains (CC0)"
      }
    },
    "phone": {
      "status": "ok",
      "result": {
        "input": "+31612345678",
        "valid": true,
        "possible": true,
        "e164": "+31612345678",
        "international": "+31 6 12345678",
        "national": "06 12345678",
        "country": "NL",
        "country_name": "Netherlands",
        "calling_code": "+31",
        "line_type": "mobile",
        "sms_capable": true,
        "source": "G
  ...

Use it from an AI agent

Agents with an x402 wallet call the URL directly and pay per request. Assistants that speak MCP connect to https://factline.dev/mcp. Full reference: docs, OpenAPI, llms.txt. Businesses: API keys with a free trial.

Questions

How much does the One-call KYC check cost?

0.01 USDC per call, paid per request with x402 (no account), or included in a Factline API key plan with a free trial. Calls that fail are not charged.

Can I try it for free?

Yes: GET /v1/kyc/check/preview with the same parameters validates your input and shows what the paid answer contains, at no cost.

Where does the data come from?

Official public registers and open data, named with their licence in every response (source field) and at /.well-known/x402-license-provenance.

Related checks

Dutch address verification API · Email verification API · Phone number validation API · EU VAT number check API (VIES) · Sanctions screening API (EU, UN, UK, OFAC) · EU company verification (KYB) API