Directorship (DIN) Lookup
Business & KYBResolve a person's directorships and DIN status from the corporate registry.
Start from a PAN or DIN and discover the person's Director Identification Number status and every company they are on the board of. The fastest way to surface conflicts of interest, disqualified directors and undisclosed emver ties.
Endpoint
Request parameters
| Field | Type | Description |
|---|---|---|
p_a_n_number
required
|
string | PAN number |
full_name
optional
|
string | Full name |
date_of_birth
optional
|
string | Date of birth |
d_i_n
optional
|
string | DIN |
Example request
curl -X POST https://app.emver.io/api/sandbox/v1/mca-directorship-lookup \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"p_a_n_number": "string",
"full_name": "string",
"date_of_birth": "string",
"d_i_n": "string"
}'
import requests
response = requests.post(
"https://app.emver.io/api/sandbox/v1/mca-directorship-lookup",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Accept": "application/json",
},
json={
"p_a_n_number": "string",
"full_name": "string",
"date_of_birth": "string",
"d_i_n": "string"
},
timeout=60,
)
response.raise_for_status()
data = response.json()
const response = await fetch("https://app.emver.io/api/sandbox/v1/mca-directorship-lookup", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
"Accept": "application/json",
},
body: JSON.stringify({
"p_a_n_number": "string",
"full_name": "string",
"date_of_birth": "string",
"d_i_n": "string"
}),
});
const data = await response.json();
$response = Http::withToken('YOUR_API_KEY')
->acceptJson()
->post('https://app.emver.io/api/sandbox/v1/mca-directorship-lookup', {
"p_a_n_number": "string",
"full_name": "string",
"date_of_birth": "string",
"d_i_n": "string"
});
$data = $response->json();
Replace YOUR_API_KEY and the placeholder values. Use the switch above to see production URLs.
Response
Structure · 200
{
"status": INTEGER,
"message": STRING,
"data": {
"d_i_n_status": STRING,
"registered_name": STRING,
"list_of_companies_with_directorship_role": STRING
}
}
Example · 200
{
"status": 200,
"message": "string",
"data": {
"d_i_n_status": "string",
"registered_name": "string",
"list_of_companies_with_directorship_role": "string"
}
}
Error · 4xx / 5xx
{
"status": INTEGER,
"message": STRING
}
See Errors & status codes for what each status means and which calls are billed.
About this API
Directors carry legal responsibility for the companies they serve, and their history follows them. The Directorship Lookup API maps a person to their DIN and lists current and past directorships, so you can see whether a vendor's promoter also sits on a competitor's board, whether a hire has undisclosed businesses, or whether a DIN has been deactivated or disqualified.
It is central to ultimate beneficial owner (UBO) work, senior-hire due diligence and any PMLA-driven KYC where the people behind an entity matter as much as the entity itself.
Typical uses
- Senior and executive hiring. Detect moonlighting, conflicts of interest and undisclosed businesses.
- Vendor and partner KYB. Verify promoters and directors behind a counterparty.
- Corporate lending KYC. Identify directors and beneficial owners for regulatory files.
- Investigations and audits. Trace related-party relationships through shared directorships.
Questions
- Do I need the DIN to run this?
- No. A PAN is enough to resolve the DIN. If you already hold the DIN, sending it makes the lookup exact.
- Does it show past directorships?
- Yes. The response lists companies with the person's role, including ceased positions where the registry records them.
- How does this fit an employee background check?
- emver's workflows can run it automatically for designated roles, and the result appears in the case report next to emver and identity checks.