Verify Company Verify Company
POST
/verify-company
Fields that are marked with an asterisk (*
) are mandatory.
The API can only accommodate one company information per request.
Company Information Requirements :
At least one of the two fields, company_name
or company_identifiers
, must be provided.
If both fields are provided, company_identifiers
will take precedence in the certified entity matching algorithm.
Match Rate Value :
The default rate value is set to 100 .
The minimum acceptable rate value is 80 , regardless of whether a lower threshold is specified.
Valid rate values range from 80 to 100 , in increments of 5 .
Any rate value exceeding 100 will automatically be capped at 100 .
Response value:
The API will return a single matched company record with its certificates.
API Key received from https://www.iafcertsearch.org/api-verification
Example:
x-http-authorization: <<API KEY>>
Request Body
Certified Entity Name (company name) as detailed on the certificate.
Additional Company Fields
Format:
"company_identifiers":
{
"vat": "string",
"tax_id": "string",
"business_registration_number": "string",
"duns_number": "string",
company_id_number": "string"
}
The percentage or similarity score indicating how closely the details of two companies match during the verification process.
Example:
100 | "100%"
Example Payload Request
Required Fields Only - Company Name
Copy {
"company_name" : "IAF" ,
"company_country" : "Australia" ,
"company_identifiers" : {
"vat" : null ,
"tax_id" : null ,
"business_registration_number" : null ,
"duns_number" : null ,
"company_id_number" : null
} ,
"match_rate" : 90
}
Required Fields Only - Company Identifiers
Copy {
"company_name" : null ,
"company_country" : "Australia" ,
"company_identifiers" : {
"vat" : "VAT" ,
"tax_id" : "TAX ID" ,
"business_registration_number" : "BUSINESS REGISTRATION NUMBER" ,
"duns_number" : "DUNS NUMBER" ,
"company_id_number" : "COMPANY ID NUMBER"
} ,
"match_rate" : 90
}
Some Fields Are Null
Copy {
"company_name" : "IAF" ,
"company_country" : "Australia" ,
"company_identifiers" : {
"vat" : null ,
"tax_id" : null ,
"business_registration_number" : null ,
"duns_number" : "DUNS NUMBER" ,
"company_id_number" : "COMPANY ID NUMBER"
} ,
"match_rate" : 100
}
All Fields Have Values
Copy {
"company_name" : "QualityTrade" ,
"company_country" : "Australia" ,
"company_identifiers" : { // Have priority over company_name
"vat" : "VAT" ,
"tax_id" : "TAX ID" ,
"business_registration_number" : "BUSINESS REGISTRATION NUMBER" ,
"duns_number" : "DUNS NUMBER" ,
"company_id_number" : "COMPANY ID NUMBER"
} ,
"match_rate" : 100
}
Responses
200: OK - Request Successful
Copy {
"data" : {
"matched_certified_entity_name" : string ,
"match_status" : string ,
"match_type" : string ,
"certified_entity_english_name" : string ,
"certified_entity_trading_name" : string ,
"country" : string ,
"certificates" : [
{
"accreditation_bodies_name" : string ,
"certification_bodies_name" : string ,
"certification_number" : string ,
"certification_status" : string ,
"certification_scope" : string ,
"certification_standards_scheme" : [
{
"standard_name" : string ,
"scheme_name" : string ,
"is_accredited_mla" : boolean
}
] ,
"certification_main_site" : [
{
"street" : string ,
"city" : string ,
"state" : string ,
"post_code" : string ,
"full_address" : string ,
"scope" : string ,
"country" : string
}
] ,
"certification_additional_site" : [
{
"street" : string ,
"city" : string ,
"state" : string ,
"post_code" : string ,
"full_address" : string ,
"scope" : string ,
"country" : string
}
] ,
"certification_sectors" : [
{
"sector_name" : string ,
"sector_code" : string
}
] ,
"updated_at" : integer
}
]
}
}
400: Bad Request - Validation Errors
Copy {
"type" : "string" ,
"title" : "Validation errors." ,
"status" : 400 ,
"detail" : "The request body has validation errors." ,
"instance" : "/verify-company" ,
"code" : "validation" ,
"errors" : [
{
"field" : "field_name" ,
"detail" : "error_message"
}
]
}
401: Unauthorized Access
Copy {
"type" : "string" ,
"title" : "Unauthorized access." ,
"status" : 401 ,
"detail" : "Authentication failed due to invalid credentials or missing token." ,
"instance" : "/verify-company" ,
"code" : "unauthorized"
}
403: Forbidden Access
Copy {
"type" : "string" ,
"title" : "Forbidden access." ,
"status" : 403 ,
"detail" : "You do not have access to this resource." ,
"instance" : "/verify-company" ,
"code" : "forbidden"
}
404: Not Found
Copy {
"type" : "string" ,
"title" : "Resource not found." ,
"status" : 404 ,
"detail" : "Company not found in IAFCertSearch." ,
"instance" : "/verify-company" ,
"code" : "not_found"
}
To view the response data example, click the right arrow at the right side of the response description.
cURL
Copy curl --location --globoff '{API_URL}/verify-company' \
--header 'x-http-authorization: <API_KEY>' \
--header 'Content-Type: application/json' \
--data '{
"company_name": "string",
"company_country": "string",
"company_identifiers": {
"vat": "string",
"tax_id": "string",
"business_registration_number": "string",
"duns_number": "string",
"company_id_number": "string"
},
"match_rate": 90
}'
Ruby
Copy require "uri"
require "json"
require "net/http"
url = URI ( "{API_URL}/verify-company" )
http = Net :: HTTP . new (url . host , url . port ) ;
request = Net :: HTTP :: Post . new (url)
request[ "x-http-authorization" ] = "<API_KEY>"
request[ "Content-Type" ] = "application/json"
request . body = JSON . dump ({
"company_name" : "string" ,
"company_country" : "string" ,
"company_identifiers" : {
"vat" : "string" ,
"tax_id" : "string" ,
"business_registration_number" : "string" ,
"duns_number" : "string" ,
"company_id_number" : "string"
} ,
"match_rate" : 90
})
response = http . request (request)
puts response . read_body
Python
Copy import http . client
import json
conn = http . client . HTTPSConnection ( " {API_URL} " )
payload = json . dumps ({
"company_name" : "string" ,
"company_country" : "string" ,
"company_identifiers" : {
"vat" : "string" ,
"tax_id" : "string" ,
"business_registration_number" : "string" ,
"duns_number" : "string" ,
"company_id_number" : "string"
},
"match_rate" : 90
})
headers = {
'x-http-authorization' : '<API_KEY>' ,
'Content-Type' : 'application/json'
}
conn . request ( "POST" , "/verify-company" , payload, headers)
res = conn . getresponse ()
data = res . read ()
print (data. decode ( "utf-8" ))
PHP
Copy <? php
$curl = curl_init () ;
curl_setopt_array ( $curl , array(
CURLOPT_URL => '{API_URL}/verify-company' ,
CURLOPT_RETURNTRANSFER => true ,
CURLOPT_ENCODING => '' ,
CURLOPT_MAXREDIRS => 10 ,
CURLOPT_TIMEOUT => 0 ,
CURLOPT_FOLLOWLOCATION => true ,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1 ,
CURLOPT_CUSTOMREQUEST => 'POST' ,
CURLOPT_POSTFIELDS => '{
"company_name": "string",
"company_country": "string",
"company_identifiers": {
"vat": "string",
"tax_id": "string",
"business_registration_number": "string",
"duns_number": "string",
"company_id_number": "string"
},
"match_rate": 90
}' ,
CURLOPT_HTTPHEADER => array(
'x-http-authorization: <API_KEY>' ,
'Content-Type: application/json'
) ,
) ) ;
$response = curl_exec ( $curl ) ;
curl_close ( $curl ) ;
echo $response;
Java
Copy OkHttpClient client = new OkHttpClient() . newBuilder ()
. build ();
MediaType mediaType = MediaType . parse ( "application/json" );
RequestBody body = RequestBody . create (mediaType , "{\n \"company_name\": \"string\",\n \"company_country\": \"string\",\n \"company_identifiers\": {\n \"vat\": \"string\",\n \"tax_id\": \"string\",\n \"business_registration_number\": \"string\",\n \"duns_number\": \"string\",\n \"company_id_number\": \"string\"\n },\n \"match_rate\": 90\n}" );
Request request = new Request . Builder ()
. url ( "{API_URL}/verify-company" )
. method ( "POST" , body)
. addHeader ( "x-http-authorization" , "<API_KEY>" )
. addHeader ( "Content-Type" , "application/json" )
. build ();
Response response = client . newCall (request) . execute ();
Node.js
Copy const axios = require ( 'axios' );
let data = JSON .stringify ({
"company_name" : "string" ,
"company_country" : "string" ,
"company_identifiers" : {
"vat" : "string" ,
"tax_id" : "string" ,
"business_registration_number" : "string" ,
"duns_number" : "string" ,
"company_id_number" : "string"
} ,
"match_rate" : 90
});
let config = {
method : 'post' ,
maxBodyLength : Infinity ,
url : '{API_URL}/verify-company' ,
headers : {
'x-http-authorization' : '<API_KEY>' ,
'Content-Type' : 'application/json'
} ,
data : data
};
axios .request (config)
.then ((response) => {
console .log ( JSON .stringify ( response .data));
})
.catch ((error) => {
console .log (error);
});
Go
Copy package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main () {
url := "{API_URL}/verify-company"
method := "POST"
payload := strings. NewReader ( `{
"company_name": "string",
"company_country": "string",
"company_identifiers": {
"vat": "string",
"tax_id": "string",
"business_registration_number": "string",
"duns_number": "string",
"company_id_number": "string"
},
"match_rate": 90
}` )
client := & http.Client {
}
req, err := http. NewRequest (method, url, payload)
if err != nil {
fmt. Println (err)
return
}
req.Header. Add ( "x-http-authorization" , "<API_KEY>" )
req.Header. Add ( "Content-Type" , "application/json" )
res, err := client. Do (req)
if err != nil {
fmt. Println (err)
return
}
defer res.Body. Close ()
body, err := io. ReadAll (res.Body)
if err != nil {
fmt. Println (err)
return
}
fmt. Println ( string (body))
}
C#
Copy var options = new RestClientOptions ( "{API_URL}/verify-company" )
{
MaxTimeout = - 1 ,
};
var client = new RestClient (options);
var request = new RestRequest ( "" , Method . Post );
request .AddHeader( "x-http-authorization" , "<API_KEY>" );
request .AddHeader( "Content-Type" , "application/json" );
var body = @"{" + "\n" +
@" ""company_name"": ""string""," + "\n" +
@" ""company_country"": ""string""," + "\n" +
@" ""company_identifiers"": {" + "\n" +
@" ""vat"": ""string""," + "\n" +
@" ""tax_id"": ""string""," + "\n" +
@" ""business_registration_number"": ""string""," + "\n" +
@" ""duns_number"": ""string""," + "\n" +
@" ""company_id_number"": ""string""" + "\n" +
@" }," + "\n" +
@" ""match_rate"": 90" + "\n" +
@"}" ;
request .AddStringBody(body , DataFormat . Json );
RestResponse response = await client .ExecuteAsync(request);
Console .WriteLine( response . Content );