🏦
KYC Verification
Know Your Customer verification for financial services
Customer onboarding
Identity verification
Compliance checks
Začetek
Opis
Točke
/v1/check/company/v1/check/sanctions/v1/check/vat/v1/check/iban
Države
Czech Republic, Slovakia, Poland, European Union, United Kingdom, United States
Korak za korakom
1Preverjanje podjetja
Opis
curl -X POST https://api.scorika.com/v1/check/company \
-H "X-Api-Key: sk_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{"identifier": "27074358", "country": "CZ"}'2Sankcije
Opis
Sankcije
# Check sanctionssanctions_response = requests.post( "https://api.scorika.com/v1/check/sanctions", headers={"X-Api-Key": "sk_live_your_api_key"}, json={"name": company["company_name"], "country": "CZ"}, timeout=5)sanctions = sanctions_response.json()["data"]if sanctions["matches"]: raise ValueError(f"Sanctions match: {sanctions['matches']}")3Validacija DDV
Opis
Validacija DDV
# Validate VATvat_response = requests.post( "https://api.scorika.com/v1/check/vat", headers={"X-Api-Key": "sk_live_your_api_key"}, json={"vat_id": company.get("vat_id")}, timeout=5)vat = vat_response.json()["data"]if not vat["valid"]: raise ValueError("Invalid VAT number")4Complete KYC Workflow
Combine all checks into a complete KYC workflow:
Complete KYC Workflow
import requestsfrom typing import Dict, Anydef perform_kyc_verification(company_id: str, country: str) -> Dict[str, Any]: """Complete KYC verification workflow.""" api_key = "sk_live_your_api_key" base_url = "https://api.scorika.com" results = { "company_verified": False, "sanctions_clear": False, "vat_valid": False, "errors": [] } try: # 1. Verify company company_resp = requests.post( f"{base_url}/v1/check/company", headers={"X-Api-Key": api_key}, json={"identifier": company_id, "country": country}, timeout=5 ) company = company_resp.json()["data"] results["company_verified"] = company["found"] if not company["found"]: results["errors"].append("Company not found") return results # 2. Check sanctions sanctions_resp = requests.post( f"{base_url}/v1/check/sanctions", headers={"X-Api-Key": api_key}, json={"name": company["company_name"], "country": country}, timeout=5 ) sanctions = sanctions_resp.json()["data"] results["sanctions_clear"] = len(sanctions.get("matches", [])) == 0 # 3. Validate VAT (if available) if company.get("vat_id"): vat_resp = requests.post( f"{base_url}/v1/check/vat", headers={"X-Api-Key": api_key}, json={"vat_id": company["vat_id"]}, timeout=5 ) vat = vat_resp.json()["data"] results["vat_valid"] = vat["valid"] except requests.Timeout: results["errors"].append("API timeout - allow and log for review") except Exception as e: results["errors"].append(str(e)) return results# Usageresult = perform_kyc_verification("27074358", "CZ")print(result)Best Practices
Da
- • Set timeout (3-5s) on all API calls
- • Implement fallback for timeouts/errors
- • Cache results when appropriate
- • Log case_ids for debugging
Ne
- • Block critical flows on API errors
- • Make sync calls without timeout
- • Expose API keys in client-side code
- • Store raw API responses with PII