TAN Verification
Business & KYBValidate a Tax Deduction Account Number and resolve the deductor.
Confirm a TAN is genuine and see the company or entity it belongs to. Essential wherever tax deduction at source is part of the relationship: payroll vendors, contractors, landlords and financial counterparties.
Endpoint
Request parameters
| Field | Type | Description |
|---|---|---|
t_a_n
required
|
string | TAN |
Example request
curl -X POST https://app.emver.io/api/sandbox/v1/tan-verification \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"t_a_n": "string"
}'
import requests
response = requests.post(
"https://app.emver.io/api/sandbox/v1/tan-verification",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Accept": "application/json",
},
json={
"t_a_n": "string"
},
timeout=60,
)
response.raise_for_status()
data = response.json()
const response = await fetch("https://app.emver.io/api/sandbox/v1/tan-verification", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
"Accept": "application/json",
},
body: JSON.stringify({
"t_a_n": "string"
}),
});
const data = await response.json();
$response = Http::withToken('YOUR_API_KEY')
->acceptJson()
->post('https://app.emver.io/api/sandbox/v1/tan-verification', {
"t_a_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": {
"t_a_n_status": STRING,
"registered_company__deductor_name": STRING
}
}
Example · 200
{
"status": 200,
"message": "string",
"data": {
"t_a_n_status": "string",
"registered_company__deductor_name": "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
TAN identifies the entity responsible for deducting and depositing tax at source. When a counterparty quotes a TAN on a certificate or contract, the TAN Verification API confirms it exists and returns the registered name, so you can be sure the deductor is who they say they are.
It is a small check that prevents a large class of errors in Form 16, Form 16A and TDS reconciliation, and it rounds out entity verification alongside PAN and GSTIN.
Typical uses
- Contractor and vendor onboarding. Verify the TAN of entities that will deduct tax on your invoices.
- Lease and rental agreements. Confirm the tenant entity's TAN for rent TDS.
- Employer verification. Corroborate a previous employer's existence via the TAN on a Form 16.
- Financial counterparties. Validate deductor details in lending and treasury operations.
Questions
- Can this verify a previous employer from a Form 16?
- Yes. The TAN printed on a Form 16 resolves to the deductor's registered name, which is a useful corroboration during emver verification.
- Is TAN the same as PAN?
- No. PAN identifies a taxpayer; TAN identifies an entity that deducts tax at source. Many businesses hold both, and emver lets you verify each with its own API.