API & integrations

Connect compliance to your workflow.

The sKYCo API connects risk assessments and compliance checks with your existing software. Talk to us about your integration needs.

Ask about the API
Explore API capabilities and technical details

Firm-wide risk assessment

Bring risk factors, assessments and results into your practice software.

Client risk scoring

Connect risk profiles and assessments to existing review processes.

PEP & sanctions screening

Process checks, matches and status changes in your own workflow.

Beneficial ownership

Incorporate ownership structures and register information.

Identity verification

Connect identity checks to your digital onboarding process.

Built for integration

REST, JSON & OpenAPI 3.1

Versioned endpoints and machine-readable API documentation.

OAuth 2.0

Client credentials and separate access credentials per tenant.

Webhooks

Automatically receive events such as new matches or status changes.

Sandbox

Test integrations with sample data before going live.

EU hosting & audit log

EU-based data hosting and logging of API requests.

SLA & white label

Agreed service levels and integration under your own brand.

Example API endpoints

POST/v1/office-risk-assessmentsFirm-wide risk assessment
POST/v1/risk-assessmentsClient risk scoring
POST/v1/screeningsPEP and sanctions screening
GET/v1/beneficial-owners/{id}Beneficial owners
POST/v1/identificationsDigital identity verification
GET/v1/reports/{id}Review report

Example: PEP and sanctions screening

Upload a PDF listing the people involved. The API extracts them, checks PEP and sanctions data, and returns structured JSON results. This example uses fictional test data; findings require human review.

Example request
curl --request POST "$SKYCO_API_BASE_URL/v1/screenings" \
  --header "Authorization: Bearer $SKYCO_ACCESS_TOKEN" \
  --form "document=@involved-people.pdf;type=application/pdf" \
  --form "case_reference=DEMO-123" \
  --form "checks=pep" \
  --form "checks=sanctions"
Example response
HTTP/1.1 200 OK
{
  "screening_id": "scr_demo_001",
  "case_reference": "DEMO-123",
  "review_required": true,
  "extracted_subjects": [
    { "id": "person_1", "name": "Mara Beispiel",
      "date_of_birth": "1979-04-18",
      "role": "beneficial_owner" },
    { "id": "person_2", "name": "Lukas Demo",
      "role": "director" }
  ],
  "results": [
    {
      "subject_id": "person_1",
      "pep": "review_required",
      "sanctions": "no_match"
    },
    {
      "subject_id": "person_2",
      "pep": "no_match",
      "sanctions": "no_match"
    }
  ],
  "findings": [
    {
      "subject_id": "person_1",
      "check": "pep",
      "source": "PEP demo list",
      "record_id": "PEP-DEMO-017",
      "listed_name": "Mara Beispiel",
      "listed_date_of_birth": "1979-04-18",
      "public_function": "Minister (fictional)",
      "matched_fields": ["name", "date_of_birth"]
    }
  ]
}

We discuss integration scope, access and service levels individually. Register data such as WiEReG requires the applicable access rights.

Ask about the API

Tell us which capabilities you would like to connect. We will get back to you about integration options.

What would you like to connect?