Skip to main content
POST
/
api
/
v1
/
monitoring
/
kyc_search
/
Run KYC Check
curl --request POST \
  --url https://adhere-api.smartcomply.com/api/v1/monitoring/kyc_search/ \
  --header 'Content-Type: application/json' \
  --header 'x-access-token: <api-key>' \
  --data '
{
  "entity_name": "John Doe",
  "sources": "<string>",
  "continuous_monitoring": false
}
'
import requests

url = "https://adhere-api.smartcomply.com/api/v1/monitoring/kyc_search/"

payload = {
    "entity_name": "John Doe",
    "sources": "<string>",
    "continuous_monitoring": False
}
headers = {
    "x-access-token": "<api-key>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
  method: 'POST',
  headers: {'x-access-token': '<api-key>', 'Content-Type': 'application/json'},
  body: JSON.stringify({entity_name: 'John Doe', sources: '<string>', continuous_monitoring: false})
};

fetch('https://adhere-api.smartcomply.com/api/v1/monitoring/kyc_search/', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://adhere-api.smartcomply.com/api/v1/monitoring/kyc_search/",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => json_encode([
    'entity_name' => 'John Doe',
    'sources' => '<string>',
    'continuous_monitoring' => false
  ]),
  CURLOPT_HTTPHEADER => [
    "Content-Type: application/json",
    "x-access-token: <api-key>"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://adhere-api.smartcomply.com/api/v1/monitoring/kyc_search/"

	payload := strings.NewReader("{\n  \"entity_name\": \"John Doe\",\n  \"sources\": \"<string>\",\n  \"continuous_monitoring\": false\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("x-access-token", "<api-key>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://adhere-api.smartcomply.com/api/v1/monitoring/kyc_search/")
  .header("x-access-token", "<api-key>")
  .header("Content-Type", "application/json")
  .body("{\n  \"entity_name\": \"John Doe\",\n  \"sources\": \"<string>\",\n  \"continuous_monitoring\": false\n}")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://adhere-api.smartcomply.com/api/v1/monitoring/kyc_search/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["x-access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"entity_name\": \"John Doe\",\n  \"sources\": \"<string>\",\n  \"continuous_monitoring\": false\n}"

response = http.request(request)
puts response.read_body
{
  "status": "failed",
  "data": [
    "<unknown>"
  ],
  "message": "<string>"
}
{
  "status": "failed",
  "message": "Authentication credentials were not provided."
}
The Run KYC Check endpoint screens an entity against multiple risk databases including sanctions lists, PEP (Politically Exposed Persons) records, and adverse media sources. Results are returned immediately for completed checks, or asynchronously if adverse media screening is still processing.

Endpoint

POST /api/v1/monitoring/kyc_search/

Request

Headers

HeaderValueRequired
x-access-tokenYour API secret keyYes
Content-Typeapplication/jsonYes

Body Parameters

ParameterTypeRequiredDescription
entity_namestringYesName of the entity to screen
entity_typestringNoEntity type: "person", "company", "business", or "organization" (defaults to person if none provided)
sourcesstringNoComma-separated data sources to query (e.g., "Sanctions, PEPs, Adverse Media")
continuous_monitoringbooleanNoEnable ongoing monitoring for this entity. Defaults to false

Example

curl -X POST "https://adhere-api.smartcomply.com/api/v1/monitoring/kyc_search/" \
  -H "x-access-token: YOUR_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "entity_name": "John Doe",
    "entity_type": "person",
    "sources": "Sanctions, PEPs, Adverse Media",
    "continuous_monitoring": false,
  }'

Response

200 OK — Completed

When results are immediately available, the response includes the full KYC result with risk level, PEP findings, sanctions matches, adverse media, and social media profiles.
FieldTypeDescription
data.idnumberUnique identifier for this KYC request
data.entity_namestringName of the entity screened
data.statusstringCheck status: "completed" or "running"
data.result.risk_levelstringAssessed risk: "low", "medium", or "high"
data.result.total_hitsnumberTotal flagged matches across all sources
data.result.total_blacklist_hitsnumberNumber of blacklist matches
data.result.pep_resultsarrayPEP matches with entity name, country, and classification
data.result.sanction_resultsarraySanction matches with body, types, and other information
data.result.adverse_media_resultsarrayAdverse media articles with URL, date, title, and category
data.result.social_mediaarraySocial media profiles associated with the entity
{
  "status": "success",
  "data": {
    "id": 6036,
    "entity_name": "Qudratullah Jamal",
    "status": "completed",
    "result": {
      "risk_level": "high",
      "total_hits": 76,
      "total_blacklist_hits": 6,
      "pep_results": [
        {
          "entity_name": "qudratullah jamal",
          "gender": "Not Available",
          "country": "Unknown",
          "pep_types": ["pep-class-1"],
          "other_names": ["qudratullah jamal"],
          "other_information": {
            "recorded_date": "2022-04-27T18:12:14",
            "political_post": ["sanction"]
          }
        }
      ],
      "sanction_results": [
        {
          "entity_name": "QUDRATULLAH JAMAL",
          "recorded_date": "29 Nov. 2011",
          "country": "Afghanistan",
          "sanction_body": null,
          "sanction_types": ["sanction", "warnings"],
          "other_names": [],
          "other_information": {
            "dob": "Approximately 1963",
            "pob": "Gardez, Paktia Province, Afghanistan",
            "title": "Maulavi",
            "designations": "Minister of Information under the Taliban regime"
          }
        }
      ],
      "adverse_media_results": [
        {
          "url": "https://www.opensanctions.org/entities/NK-a8GaVuetYPU5ZaoT48kMch/",
          "date": "2026-03-06T12:58:26Z",
          "title": "Maulavi Qudratullah Jamal - OpenSanctions",
          "types": ["adverse-media-v2-terrorism"],
          "provider": "google_cse",
          "relevance_score": 4
        }
      ],
      "social_media": [
        {
          "bio": "TOLOnews - X",
          "url": "https://x.com/TOLOnews/status/1510158383004930052",
          "platform": "X",
          "provider": "google_cse",
          "description": "Addressing a gathering in Kabul, the deputy minister of commerce and industry, Qudratullah Jamal..."
        }
      ],
      "search_term": "Qudratullah Jamal",
      "date_updated": "2026-03-06 12:58:30"
    }
  },
  "message": "KYC search completed"
}

400 Bad Request

{
  "status": "failed",
  "data": [],
  "message": "Sorry, your check cannot be processed at the moment. Please try again in a few minutes"
}

401 Unauthorized

{
  "status": "failed",
  "message": "Authentication credentials were not provided."
}

Authorizations

x-access-token
string
header
required

Your Adhere API secret key

Body

application/json
entity_name
string
required
Example:

"John Doe"

entity_type
enum<string>
Available options:
person,
company,
business,
organization
sources
string

Comma-separated sources, e.g. "Sanctions, PEPs"

continuous_monitoring
boolean
default:false

Response

KYC check initiated or completed