PAN Verification API

API v1 Flow v1

INSTANT VERIFICATION OF PERMANENT ACCOUNT NUMBER (PAN) AND VALIDATE TAX PAYER'S NAME, STATUS, AADHAAR LINKING STATUS AND TAX PAYER CATEGORY

API Outcome

  • Name Of Holder PAN card holder's name and can be used to match with the one printed on the card.
  • Category Category of tax payer as registered. Check below for different categories.
  • Status Status to confirm if the provided PAN card exists and is valid.
  • Aadhaar Linking Status (Available from API v2) Whether the provided PAN number is already linked to an Aadhaar number. This applies to Person category PAN cards only.

Get Free Trial

Create a free account Or “Talk to Us” for price information and other queries.

API Details

Request

TypeURLVersion
POSThttps://api.attestr.com/api/{version}/public/checkx/panUse "v2" for the latest version

Request Body Parameters

TypeNameDescriptionOptional (default)Min VersionMax Version
StringpanInput PAN number to be verified.Requiredv1

Request Header Parameters

TypeNameValue / DescriptionOptionalMin VersionMax Version
StringContent-Typeapplication/jsonRequiredv1
StringAuthorizationBasic {authToken}Requiredv1

If you do not have the authentication token, please refer to Register App to generate one.

Sample Request Payload

JSON
Copy

Response

Http Status 200

Please note that the valid key decides the availability of rest of the keys in the response. If the provided PAN number does not exist, all keys except valid and message are omitted. If true, remaining keys will have appropriate data.

KeyDescriptionTypeMin VersionMax Version
validTrue | false depending on if provided PAN number exists and is validBooleanv1
categoryCategory of the tax payer. See the table below for possible values.PANCategoryEnumv1
namename of the permanent account number holderStringv1
messageError message if provided PAN is invalidStringv1
aadhaarLinkedFlag indicating whether PAN is linked to Aadhaar. Possible values are True, False and Null. True if the provided PAN is already linked to Aadhaar. False if not linked, Null if Aadhaar linking is either not applicable, such as for businesses, or if the source was unable to retrieve the Aadhaar linking status.Booleanv1

PAN Category Enum

Enum ValuesDescription
AOPAssociation of persons
BOIBody of individuals
BUSINESSRegistered company
FIRMPartnership firms
GOVERNMENTGovernment entities
HUFHindu Undivided family
LOCALLocal authority
AJPArtificial juridical persons
INDIVIDUALIndividual tax payer
TRUSTRegistered trust boards
LLPLimited liability partnership

Sample Response

Sample response for valid person PAN number

JSON
Copy

Sample response for valid business PAN number

JSON
Copy

Sample response if the provided PAN number is invalid or does not exist

JSON
Copy

Error Response

ParameterTypeDescription
codeNumberUnique error codes for different errors. Always available.
messageStringError message describing the error. Always Available.
detailsStringDetail error message. Available only for certain types of errors.

Error Codes

HTTP StatusError CodeError Message
4004001Malformed data or missing required parameter values
4004005Operation could not be performed due to low credits balance
4014016Invalid client authorization
4034031Unauthorized access
4034035Requested service is not provisioned for your account
4034039Client's IP address is not whitelisted
4034035Requested service is not provisioned for your account
4294291Maximum account rate limit exceeded
4294292Maximum API rate limit exceeded
4294293Maximum account daily limit exceeded
4294294Maximum API daily limit exceeded
5005001Request could not be processed

Sample Error Response

JSON
Copy

Get Free Trial

Create a free account Or “Talk to Us” for price information and other queries.

API Details V1 (Deprecated effective Sep 30, 2023)

Request

TypeURL
POSThttps://api.attestr.com/api/{version}/public/checkx/pan

Request Body Parameters

TypeNameDescriptionOptional (default)Min VersionMax Version
StringpanInput PAN number to be verified.Requiredv1
BooleanextendedBoolean flag to indicate normal vs advanced modeOptionalv1

Request Header Parameters

TypeNameValue / DescriptionOptionalMin VersionMax Version
StringContent-Typeapplication/jsonRequiredv1
StringAuthorizationBasic {authToken}Requiredv1

If you do not have the authentication token, please refer to Register App to generate one.

Sample Request Payload

JSON
Copy

Response

HTTP status code 200

Please note that the valid key decides the availability of rest of the keys in the response. If the provided PAN number does not exist, all keys except valid and message are omitted. If true, remaining keys will have appropriate data.

KeyDescriptionTypeMin VersionMax Version
validTrue | false depending on if provided PAN number exists and is validBooleanv1
categoryCategory of the tax payer. Refer to API v2 definition above for the possible values.PANCategoryEnumv1
namename of the permanent account number holderStringv1
messageError message if provided PAN is invalidStringv1
titleTitle of the user if linked to AadhaarStringv1
firstNameFirst Name of the user if linked to AadhaarStringv1
lastNameLast Name of the user if linked to AadhaarStringv1
updatedLast modified dateStringv1
aadhaarLinkedBoolean flag indicating whether PAN is linked to AadhaarBooleanv1

Sample Response

Sample response for valid permanent account number

JSON
Copy

Sample response for PAN linked to Aadhaar (advanced mode)

JSON
Copy

Sample response for invalid permanent account number

JSON
Copy

Get Free Trial

Create a free account Or “Talk to Us” for price information and other queries.

Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard