---
type: "product"
title: "PAN Verification API India | Instant PAN Validation for KYC & Onboarding"
description: "Choose from PAN Lite, PAN Advanced, and Bulk PAN Verification APIs to validate PAN details in real time for customer KYC, lending, merchant onboarding, and compliance workflows for Fintechs and NBFCs."
category: "verification"
canonical: "https://eps.eko.in/products/pan-verification-api"
---


> **Canonical URL:** https://eps.eko.in/products/pan-verification-api
> This is a machine-readable Markdown version of the page for AI agents and LLMs. The primary (HTML) version lives at the canonical URL above.

# PAN Verification API for KYC & Onboarding in India

Choose from PAN Lite, PAN Advanced, and Bulk PAN Verification APIs to validate PAN details in real time for customer KYC, lending, merchant onboarding, and compliance workflows.

_Verify PAN details in real time_

To get started, fill the form at https://eps.eko.in/signup (with your name, mobile number and email) or call us at +919513181707

## Overview

The PAN Verification API enables businesses to validate Permanent Account Number (PAN) details instantly. It is designed for compliance-driven onboarding, fraud prevention, and identity verification use cases across financial and enterprise platforms.

## Features

- Real-Time PAN Validation: Verify PAN details instantly with structured responses.
- High Accuracy Responses: Returns validated PAN information for reliable identity checks.
- Automation Friendly: Easily integrate into digital onboarding and KYC pipelines.
- Scalable Verification: Designed to support large volumes without performance impact.

## Who Should Use This

- Fintech and financial institutions
- Marketplaces and platforms
- NBFCs and lenders
- Enterprises with KYC requirements

## Use Cases

- Customer KYC verification
- Merchant and vendor onboarding
- Account opening workflows
- Compliance and due diligence checks

## What Can You Verify With PAN Verification API?

- **PAN Number** — The PAN number submitted in the request.
- **Full Name** — Full name registered against the PAN.
- **Category** — PAN holder category, e.g. 'person', 'company', 'firm', 'trust', 'huf'.
- **Lookup Status** — Outcome of the PAN lookup, e.g. 'success'.
- **Name Matched?** — Whether the submitted name matches the PAN record. Values: 'Y' (match), 'N' (no match), or null (unavailable).
- **DOB Matched?** — Whether the submitted date of birth matches the PAN record. Values: 'Y' (match), 'N' (no match), or null (unavailable).
- **PAN Activation Status** — Granular PAN activation status code. E: Valid, EC: Valid (Acquisition), N: Non-existent, X: Deactivated, F: Fake, D: Deleted, EA: Valid (Amalgamation), ED: Valid (Death), EI: Valid (Dissolution), EL: Valid (Liquidated), EM: Valid (Merger), EP: Valid (Partition), ES: Valid (Split), EU: Valid (Under Liquidation)
- **Aadhaar Seeding Status** — Aadhaar-PAN seeding/linking status. Values: 'Y' (seeded), 'R' (registered but not confirmed), 'NA' (not seeded), or null.
- **Registered Name** — Authoritative name registered in the PAN database.
- **Name on PAN Card** — Name printed on the physical PAN card.
- **Type** — PAN holder category (e.g., 'Individual', 'Company', 'Firm', 'Trust', 'HUF').
- **Gender** — Gender from PAN record. Values: 'M' (Male), 'F' (Female).
- **Date Of Birth** — Date of birth from the PAN record (YYYY-MM-DD).
- **Masked Aadhaar Number** — Aadhaar number with first 8 digits masked for privacy (e.g., 'XXXX XXXX 1234').
- **Aadhaar Linked?** — Whether the PAN is linked to an Aadhaar number.
- **Address** — Structured address fields of the PAN holder.
- **Full Address** — Complete address string.
- **Count** — Number of entries in the results array.
- **Entries** — Per-PAN verification results for the batch.
- **Pan** — 10-character PAN identifier.

## API Preview — Fetch PAN Details

`POST /tools/kyc/fetch-pan`

### Example inputs

| Field | Value |
| --- | --- |
| PAN Number | GGTPB7880Q |
| Source | API |

### Example outputs

| Field | Value |
| --- | --- |
| PAN Number | GGTPB7880Q |
| Full Name | YASHWANT BASNETT |
| Category | person |
| Lookup Status | success |

