TAN Verification API
Confirm a TAN and the deductor it belongs to, or go one step further and get the company behind it.
The documentation opens in the VerifyAll dashboard after sign-in, for accounts with approved API access. New to the API? Start with the developer guide.
Overview
What the TAN Verification API does
A TAN (Tax Deduction and Collection Account Number) is the 10-character number a business quotes when it deducts or collects tax at source. The TAN Verification API takes a TAN and confirms the name of the deductor it is allotted to, so you know the TAN on a TDS certificate, a contract or a vendor form belongs to the business that gave it.
A second endpoint, TAN to company details, does the same check and then finds the company behind the deductor name. It returns the TAN and holder name, a company_found flag and, when a company is found, its full company details: CIN, status, class, capital, incorporation date and registered address, in the same fields as the CIN Verification API. It is charged once, as a TAN verification.
Payroll and finance teams use TAN checks to confirm the employer or payer on a Form 16 or 16A, lenders use them to cross-check salaried applicants’ employers, and procurement teams use them to complete a supplier’s tax profile alongside its PAN and GSTIN.
How it works
- 1
Your server sends POST /universal/tan-verification, or POST /universal/tan-company-details for the company as well, with the tan and, if you like, a client_ref. No consent object is needed.
- 2
The request is checked first: a TAN that does not match the 10-character format is refused with 400 invalid_request, before anything runs or is charged.
- 3
The TAN is checked against live records and the answer comes back in the same call, usually within about 3 seconds. With tan-company-details, when no company is found, the answer is still a 200 with company_found false.
- 4
The result is stored in your VerifyAll account with a checkResultId, so you can read it again, find it by your client_ref and download the TAN verification PDF report.
Request and response
TAN verification API endpoints and fields
The main fields; the full reference with every field, error code and a cURL sample is in the dashboard docs.
| Endpoint | What it does |
|---|---|
| POST/universal/tan-verification | Verify a TAN and return the deductor’s name |
| POST/universal/tan-company-details | Verify a TAN and return the company it belongs to |
Request fields
| Field | What it is |
|---|---|
| tanRequired | The TAN to verify, 10 characters (for example ABCD12345E). |
| client_refOptional | Your own reference, stored with the result (up to 100 characters). |
What the answer returns
| Field | What it is |
|---|---|
| tan | The TAN that was checked. |
| holder_name | The name of the deductor the TAN is allotted to. |
| company_found | TAN to company details only: false when the deductor name did not lead to a registered company. |
| company | TAN to company details only: the company’s details (cin, name, status, is_active, class, capital, incorporated_on, registered_address and the rest), or null when no company was found. |
Base URL https://api.verifyall.ai. Authenticate with the X-API-Key header (a va_sandbox_ or va_live_ key). Every answer carries data, status_code, success, message and message_code; checks add outcome, checkResultId, charged and charged_amount.
Key features
TAN Verification API features and capabilities
Deductor name in seconds
Confirm who a TAN belongs to before you rely on a TDS certificate or record the TAN against a vendor.
TAN to company in one call
tan-company-details adds the company’s CIN and details to the TAN result, charged once.
A clear answer when no company exists
Deductors that are not companies, such as firms or proprietors, return company_found false with the TAN result intact, not an error.
Same company fields everywhere
The company object matches the CIN Verification API, so your code reads it the same way.
Use cases
Where businesses use the TAN Verification API
TDS certificate checks
Confirm that the TAN on a Form 16 or 16A belongs to the employer or payer named on it.
Employer verification for lending
Cross-check a salaried applicant’s employer from the TAN on their salary documents.
Supplier tax profiles
Record a verified TAN next to the supplier’s PAN and GSTIN in your vendor master.
Finding the company behind a payer
Turn a TAN on a remittance into the payer’s CIN and company status.
Industries
Coverage
TANs allotted in India to any deductor: companies, firms, proprietors, government offices and others. TAN to company details finds a company only where the deductor is a registered company.
Limitations to plan for
- TAN verification returns the deductor’s name only; use tan-company-details for company details.
- The company is found from the deductor name, so a deductor that is not a company, or whose name does not lead to one, answers company_found false.
- A TAN with no record answers record_not_found. The lookup ran, so it is charged.
Integration
How to integrate the TAN Verification API
From a business account to your first live call.
Step 1
Create a business account on VerifyAll and get it approved, as for running checks in the dashboard.
Step 2
Request Developer API access under Developers in the dashboard: the APIs you need, your expected monthly volume and your use case. The VerifyAll team reviews it and shares the API Services Agreement.
Step 3
Once the agreement is signed and access is approved, create your Sandbox key and build against sample data. Sandbox calls are never charged.
Step 4
Create your Production key, recharge your wallet and switch the key in your code: the endpoint and fields stay the same.
Get started
Request access to the TAN Verification API
Tell us what you want to verify. We reply within one business day with access steps, Sandbox details and your API pricing.
View API documentation
The full reference for TAN Verification API (endpoints, fields, errors, cURL) opens in the dashboard once your access is approved.
Open the docs (sign-in)Create a business account
API keys are issued to an approved business account. Sign up, then request access under Developers.
Create account
Pricing
Production calls are charged per check from your prepaid VerifyAll wallet, at your account’s API price; GST is added separately when you recharge. Sandbox calls are never charged. Your API prices are shown in the dashboard once access is approved. How pricing works
Already have a business account? Sign in to request access
TAN Verification API: frequently asked questions
Answers for teams planning an integration.
Still have questions? Our team is happy to help.
Contact SupportRelated APIs
CIN Verification API
LiveInstant answerSend a Corporate Identification Number and get the company’s name, status, capital, address and compliance dates back in one call.
View API detailsGST Verification API
LiveInstant answerSend a GSTIN and get the business behind it: names, status, place of business and the returns it has filed, in one call.
View API detailsPAN Verification API
LiveInstant answerConfirm a PAN exists, see who holds it and match the name and date of birth your customer typed, in one call.
View API detailsTIN Verification API
LiveInstant answerCheck an 11-digit state VAT or CST TIN and get the dealer registrations under it, for older paperwork and due diligence.
View API details
All business verification (KYB) APIsRun TAN verification in the dashboard, without codeBrowse the API Marketplace
Start with the TAN Verification API
Request access, build against the Sandbox, then go live with your Production key.
