Home / Guides / Identity Verification
Identity Verification

How to Verify a PAN Card Online in India

A practical, developer-focused guide to real-time PAN verification — what it checks, how to call the API, and how to match the holder name during KYC.

BILAPI25 Oct 20266 min read

Verifying a PAN (Permanent Account Number) is one of the first steps in almost every Indian KYC, lending and vendor-onboarding flow. Doing it manually — asking customers to upload a PAN image and eyeballing it — is slow, error-prone and easy to fake. An API lets you confirm a PAN is genuine and belongs to the right person in under a second, directly inside your signup flow.

This guide walks through how online PAN verification works, what the API returns, and how to use name matching to tie a PAN to a real customer.

What does PAN verification actually check?

A PAN verification API confirms three things: that the PAN format is valid, that the number is registered and active with the income-tax department, and that the registered holder name matches what your customer told you. It also returns the PAN category — individual, company, HUF, firm, trust and so on.

  • Validity — is this a real, active PAN?
  • Holder name — the full name registered against the PAN.
  • Name match — does it match the name your customer entered?
  • Category — individual, company, HUF, firm, trust, etc.

Step 1 — Get an API key

Create a free BILAPI account and generate a live API key. The same key works across every verification endpoint and in the free sandbox, so you can test before sending real traffic.

Step 2 — Send the PAN to the API

Make a POST request with the PAN (and optionally the name you want to match) and your API key in the header:

POST https://api.bilapi.com/v1/pan-verification-api
X-Bilapi-Api-Key: <your_api_key>
Content-Type: application/json

{
  "pan": "ABCDE1234F",
  "name": "Rahul Sharma"
}

Step 3 — Read the JSON response

You get a clean, predictable JSON envelope back in milliseconds:

{
  "status_code": 200,
  "success": true,
  "data": {
    "pan": "ABCDE1234F",
    "registered_name": "RAHUL SHARMA",
    "name_match": true,
    "category": "Individual",
    "status": "VALID"
  }
}

How name matching works

Pass the name your customer entered and the response includes a name_match flag. This is what actually ties the PAN to the person in front of you — a valid PAN alone does not prove ownership. Use the match result to auto-approve clean cases and route mismatches to manual review.

What does PAN verification cost?

With BILAPI you pay per successful verification from a prepaid wallet — there is no monthly commitment, and invalid inputs or failed lookups are never charged. A free sandbox is included so you can integrate and test at no cost.

Ready to integrate? The PAN Verification API returns holder name, status and category as JSON, with a free sandbox to test first.

Best practices

  • Always send a name to match — a valid PAN without a name match is not proof of identity.
  • Store the verification result and timestamp for your KYC audit trail.
  • Handle the name_match=false case explicitly instead of silently approving.
  • Test every edge case in the sandbox before going live.

Frequently asked questions

Can I verify a PAN card online for free?

You can test PAN verification for free in the BILAPI sandbox. In production you pay a small fee per successful verification, and invalid or failed lookups are not charged.

What do I need to verify a PAN?

Just the 10-character PAN. To confirm ownership, also pass the customer's name so the API can return a name-match result.

Is online PAN verification instant?

Yes — most PAN verifications complete in well under 300ms at the median, fast enough to run inline during signup.

Related APIs

Build with BILAPI

One key, a free sandbox and a predictable JSON envelope across every endpoint.

Get your API key