## API Preview — PAN Lite

`POST /tools/kyc/pan-lite`

### Example inputs

| Field | Value |
| --- | --- |
| PAN Number | ABCDE1234F |
| Name | Rajesh Kumar |
| Date of Birth | 1994-08-29 |

### Example outputs

| Field | Value |
| --- | --- |
| Name Matched? | Y |
| DOB Matched? | Y |
| PAN Activation Status | E |
| PAN Validity Status | VALID |
| Aadhaar Seeding Status | Y |

## API Preview — PAN Advanced

`POST /tools/kyc/pan-advanced`

### Example inputs

| Field | Value |
| --- | --- |
| PAN Number | ABCPV1234D |
| Name | Rajesh Kumar |

### Example outputs

| Field | Value |
| --- | --- |
| Registered Name | Rajesh Kumar |
| Name on PAN Card | Rajesh Kumar |
| Type | Individual |
| Gender | M |
| Date Of Birth | 1994-08-29 |
| Masked Aadhaar Number | XXXX XXXX 1234 |
| Aadhaar Linked? | true |
| Full Address | Woodland Heights, Ghatkopar, Mumbai, Maharashtra 400072 |

## API Preview — Bulk PAN Verification

`POST /tools/kyc/pan/bulk`

### Example inputs

| Field | Value |
| --- | --- |
| Entries | [{"pan":"ABCPV1234D","name":"John","source":"API"},{"pan":"ABCPV1234L","name":"John Doe","source":"API"}] |

### Example outputs

| Field | Value |
| --- | --- |
| Reference Id | 123456 |

## API Preview — Check Bulk PAN Verification Status

`GET /tools/kyc/pan/bulk/status`

### Example inputs

| Field | Value |
| --- | --- |
| Bulk Verification Id |  |
| Bulk Reference Id | BULK-PAN-20240101-001 |

### Example outputs

| Field | Value |
| --- | --- |
| Count | 2 |
| Pan | ABCPV1234D |

## Integration Steps

1. **[Sign Up](/console)** — Sign up in minutes with your mobile number (OTP verify).
2. **Verify Identity** — Complete your basic KYC with PAN and address details to verify your identity.
3. **Test APIs Live** — Load funds into your wallet and test the verification APIs live — evaluate before you integrate.
4. **[Integrate with AI](/ai)** — Ready to build? Visit our AI hub for free plugins & tools to integrate faster.
5. **Go Live** — Start validating PAN details in production.
   > Tip: Sandbox available for testing

## FAQs

### How fast is PAN verification?
PAN verification is real-time with sub-second response times for instant identity validation.

### What details are returned?
PAN Lite returns PAN status, name match, DOB match, and Aadhaar seeding status. PAN Advanced returns holder name, PAN type, gender, date of birth, masked Aadhaar number, Aadhaar linking status, mobile number, email, and address.

### How do I get started?
Four steps: **sign up** at the [developer console page](/console), verify your identity with PAN and address details, load your wallet to test the APIs live, then integrate and go live. Sandbox credentials are issued immediately — you can call your first endpoint before any paperwork clears.

### What is EPS?
**EPS (Eko Platform Services)** is the technology arm of Eko — the developer tools, AI tooling and APIs that power modern fintech integration, from money transfer and AePS to identity verification.

### What are the different ways to integrate with Eko EPS?
Three paths, pick whichever suits your stack:

