GSTIN Status
Check the registration status, business details, and compliance information of a GSTIN.
Endpoint
GET /vas-api/gstn-status-v1
Authentication
Requires OAuth2 Bearer token. Get your credentials →
Request
Query parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
| gstin | string | Yes | 15-character GSTIN number | 29ABCDE1234F1Z5 |
Example request
bash
curl -X GET "https://api.api4business.com/vas-api/gstn-status-v1?gstin=29ABCDE1234F1Z5" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"python
import requests
response = requests.get(
"https://api.api4business.com/vas-api/gstn-status-v1",
params={"gstin": "29ABCDE1234F1Z5"},
headers={"Authorization": "Bearer YOUR_ACCESS_TOKEN"}
)
print(response.json())javascript
const response = await fetch(
"https://api.api4business.com/vas-api/gstn-status-v1?gstin=29ABCDE1234F1Z5",
{ headers: { "Authorization": "Bearer YOUR_ACCESS_TOKEN" } }
);
console.log(await response.json());java
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.api4business.com/vas-api/gstn-status-v1?gstin=29ABCDE1234F1Z5"))
.header("Authorization", "Bearer YOUR_ACCESS_TOKEN")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Response
Success (200)
| Field | Type | Description |
|---|---|---|
| body.gstin | string | The GSTIN that was checked |
| body.gstinStatus | string | Registration status (Active, Cancelled, Suspended) |
| body.legalBusinessName | string | Legal name of the registered business |
| body.tradeName | string | Trade name of the business |
| body.businessConstitution | string | Type of business (e.g., Proprietorship, Partnership, Private Limited) |
| body.businessNature | string | JSON string listing business activities |
| body.taxType | string | Tax type (Regular, Composition) |
| body.registrationDate | string | Date of GST registration (YYYY-MM-DD) |
| body.pan | string | PAN linked to the GSTIN |
| body.centerJurisdiction | string | Central jurisdiction code |
| body.stateJurisdiction | string | State jurisdiction code |
| body.centerCode | string | Central tax range |
| body.stateCode | string | State jurisdiction name |
| body.lastUpdatedDate | string | Last update from GSTN portal |
| body.irnGenerationEligibility | string | Whether eligible for IRN generation (Yes, No) |
Example response
json
{
"ok": true,
"responseCode": 200,
"message": "Transmission OK",
"body": {
"gstin": "29ABCDE1234F1Z5",
"gstinStatus": "Active",
"legalBusinessName": "SAMPLE TRADING COMPANY",
"tradeName": "SAMPLE ELECTRONICS AND HOME NEEDS",
"businessConstitution": "Proprietorship",
"businessNature": "[\"Office / Sale Office\",\"Retail Business\",\"Wholesale Business\"]",
"taxType": "Regular",
"registrationDate": "2019-08-14",
"pan": "ABCDE1234F",
"centerJurisdiction": "YK0405",
"stateJurisdiction": "AP074",
"centerCode": "RANGE-I",
"stateCode": "KARNATAKA",
"lastUpdatedDate": "2023-04-29",
"irnGenerationEligibility": "No",
"lastSynced": 1724924655077
}
}businessNature is a stringified JSON array
The businessNature field contains a JSON-encoded string array. Parse it to get individual business activities.
Response headers
| Header | Description |
|---|---|
| x-request-id | Unique request identifier — log this for debugging and support |
Error responses
| Status | Error Code | Message | Resolution |
|---|---|---|---|
| 400 | 400 | Invalid GSTIN | Check the 15-character GSTIN format |
| 400 | 400 | Invalid Request | Verify the gstin query parameter is present |
| 401 | 401 | Invalid Credentials | Refresh your access token |
| 429 | 429 | Quota Violation | Rate limit exceeded |
| 500 | 500 | Internal Server Error | Retry after delay |
Related
- GSTIN Rating — Get compliance rating
- PAN to GSTIN — Find all GSTINs linked to a PAN
- GST Overview