PAN Verification (v2)
curl --request POST \
--url https://bgv.konnectnxt.com/api/v2/verification/pan \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"pan_number": "AABCI6363G",
"full_name": "RAJESH KUMAR SHARMA",
"dob": "1995-05-15"
}
'import requests
url = "https://bgv.konnectnxt.com/api/v2/verification/pan"
payload = {
"pan_number": "AABCI6363G",
"full_name": "RAJESH KUMAR SHARMA",
"dob": "1995-05-15"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({pan_number: 'AABCI6363G', full_name: 'RAJESH KUMAR SHARMA', dob: '1995-05-15'})
};
fetch('https://bgv.konnectnxt.com/api/v2/verification/pan', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://bgv.konnectnxt.com/api/v2/verification/pan",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'pan_number' => 'AABCI6363G',
'full_name' => 'RAJESH KUMAR SHARMA',
'dob' => '1995-05-15'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://bgv.konnectnxt.com/api/v2/verification/pan"
payload := strings.NewReader("{\n \"pan_number\": \"AABCI6363G\",\n \"full_name\": \"RAJESH KUMAR SHARMA\",\n \"dob\": \"1995-05-15\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://bgv.konnectnxt.com/api/v2/verification/pan")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"pan_number\": \"AABCI6363G\",\n \"full_name\": \"RAJESH KUMAR SHARMA\",\n \"dob\": \"1995-05-15\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://bgv.konnectnxt.com/api/v2/verification/pan")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"pan_number\": \"AABCI6363G\",\n \"full_name\": \"RAJESH KUMAR SHARMA\",\n \"dob\": \"1995-05-15\"\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"code": 200,
"message": "Operation completed successfully",
"data": {
"status": "SUCCESS",
"message": "Existing and Valid. PAN is Operative",
"panStatus": "VALID",
"panType": "Individual",
"typeOfHolder": "Resident Individual",
"firstName": "RAJESH",
"middleName": "KUMAR",
"lastName": "SHARMA",
"name": "RAJESH KUMAR SHARMA",
"gender": "Male",
"mobile": "98XXXX5678",
"email": "rajesh.sharma@example.com",
"dateOfBirth": "1990-05-15",
"line1": "Flat 101, Sunrise Apartments",
"line2": "Sector 15",
"streetName": "Main Road",
"pincode": "400001",
"city": "Mumbai",
"state": "Maharashtra",
"country": "India",
"full": "Flat 101, Sunrise Apartments, Sector 15, Main Road, Mumbai, Maharashtra - 400001",
"aadhaarSeedingStatus": "Successful",
"maskedAadhaar": "XXXX-XXXX-7890"
},
"credits_used": 10,
"credits_remaining": 984138.5
}PAN
PAN Verification v2
Verify PAN details with comprehensive information including address and Aadhaar seeding status
POST
/
v2
/
verification
/
pan
PAN Verification (v2)
curl --request POST \
--url https://bgv.konnectnxt.com/api/v2/verification/pan \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"pan_number": "AABCI6363G",
"full_name": "RAJESH KUMAR SHARMA",
"dob": "1995-05-15"
}
'import requests
url = "https://bgv.konnectnxt.com/api/v2/verification/pan"
payload = {
"pan_number": "AABCI6363G",
"full_name": "RAJESH KUMAR SHARMA",
"dob": "1995-05-15"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({pan_number: 'AABCI6363G', full_name: 'RAJESH KUMAR SHARMA', dob: '1995-05-15'})
};
fetch('https://bgv.konnectnxt.com/api/v2/verification/pan', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://bgv.konnectnxt.com/api/v2/verification/pan",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'pan_number' => 'AABCI6363G',
'full_name' => 'RAJESH KUMAR SHARMA',
'dob' => '1995-05-15'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://bgv.konnectnxt.com/api/v2/verification/pan"
payload := strings.NewReader("{\n \"pan_number\": \"AABCI6363G\",\n \"full_name\": \"RAJESH KUMAR SHARMA\",\n \"dob\": \"1995-05-15\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://bgv.konnectnxt.com/api/v2/verification/pan")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"pan_number\": \"AABCI6363G\",\n \"full_name\": \"RAJESH KUMAR SHARMA\",\n \"dob\": \"1995-05-15\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://bgv.konnectnxt.com/api/v2/verification/pan")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"pan_number\": \"AABCI6363G\",\n \"full_name\": \"RAJESH KUMAR SHARMA\",\n \"dob\": \"1995-05-15\"\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"code": 200,
"message": "Operation completed successfully",
"data": {
"status": "SUCCESS",
"message": "Existing and Valid. PAN is Operative",
"panStatus": "VALID",
"panType": "Individual",
"typeOfHolder": "Resident Individual",
"firstName": "RAJESH",
"middleName": "KUMAR",
"lastName": "SHARMA",
"name": "RAJESH KUMAR SHARMA",
"gender": "Male",
"mobile": "98XXXX5678",
"email": "rajesh.sharma@example.com",
"dateOfBirth": "1990-05-15",
"line1": "Flat 101, Sunrise Apartments",
"line2": "Sector 15",
"streetName": "Main Road",
"pincode": "400001",
"city": "Mumbai",
"state": "Maharashtra",
"country": "India",
"full": "Flat 101, Sunrise Apartments, Sector 15, Main Road, Mumbai, Maharashtra - 400001",
"aadhaarSeedingStatus": "Successful",
"maskedAadhaar": "XXXX-XXXX-7890"
},
"credits_used": 10,
"credits_remaining": 984138.5
}Overview
The PAN Verification v2 API validates PAN details using PAN number, full name, and date of birth. It returns comprehensive information including personal details, registered address, and Aadhaar seeding status.Key Features
- Complete Verification: Validates PAN number, name, and date of birth
- Comprehensive Details: Returns full name, address, contact information
- Aadhaar Seeding Status: Check if PAN is linked with Aadhaar
- Real-time Validation: Instant verification in under 2 seconds
- Masked Data: Secure display of sensitive information
What’s New in v2
- Enhanced Data: More comprehensive personal and address details
- Better Validation: Full name and DOB matching for accuracy
- Structured Address: Separate fields for line1, line2, street, city, state
- Aadhaar Integration: Masked Aadhaar and seeding status
- Consistent Format: Unified response structure across all v2 APIs
Data Availability: PAN status and cardholder name are always returned.
Additional details such as address, contact information, and Aadhaar seeding
status are provided when available in the records.
Authorizations
API key issued by KonnectNXT. Pass as Authorization: Bearer <your_api_key>.
Body
application/json
Permanent Account Number (10 characters: 5 letters + 4 digits + 1 letter)
Required string length:
10Pattern:
^[A-Z]{5}[0-9]{4}[A-Z]$Example:
"AABCI6363G"
Full name as per PAN records (must match exactly)
Minimum string length:
1Example:
"RAJESH KUMAR SHARMA"
Date of birth as per PAN records (YYYY-MM-DD format)
Example:
"1990-05-15"
Response
PAN verification successful
Overall status of the API
Available options:
success, error HTTP status code
Example:
400
Description of the response or error
Example:
"Invalid request parameters"
Show child attributes
Show child attributes
Represents the total number of credits used in this request.
Example:
3
Represents the remaining credits available for use.
Example:
4040
Was this page helpful?

