Pan Verify
Introduction
The "PAN Verify" API offers a reliable method for verifying the details associated with the Permanent Account Number (PAN) of individuals in India. This latest version delivers thorough validation by checking the PAN number, name, date of birth or incorporation, and the cardholder's name as per official records. It is an invaluable tool for precise PAN verification for customer onboarding.
API details
Endpoint
POST https://api.signzy.app/api/v3/pan/verifyPOST https://api-preproduction.signzy.app/api/v3/pan/verifyRequest body parameters
Parameter | Data Type | Required | Description |
|---|---|---|---|
pan | string | Mandatory | User's PAN number |
name | string | Mandatory | Name is combination of first name, middle name, last name or Name on card. |
dob | string | Mandatory | Date of birth of the individual. Should be in DD/MM/YYYY |
{
"pan": "<PAN number>",
"name": "John Doe",
"dob": "14/02/2012"
}Request headers
Name | Value | Required | Description |
|---|---|---|---|
Content-Type | application/json | Mandatory | The type of content that the request body contains. |
Authorization | XXXXXXXXXXXXXXX | Mandatory | An authentication token to authorize the request. Reach out to the Signzy support team to get one created. |
package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
)
func main() {
url := "https://api-preproduction.signzy.app/api/v3/pan/verify"
authorizationCode := "****"
// Create the request payload
payload := map[string]string{
"pan": "ABCDE1234F",
"name": "MOHIT PATI",
"dob": "01/01/1990",
}
payloadBytes, err := json.Marshal(payload)
if err != nil {
fmt.Println("Error marshalling payload:", err)
return
}
// Create the request
req, err := http.NewRequest("POST", url, bytes.NewBuffer(payloadBytes))
if err != nil {
fmt.Println("Error creating request:", err)
return
}
// Set headers
req.Header.Set("Authorization", authorizationCode)
req.Header.Set("Content-Type", "application/json")
// Make the request
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Println("Error making request:", err)
return
}
defer resp.Body.Close()
// Read the response
var response map[string]interface{}
if err := json.NewDecoder(resp.Body).Decode(&response); err != nil {
fmt.Println("Error decoding response:", err)
return
}
// Print the response
fmt.Println("Response:", response)
}
Response body parameters
Parameter | Data Type | Description |
|---|---|---|
result.pan | String | Permanent Account Number (PAN) |
result.panStatus | String | Status of PAN verification |
result.name | String | Name of the individual |
result.dob | String | Date of Birth of the individual |
result.seedingStatus | String | Status of seeding. |
{
"pan": "<PAN Number>",
"panStatus": "E",
"name": "Y",
"dob": "Y",
"seedingStatus": "Y"
}Status codes
PAN Status codes
Status code | Description |
|---|---|
E | Existing and Valid |
F | Marked as Fake |
X | Marked as Deactivated |
D | Deleted |
N | Record (PAN) Not Found in ITD Database/Invalid PAN |
EA | Existing and Valid but event marked as Amalgamation |
EC | Existing and Valid but event marked as Acquisition |
ED | Existing and Valid but event marked as Death |
EI | Existing and Valid but event marked as Dissolution |
EL | Existing and Valid but event marked as Liquidated |
EM | Existing and Valid but event marked as Merger |
EP | Existing and Valid but event marked as Partition |
ES | Existing and Valid but event marked as Split |
EU | Existing and Valid but event marked as Under Liquidation |


Contact Us for Any Assistance
If you have any questions or need assistance, please reach out to our customer support team. You can contact us via email at [email protected]. We strive to provide prompt and reliable assistance, ensuring your queries are addressed effectively.
We value your feedback and are committed to making your experience smooth and enjoyable. Our team is dedicated to assisting you with any needs you may have. Thank you for choosing our services. We look forward to helping you!