PAN to GST Consolidated API

Overview
The GST Consolidated Data API allows your platform to retrieve a merchant's complete GST filing profile using only their PAN (Permanent Account Number). In seconds, you can surface all GSTIN registrations associated with a business entity across every state in India without requiring the merchant to share each GSTIN manually. This is particularly useful during merchant onboarding, credit decisioning, or compliance verification workflows where speed, accuracy, and minimal friction matter.
Business Value

For your business | What it enables |
|---|---|
Faster onboarding | Retrieve all GST registrations linked to a PAN in one call, no manual GSTIN collection from merchants. |
Compliance & KYB | Cross-reference PAN against GST records for Know Your Business (KYB) verification under RBI guidelines. |
Risk & fraud signals | Identify discrepancies between declared business profile and GST filing data. |
Reduced drop-off | One-click merchant onboarding means fewer forms, fewer abandons, and higher conversion. |
State-level granularity | Filter results by state to understand a merchant's geographic business footprint. |

How the API Fits Into Your Workflow
The API follows a simple two-step async pattern designed for reliability at scale:

Step | Action | What happens | Your system does |
|---|---|---|---|
1 | Submit | You send the merchant's PAN and a callback URL. Signzy registers the request and returns a Request ID instantly. | Store the Request ID. Wait for callback or call Step 2. |
2 | Retrieve | You send the Request ID. Signzy fetches consolidated GST data from the upstream registry, delivers it to your callback URL, and returns it in the response. | Parse the GST records and integrate them into your workflow. |
Getting Started
Initiate Request
curl --location 'https://api-preproduction.signzy.app/api/v3/panToGstDetailed/fetchConsolidatedData' \
--header 'Authorization: ****' \
--header 'Content-Type: application/json' \
--data-raw '{
"panNumber": "ABCDZ0000Y",
"callbackUrl": "https://preproduction.signzy.tech"
}'Ouput
{
"result": {
"requestId": "AAANOJOdf4343COISNCO"
}
}
Error Responses
HTTP | Error Code | Message | What to do |
|---|---|---|---|
400 | Validation error | "PAN number is not valid" or "callbackUrl must be a valid URL" | Check PAN format (10-char) and ensure callbackUrl begins with http:// or https://. |
409 | CONFLICT | "Upstreme error" | Unexpected server error. Retry with exponential backoff. If it persists, contact Signzy support. |

Retrieve Results - getGstConsolidatedData
curl --location 'https://api.signzy.app/api/v3/panToGstDetailed/getConsolidatedData' \
--header 'Authorization: ***' \
--header 'Content-Type: application/json' \
--data-raw '{
"requestId": "AAANOJOdf4343COISNCO"
}'Request Parameters
Parameter | Type | Required | Description |
|---|---|---|---|
requestId | string | Yes | The ID returned by fetchGstConsolidatedData. Valid for 10 minutes from issuance. |
Success Response
{
"result": [
{
"gstin": "",
"gstnDetailed": {
"constitutionOfBusiness": "",
"legalNameOfBusiness": "",
"tradeNameOfBusiness": "",
"centreJurisdiction": "",
"stateJurisdiction": "",
"registrationDate": "",
"taxPayerDate": "",
"taxPayerType": "",
"gstinStatus": "",
"cancellationDate": "",
"natureOfBusinessActivities": [],
"principalPlaceLatitude": "",
"principalPlaceLongitude": "",
"principalPlaceStreet": "",
"principalPlaceLocality": "",
"principalPlaceCity": "",
"principalPlaceDistrict": "",
"principalPlaceState": "",
"principalPlacePincode": "",
"additionalPlaceLatitude": "",
"additionalPlaceLongitude": "",
"additionalPlaceStreet": "",
"additionalPlaceLocality": "",
"additionalPlaceCity": "",
"additionalPlaceDistrict": "",
"additionalPlaceState": "",
"additionalPlacePincode": "",
"complianceRating": "",
"additionalTradeName": [],
"directorNames": [],
"principalPlaceAddress": {
"emailId": "",
"address": "",
"natureOfBusiness": "",
"mobile": "",
"lastUpdatedDate": "",
"splitAddress": {
"district": [],
"state": [],
"city": [],
"pincode": "",
"country": [],
"addressLine": ""
}
},
"additionalPlaceAddress": [
{
"emailId": "",
"address": "",
"natureOfBusiness": "",
"mobile": "",
"lastUpdatedDate": "",
"splitAddress": {
"district": [],
"state": [],
"city": [],
"pincode": "",
"country": [],
"addressLine": ""
}
}
]
},
"gstnRecords": [
{
"applicationStatus": "",
"registrationName": "",
"mobNum": "",
"regType": "",
"emailId": "",
"tinNumber": "",
"gstinRefId": "",
"gstin": ""
}
],
"annualAggregateTurnOver": "",
"aggregateTurnOverRange": {
"minimum": 0,
"maximum": 0
},
"grossTotalIncome": "",
"grossTotalIncomeFinancialYear": "",
"filingStatus": [
{
"filingYear": "",
"monthOfFiling": "",
"methodOfFilling": "",
"dateOfFiling": "",
"gstType": "",
"gstStatus": ""
}
],
"returnFilingFrequency": [
{
"financialYear": "",
"returnFilingType": "",
"frequency": "",
"quarter": ""
}
]
}
]
}
Error Responses
HTTP | Error Code |
|---|---|
400 | Validation error |
404 | REQUEST_ID_NOT_FOUND |
404 | ERROR |
409 | CONFLICT |
Error Handling
Scenario | Recommended action |
|---|---|
400 Validation error | Log the error message for debugging. Do not retry fix the request payload first. |
404 Request ID not found | Re-submit Step 1 to get a fresh requestId. Ensure Step 2 is called within 10 minutes of Step 1. |
404 GSTIN not found | The PAN may not have GST registrations |
409 Upstream | Retry Request |

Glossary
Term | Definition |
|---|---|
GSTIN | Goods and Services Tax Identification Number. A unique 15-character identifier assigned to every GST-registered business in India. A single PAN can have multiple GSTINs (one per state of operation). |
PAN | Permanent Account Number. A 10-character alphanumeric identifier issued by the Indian Income Tax Department to individuals and businesses. It serves as a universal business identifier across tax and compliance systems in India. |