- Call the **REST APIs** directly.
- Use our official **Node.js, Python, PHP, Go or Java SDKs** to skip request-signing boilerplate.
- Let an **AI coding agent** build it via our [MCP server and agent skills](/ai#install).

For multi-step flows (onboard a sender, *then* transfer) start from a [transaction-flow recipe](/recipe) rather than wiring single endpoints together yourself.

### How does API authentication work?
Each request carries your static `developer_key` header plus a per-request `secret-key` header — an **HMAC-SHA256** signature of the current timestamp, keyed by your access key. The access key itself is **never sent over the wire**. You receive UAT keys on signup and production keys after KYC.

The [How Authentication Works](/docs/how-auth-works) guide has the full signing recipe in five languages plus an **in-browser playground** that generates and verifies a real `secret-key` against your own access key.

### Why does my API call return 401 Unauthorized?
Authentication failed. For the known causes, the response body's `status` names the check that failed:

- `2483` — The developer_key is wrong.
- `2484` — The secret-key (signature) is wrong.
- `2485` — The secret-key-timestamp is more than 2 minutes older or newer than the server clock, or was reused from an earlier request.
- `2486` — The secret-key-timestamp is not in milliseconds (13 digits) — often seconds (10 digits).
- `2487` — The secret-key or secret-key-timestamp header is missing.

If your signature checks out in the [secret-key playground](/docs/how-auth-works#try-it-secret-key-playground) and you still get a `401`, make sure the base URL matches your keys (UAT vs production) and, in production, that your server's IP is whitelisted.

### Is there a sandbox environment for testing?
Yes. A full **sandbox** is available immediately on signup — test your integration end-to-end before going live, no commitment required. For offline work you can also run our [mock server](/ai#artifacts) (`npx -y @ekoindia/eps-mock-server`) and get canned responses with no network calls at all.

### What are the sandbox and production base URLs?
Sandbox and production share the same paths and differ **only** by base URL:

- UAT / Sandbox — `https://staging.eko.in/ekoapi/v3`
- Production — `https://api.eko.in/ekoicici/v3`

A common cause of failures is calling the sandbox URL with live credentials, or vice-versa — **make sure the base URL matches the keys you are using**.

### Do I need to whitelist my server IP?
It's optional. **IP whitelisting** is available for **production** access as an extra layer of security — share your **static public (server) IP** with us and we'll whitelist it.

### Can an AI coding agent build the integration for me?
Yes — that is the fastest path. Point your agent (Claude Code, Codex, Cursor, Copilot, …) at our **MCP server** and it can look up any endpoint, generate correctly-signed requests, and scaffold the integration in your own stack. Install it in [one step from the AI hub](/ai#install), or start from a [ready-made prompt](/ai#quick-start).

We also publish an **OpenAPI 3.1 spec**, a **Postman collection** and per-agent **context packs** (`AGENTS.md`, `CLAUDE.md`, `.cursorrules`) so an agent has the ground truth instead of guessing.

### What response times can I expect?
Most verification APIs return in **real time with sub-second responses**, and 99th-percentile latency stays under two seconds across verification endpoints. Transaction APIs (DMT, AePS, BBPS) respond within seconds.

### Can the API handle high volumes?
Yes. The API is designed to handle **large-scale volumes** reliably without performance degradation.

### How is API usage billed?
Usage is billed **per successful API call** with no minimum commitment. Volume-based pricing tiers are available — see the [pricing calculator](/pricing) for indicative rates, or contact our team for a custom quote.

## API Endpoints

- [Fetch PAN Details](https://eps.eko.in/docs/pan-fetch.md) (POST)
- [PAN Lite](https://eps.eko.in/docs/pan-lite.md) (POST)
- [PAN Advanced](https://eps.eko.in/docs/pan-advanced.md) (POST)
- [Bulk PAN Verification](https://eps.eko.in/docs/pan-bulk-verify.md) (POST)

## API Documentation

- [Full developer docs](https://eps.eko.in/docs/pan-fetch)

## Related Products

- [Mobile/OTP Verification](https://eps.eko.in/products/mobile-otp-verification-api): Send, verify & validate mobile OTPs with a signed proof token ([markdown](https://eps.eko.in/products/mobile-otp-verification-api.md))
- [Bank Account Verification](https://eps.eko.in/products/bank-verification-api): Penny-drop bank account validation ([markdown](https://eps.eko.in/products/bank-verification-api.md))
- [GST Verification](https://eps.eko.in/products/gst-verification-api): GSTIN lookup & filing status ([markdown](https://eps.eko.in/products/gst-verification-api.md))
- [DigiLocker Integration](https://eps.eko.in/products/digilocker-api): Fetch notarised docs — Aadhaar, DL, marksheets, etc ([markdown](https://eps.eko.in/products/digilocker-api.md))
- [UPI ID (VPA) Verification](https://eps.eko.in/products/upi-verification-api): Validate UPI ID (VPA) in real time ([markdown](https://eps.eko.in/products/upi-verification-api.md))

- [Site index](https://eps.eko.in/index.md): Full list of API products, industries, and solution packs
