PAN Verification API
Confirm a PAN exists, see who holds it and match the name and date of birth your customer typed, in one call.
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 PAN Verification API does
The PAN Verification API takes a 10-character PAN and answers with the details held on record for it: whether it is a valid PAN, the type of holder (an individual, a company, a firm, a trust and so on), the name on record, gender and date of birth where the record has them, a masked email and mobile, and whether the PAN is linked to an Aadhaar number.
Send the name and date of birth your customer entered and the API compares them for you. The name match tells you whether the names are the same, likely the same person written differently (initials, order or an extra word) or a different name, with a score from 0 to 100, so your system can approve, ask a question or route the case to a reviewer without string-matching code of your own.
Most lending, insurance, payments, payroll and marketplace sign-ups in India start with a PAN. Checking it at the moment it is typed stops typing errors, borrowed PANs and mismatched names before they reach your ledger, your tax filings or a credit decision.
How it works
- 1
Your server sends POST /universal/pan-verification with the PAN, the consent object (that you hold the person’s consent, and why you run the check) and, if you have them, the name and date of birth to compare.
- 2
The request is checked first: a malformed PAN or a missing field is refused with a list of every problem, before anything runs or is charged.
- 3
The PAN is checked against live records and the answer comes back in the same call, usually within about 3 seconds, in VerifyAll’s standard JSON envelope.
- 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 same PDF report as a dashboard check.
Request and response
PAN 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/pan-verification | Verify a PAN and compare a name and date of birth |
Request fields
| Field | What it is |
|---|---|
| panRequired | The PAN to verify, 10 characters (for example ABCDE1234F). |
| consentRequired | obtained: true and a purpose of up to 200 characters, for the person the PAN belongs to. |
| nameOptional | The name your customer gave; sets name_match. |
| dobOptional | Date of birth, YYYY-MM-DD; sets dob_match. |
| client_refOptional | Your own reference, stored with the result (up to 100 characters). |
What the answer returns
| Field | What it is |
|---|---|
| pan_valid | True when the PAN exists; a PAN that does not exist answers record_not_found. |
| holder_type | individual, company, huf, firm, trust, government and the other PAN holder types. |
| name | The name on record. |
| name_match | exact, partial, mismatch or not_checked, with a score from 0 to 100. |
| dob / dob_match | Date of birth on record, and whether the one you sent matches. |
| gender | Where the record holds it. |
| aadhaar_linked | Whether the PAN is linked to an Aadhaar number (PAN–Aadhaar link status). |
| email_masked / mobile_masked | The email and mobile on record, partly hidden. |
| address | The address on record, where the record has one. |
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
PAN Verification API features and capabilities
Name and date-of-birth match built in
Send what your customer typed and get exact, partial or mismatch with a 0–100 score, instead of writing fuzzy matching yourself.
Holder type from the PAN itself
Know at once whether a PAN belongs to an individual, a company, a firm, an HUF or a trust, so a business PAN is never accepted on a personal form.
PAN–Aadhaar link status
See whether the PAN is linked to an Aadhaar number, which matters for tax deduction rates and for KYC policies that require a linked PAN.
Placeholder PANs refused on live
The docs’ sample PAN answers on the Sandbox key and is refused on the Production key before any charge, so test data never becomes a real check.
Use cases
Where businesses use the PAN Verification API
Loan and credit-card onboarding
Confirm the applicant’s PAN and name before you pull a credit report or open an account.
Payroll and contractor set-up
Check an employee’s or contractor’s PAN before the first salary or payment, so tax is deducted at the right rate.
Seller and partner onboarding
Verify the PAN a marketplace seller, agent or distributor gives, and check that a business PAN is not entered as a personal one.
Insurance and investment KYC
Match the policyholder’s or investor’s name and date of birth to their PAN at proposal or account opening.
Industries
Coverage
Every PAN issued in India: individuals, companies, firms, HUFs, trusts and the other holder types. The API takes Indian PANs only.
Limitations to plan for
- The details returned are those on record for the PAN. Fields the record does not hold come back as null, never guessed.
- A PAN that does not exist answers record_not_found. The lookup ran, so it is charged like any completed check.
- Checks about a person need the consent object, and you keep the consent record.
Integration
How to integrate the PAN 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 PAN 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 PAN 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
PAN Verification API: frequently asked questions
Answers for teams planning an integration.
Still have questions? Our team is happy to help.
Contact SupportRelated APIs
Bulk Verification API
LiveBulk batchSend a whole list of PANs or GSTINs in one request and read back each row’s result, in the same shape as the single check.
View API detailsPAN to CIN API
LiveInstant answerTurn a company’s or LLP’s PAN into its CIN, and get the company’s details in the same answer.
View API detailsPAN to Udyam API
LiveInstant answerSend a PAN and find out whether the business is MSME-registered, with its Udyam number, class and certificate.
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 details
All identity verification APIsRun PAN verification in the dashboard, without codeBrowse the API Marketplace
Start with the PAN Verification API
Request access, build against the Sandbox, then go live with your Production key.
