KYB - South Africa
Business Account Verification
API endpoint for verifying South African business bank accounts, including account holder validation and account status checks.
POST
/
v2
/
api
/
verifications
/
za
/
business-account
Business Account Verification
curl --request POST \
--url https://api.youverify.co/v2/api/verifications/za/business-account \
--header 'Content-Type: application/json' \
--header 'token: <api-key>' \
--data '
{
"registrationNumber": "201133333323",
"businessPayload": {
"branchNumber": "88",
"batchNumber": "11",
"enquiryAmount": "5000",
"accountVerifications": [
{
"accountHolder": "ITC DISTRIBUTORS PTY LTD",
"accountNumber": "050610025211",
"accountType": "CUR",
"branchCode": "254905",
"registrationNumber": "197905643207"
}
],
"bankCodes": [
{
"accountHolder": "",
"accountNumber": "",
"bankAbbreviation": "",
"branch": "",
"branchCode": "",
"creditAmount": "",
"specialInstructions": "",
"termsGiven": ""
}
],
"tradeReferences": [
{
"branch": "",
"contactName": "",
"telephoneDialingCode": "",
"telephoneNumber": "",
"tradeName": ""
}
]
},
"isConsent": true
}
'import requests
url = "https://api.youverify.co/v2/api/verifications/za/business-account"
payload = {
"registrationNumber": "201133333323",
"businessPayload": {
"branchNumber": "88",
"batchNumber": "11",
"enquiryAmount": "5000",
"accountVerifications": [
{
"accountHolder": "ITC DISTRIBUTORS PTY LTD",
"accountNumber": "050610025211",
"accountType": "CUR",
"branchCode": "254905",
"registrationNumber": "197905643207"
}
],
"bankCodes": [
{
"accountHolder": "",
"accountNumber": "",
"bankAbbreviation": "",
"branch": "",
"branchCode": "",
"creditAmount": "",
"specialInstructions": "",
"termsGiven": ""
}
],
"tradeReferences": [
{
"branch": "",
"contactName": "",
"telephoneDialingCode": "",
"telephoneNumber": "",
"tradeName": ""
}
]
},
"isConsent": True
}
headers = {
"token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {token: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
registrationNumber: '201133333323',
businessPayload: {
branchNumber: '88',
batchNumber: '11',
enquiryAmount: '5000',
accountVerifications: [
{
accountHolder: 'ITC DISTRIBUTORS PTY LTD',
accountNumber: '050610025211',
accountType: 'CUR',
branchCode: '254905',
registrationNumber: '197905643207'
}
],
bankCodes: [
{
accountHolder: '',
accountNumber: '',
bankAbbreviation: '',
branch: '',
branchCode: '',
creditAmount: '',
specialInstructions: '',
termsGiven: ''
}
],
tradeReferences: [
{
branch: '',
contactName: '',
telephoneDialingCode: '',
telephoneNumber: '',
tradeName: ''
}
]
},
isConsent: true
})
};
fetch('https://api.youverify.co/v2/api/verifications/za/business-account', 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://api.youverify.co/v2/api/verifications/za/business-account",
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([
'registrationNumber' => '201133333323',
'businessPayload' => [
'branchNumber' => '88',
'batchNumber' => '11',
'enquiryAmount' => '5000',
'accountVerifications' => [
[
'accountHolder' => 'ITC DISTRIBUTORS PTY LTD',
'accountNumber' => '050610025211',
'accountType' => 'CUR',
'branchCode' => '254905',
'registrationNumber' => '197905643207'
]
],
'bankCodes' => [
[
'accountHolder' => '',
'accountNumber' => '',
'bankAbbreviation' => '',
'branch' => '',
'branchCode' => '',
'creditAmount' => '',
'specialInstructions' => '',
'termsGiven' => ''
]
],
'tradeReferences' => [
[
'branch' => '',
'contactName' => '',
'telephoneDialingCode' => '',
'telephoneNumber' => '',
'tradeName' => ''
]
]
],
'isConsent' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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://api.youverify.co/v2/api/verifications/za/business-account"
payload := strings.NewReader("{\n \"registrationNumber\": \"201133333323\",\n \"businessPayload\": {\n \"branchNumber\": \"88\",\n \"batchNumber\": \"11\",\n \"enquiryAmount\": \"5000\",\n \"accountVerifications\": [\n {\n \"accountHolder\": \"ITC DISTRIBUTORS PTY LTD\",\n \"accountNumber\": \"050610025211\",\n \"accountType\": \"CUR\",\n \"branchCode\": \"254905\",\n \"registrationNumber\": \"197905643207\"\n }\n ],\n \"bankCodes\": [\n {\n \"accountHolder\": \"\",\n \"accountNumber\": \"\",\n \"bankAbbreviation\": \"\",\n \"branch\": \"\",\n \"branchCode\": \"\",\n \"creditAmount\": \"\",\n \"specialInstructions\": \"\",\n \"termsGiven\": \"\"\n }\n ],\n \"tradeReferences\": [\n {\n \"branch\": \"\",\n \"contactName\": \"\",\n \"telephoneDialingCode\": \"\",\n \"telephoneNumber\": \"\",\n \"tradeName\": \"\"\n }\n ]\n },\n \"isConsent\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("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://api.youverify.co/v2/api/verifications/za/business-account")
.header("token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"registrationNumber\": \"201133333323\",\n \"businessPayload\": {\n \"branchNumber\": \"88\",\n \"batchNumber\": \"11\",\n \"enquiryAmount\": \"5000\",\n \"accountVerifications\": [\n {\n \"accountHolder\": \"ITC DISTRIBUTORS PTY LTD\",\n \"accountNumber\": \"050610025211\",\n \"accountType\": \"CUR\",\n \"branchCode\": \"254905\",\n \"registrationNumber\": \"197905643207\"\n }\n ],\n \"bankCodes\": [\n {\n \"accountHolder\": \"\",\n \"accountNumber\": \"\",\n \"bankAbbreviation\": \"\",\n \"branch\": \"\",\n \"branchCode\": \"\",\n \"creditAmount\": \"\",\n \"specialInstructions\": \"\",\n \"termsGiven\": \"\"\n }\n ],\n \"tradeReferences\": [\n {\n \"branch\": \"\",\n \"contactName\": \"\",\n \"telephoneDialingCode\": \"\",\n \"telephoneNumber\": \"\",\n \"tradeName\": \"\"\n }\n ]\n },\n \"isConsent\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.youverify.co/v2/api/verifications/za/business-account")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"registrationNumber\": \"201133333323\",\n \"businessPayload\": {\n \"branchNumber\": \"88\",\n \"batchNumber\": \"11\",\n \"enquiryAmount\": \"5000\",\n \"accountVerifications\": [\n {\n \"accountHolder\": \"ITC DISTRIBUTORS PTY LTD\",\n \"accountNumber\": \"050610025211\",\n \"accountType\": \"CUR\",\n \"branchCode\": \"254905\",\n \"registrationNumber\": \"197905643207\"\n }\n ],\n \"bankCodes\": [\n {\n \"accountHolder\": \"\",\n \"accountNumber\": \"\",\n \"bankAbbreviation\": \"\",\n \"branch\": \"\",\n \"branchCode\": \"\",\n \"creditAmount\": \"\",\n \"specialInstructions\": \"\",\n \"termsGiven\": \"\"\n }\n ],\n \"tradeReferences\": [\n {\n \"branch\": \"\",\n \"contactName\": \"\",\n \"telephoneDialingCode\": \"\",\n \"telephoneNumber\": \"\",\n \"tradeName\": \"\"\n }\n ]\n },\n \"isConsent\": true\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"statusCode": 200,
"message": "success",
"data": {
"id": "66a7965de3034410d8af076e",
"status": "found",
"businessId": "628b38f03ae28a14f52d4bf7",
"parentId": null,
"isConsent": true,
"type": "za_company_account",
"searchTerm": "201133333323",
"name": "ITC DISTRIBUTORS (PTY) LTD",
"registrationNumber": "201133333323",
"requestedAt": "2024-07-29T13:17:20.029Z",
"country": null,
"createdAt": "2024-07-29T13:17:20.303Z",
"lastModifiedAt": "2024-07-29T13:17:20.303Z",
"itNumber": null,
"bankName": null,
"branchCode": "254905",
"accountNumber": "050610025211",
"accountHolder": "ITC DISTRIBUTORS PTY LTD",
"accountVerification": {
"verifiedDate": "2024-07-25",
"accountFound": "Y",
"idMatch": "N",
"surnameMatch": "N",
"accountOpen": "Y",
"accountDormant": "U",
"accountOpen3Months": "Y",
"accountAcceptsDebits": "Y",
"accountAcceptsCredits": "Y",
"branchCode": null,
"errorReason": "Success",
"verified": "N"
},
"websiteEmail": null,
"branchAddress": null,
"headOfficeAddress": null,
"objectives": null,
"amlReport": null,
"adverseMediaReport": null,
"requestedBy": {
"firstName": "API",
"lastName": "User",
"middleName": "",
"id": "628b38f03ae28a5a122d4bf3"
}
},
"links": []
}{
"success": false,
"statusCode": 401,
"message": "Permission denied",
"name": "UnauthorizedError",
"data": {}
}{
"success": false,
"statusCode": 402,
"message": "Insufficient fund",
"name": "PaymentRequiredError",
"data": {}
}{
"success": false,
"statusCode": 404,
"message": "You have attempted to get a resource that does not exist.",
"name": "ResourceNotFoundError",
"data": {}
}{
"success": false,
"statusCode": 429,
"message": "Too many requests",
"name": "RateLimitError",
"data": {}
}{
"success": false,
"statusCode": 500,
"message": "Internal Server Error",
"name": "Error",
"data": {}
}Authorizations
Your Youverify API secret key. Never expose client-side.
Headers
API secret token
Body
application/json
Response
Success
⌘I
Business Account Verification
curl --request POST \
--url https://api.youverify.co/v2/api/verifications/za/business-account \
--header 'Content-Type: application/json' \
--header 'token: <api-key>' \
--data '
{
"registrationNumber": "201133333323",
"businessPayload": {
"branchNumber": "88",
"batchNumber": "11",
"enquiryAmount": "5000",
"accountVerifications": [
{
"accountHolder": "ITC DISTRIBUTORS PTY LTD",
"accountNumber": "050610025211",
"accountType": "CUR",
"branchCode": "254905",
"registrationNumber": "197905643207"
}
],
"bankCodes": [
{
"accountHolder": "",
"accountNumber": "",
"bankAbbreviation": "",
"branch": "",
"branchCode": "",
"creditAmount": "",
"specialInstructions": "",
"termsGiven": ""
}
],
"tradeReferences": [
{
"branch": "",
"contactName": "",
"telephoneDialingCode": "",
"telephoneNumber": "",
"tradeName": ""
}
]
},
"isConsent": true
}
'import requests
url = "https://api.youverify.co/v2/api/verifications/za/business-account"
payload = {
"registrationNumber": "201133333323",
"businessPayload": {
"branchNumber": "88",
"batchNumber": "11",
"enquiryAmount": "5000",
"accountVerifications": [
{
"accountHolder": "ITC DISTRIBUTORS PTY LTD",
"accountNumber": "050610025211",
"accountType": "CUR",
"branchCode": "254905",
"registrationNumber": "197905643207"
}
],
"bankCodes": [
{
"accountHolder": "",
"accountNumber": "",
"bankAbbreviation": "",
"branch": "",
"branchCode": "",
"creditAmount": "",
"specialInstructions": "",
"termsGiven": ""
}
],
"tradeReferences": [
{
"branch": "",
"contactName": "",
"telephoneDialingCode": "",
"telephoneNumber": "",
"tradeName": ""
}
]
},
"isConsent": True
}
headers = {
"token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {token: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
registrationNumber: '201133333323',
businessPayload: {
branchNumber: '88',
batchNumber: '11',
enquiryAmount: '5000',
accountVerifications: [
{
accountHolder: 'ITC DISTRIBUTORS PTY LTD',
accountNumber: '050610025211',
accountType: 'CUR',
branchCode: '254905',
registrationNumber: '197905643207'
}
],
bankCodes: [
{
accountHolder: '',
accountNumber: '',
bankAbbreviation: '',
branch: '',
branchCode: '',
creditAmount: '',
specialInstructions: '',
termsGiven: ''
}
],
tradeReferences: [
{
branch: '',
contactName: '',
telephoneDialingCode: '',
telephoneNumber: '',
tradeName: ''
}
]
},
isConsent: true
})
};
fetch('https://api.youverify.co/v2/api/verifications/za/business-account', 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://api.youverify.co/v2/api/verifications/za/business-account",
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([
'registrationNumber' => '201133333323',
'businessPayload' => [
'branchNumber' => '88',
'batchNumber' => '11',
'enquiryAmount' => '5000',
'accountVerifications' => [
[
'accountHolder' => 'ITC DISTRIBUTORS PTY LTD',
'accountNumber' => '050610025211',
'accountType' => 'CUR',
'branchCode' => '254905',
'registrationNumber' => '197905643207'
]
],
'bankCodes' => [
[
'accountHolder' => '',
'accountNumber' => '',
'bankAbbreviation' => '',
'branch' => '',
'branchCode' => '',
'creditAmount' => '',
'specialInstructions' => '',
'termsGiven' => ''
]
],
'tradeReferences' => [
[
'branch' => '',
'contactName' => '',
'telephoneDialingCode' => '',
'telephoneNumber' => '',
'tradeName' => ''
]
]
],
'isConsent' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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://api.youverify.co/v2/api/verifications/za/business-account"
payload := strings.NewReader("{\n \"registrationNumber\": \"201133333323\",\n \"businessPayload\": {\n \"branchNumber\": \"88\",\n \"batchNumber\": \"11\",\n \"enquiryAmount\": \"5000\",\n \"accountVerifications\": [\n {\n \"accountHolder\": \"ITC DISTRIBUTORS PTY LTD\",\n \"accountNumber\": \"050610025211\",\n \"accountType\": \"CUR\",\n \"branchCode\": \"254905\",\n \"registrationNumber\": \"197905643207\"\n }\n ],\n \"bankCodes\": [\n {\n \"accountHolder\": \"\",\n \"accountNumber\": \"\",\n \"bankAbbreviation\": \"\",\n \"branch\": \"\",\n \"branchCode\": \"\",\n \"creditAmount\": \"\",\n \"specialInstructions\": \"\",\n \"termsGiven\": \"\"\n }\n ],\n \"tradeReferences\": [\n {\n \"branch\": \"\",\n \"contactName\": \"\",\n \"telephoneDialingCode\": \"\",\n \"telephoneNumber\": \"\",\n \"tradeName\": \"\"\n }\n ]\n },\n \"isConsent\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("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://api.youverify.co/v2/api/verifications/za/business-account")
.header("token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"registrationNumber\": \"201133333323\",\n \"businessPayload\": {\n \"branchNumber\": \"88\",\n \"batchNumber\": \"11\",\n \"enquiryAmount\": \"5000\",\n \"accountVerifications\": [\n {\n \"accountHolder\": \"ITC DISTRIBUTORS PTY LTD\",\n \"accountNumber\": \"050610025211\",\n \"accountType\": \"CUR\",\n \"branchCode\": \"254905\",\n \"registrationNumber\": \"197905643207\"\n }\n ],\n \"bankCodes\": [\n {\n \"accountHolder\": \"\",\n \"accountNumber\": \"\",\n \"bankAbbreviation\": \"\",\n \"branch\": \"\",\n \"branchCode\": \"\",\n \"creditAmount\": \"\",\n \"specialInstructions\": \"\",\n \"termsGiven\": \"\"\n }\n ],\n \"tradeReferences\": [\n {\n \"branch\": \"\",\n \"contactName\": \"\",\n \"telephoneDialingCode\": \"\",\n \"telephoneNumber\": \"\",\n \"tradeName\": \"\"\n }\n ]\n },\n \"isConsent\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.youverify.co/v2/api/verifications/za/business-account")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"registrationNumber\": \"201133333323\",\n \"businessPayload\": {\n \"branchNumber\": \"88\",\n \"batchNumber\": \"11\",\n \"enquiryAmount\": \"5000\",\n \"accountVerifications\": [\n {\n \"accountHolder\": \"ITC DISTRIBUTORS PTY LTD\",\n \"accountNumber\": \"050610025211\",\n \"accountType\": \"CUR\",\n \"branchCode\": \"254905\",\n \"registrationNumber\": \"197905643207\"\n }\n ],\n \"bankCodes\": [\n {\n \"accountHolder\": \"\",\n \"accountNumber\": \"\",\n \"bankAbbreviation\": \"\",\n \"branch\": \"\",\n \"branchCode\": \"\",\n \"creditAmount\": \"\",\n \"specialInstructions\": \"\",\n \"termsGiven\": \"\"\n }\n ],\n \"tradeReferences\": [\n {\n \"branch\": \"\",\n \"contactName\": \"\",\n \"telephoneDialingCode\": \"\",\n \"telephoneNumber\": \"\",\n \"tradeName\": \"\"\n }\n ]\n },\n \"isConsent\": true\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"statusCode": 200,
"message": "success",
"data": {
"id": "66a7965de3034410d8af076e",
"status": "found",
"businessId": "628b38f03ae28a14f52d4bf7",
"parentId": null,
"isConsent": true,
"type": "za_company_account",
"searchTerm": "201133333323",
"name": "ITC DISTRIBUTORS (PTY) LTD",
"registrationNumber": "201133333323",
"requestedAt": "2024-07-29T13:17:20.029Z",
"country": null,
"createdAt": "2024-07-29T13:17:20.303Z",
"lastModifiedAt": "2024-07-29T13:17:20.303Z",
"itNumber": null,
"bankName": null,
"branchCode": "254905",
"accountNumber": "050610025211",
"accountHolder": "ITC DISTRIBUTORS PTY LTD",
"accountVerification": {
"verifiedDate": "2024-07-25",
"accountFound": "Y",
"idMatch": "N",
"surnameMatch": "N",
"accountOpen": "Y",
"accountDormant": "U",
"accountOpen3Months": "Y",
"accountAcceptsDebits": "Y",
"accountAcceptsCredits": "Y",
"branchCode": null,
"errorReason": "Success",
"verified": "N"
},
"websiteEmail": null,
"branchAddress": null,
"headOfficeAddress": null,
"objectives": null,
"amlReport": null,
"adverseMediaReport": null,
"requestedBy": {
"firstName": "API",
"lastName": "User",
"middleName": "",
"id": "628b38f03ae28a5a122d4bf3"
}
},
"links": []
}{
"success": false,
"statusCode": 401,
"message": "Permission denied",
"name": "UnauthorizedError",
"data": {}
}{
"success": false,
"statusCode": 402,
"message": "Insufficient fund",
"name": "PaymentRequiredError",
"data": {}
}{
"success": false,
"statusCode": 404,
"message": "You have attempted to get a resource that does not exist.",
"name": "ResourceNotFoundError",
"data": {}
}{
"success": false,
"statusCode": 429,
"message": "Too many requests",
"name": "RateLimitError",
"data": {}
}{
"success": false,
"statusCode": 500,
"message": "Internal Server Error",
"name": "Error",
"data": {}
}