GSTIN Verification API

A GSTIN Verification API is used to validate GST numbers and retrieve registered business details such as business name, GST status, taxpayer type, and address. It helps businesses verify GST compliance and reduce errors during invoicing, onboarding, and financial transactions.

API Details

Request URL

POST
https://g99.in/api/public/gstin/search
Copied!

Request Body Parameters

Type Name Optional Description
String gstin Required The Goods and Services Tax Identification Number assigned to a registered business under GST.
String fyear Required The financial year associated with the GST filing, return, or verification data.

Sample Request Payload

request.json
Copied!
{
  "gstin": "27ABCDE1234F2Z5",
  "fyear": "2025-2026"
}

Request Header Parameters

Type Name Value / Description Optional
String Content-Type application/json Required

Sample Code

request.php
Copied!
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://g99.in/api/public/gstin/search',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
  "gstin": "27ABCDE1234F2Z5",
  "fyear": "2025-2026"
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
request.py
Copied!
import requests
import json

url = "https://g99.in/api/public/gstin/search"

payload = json.dumps({
  "gstin": "27ABCDE1234F2Z5",
  "fyear": "2025-2026"
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

request.cs
Copied!
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://g99.in/api/public/gstin/search");
var content = new StringContent("{\r\n  \"gstin\": \"27ABCDE1234F2Z5\",\r\n  \"fyear\": \"2025-2026\"\r\n}", null, "application/json");
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());

Response

HTTP status code 200

Key Type Description
valid Boolean Indicates whether the GSTIN is valid and successfully verified.
active Boolean Shows whether the GST registration is currently active.
legalName String Registered legal name of the business or entity under GST.
tradeName String Business or trade name used commercially by the GST holder.
pan String Permanent Account Number (PAN) linked with the GSTIN.
constitution String Type of business constitution such as Proprietorship, Partnership, LLP, or Company.
nature Array Nature of business activities registered under GST.
type String Type or category of GST taxpayer registration.
registered String Date on which the GST registration was issued.
updated String Last updated date of the GST registration details.
expiry String Expiry or cancellation effective date of the GST registration, if applicable.
state String State in which the GST registration is registered.
stateCode String Official GST state code associated with the registration state.
center String Central GST jurisdiction name assigned to the taxpayer.
centerCode String Code of the assigned central GST jurisdiction.
jurisdictionCenter Array Central authority jurisdiction responsible for the GST registration.
jurisdictionState Array State authority jurisdiction responsible for the GST registration.
address String Registered business address associated with the GSTIN.
filings Array GST return filing status and filing-related information.
einvoiceEnabled Boolean Indicates whether e-Invoice generation is enabled for the GSTIN.

Sample Response

Sample response for valid document

response.json
Copied!
{
  "valid": true,
  "active": true,
  "legalName": "SOFTNET PRIVATE LIMITED",
  "tradeName": "SOFTNET PRIVATE LIMITED",
  "pan": "AAGCG9742E",
  "constitution": "Private Limited Company",
  "nature": [
    "Retail Business",
    "Supplier of Services",
    "Wholesale Business"
  ],
  "type": "Regular",
  "registered": "28/09/2017",
  "updated": null,
  "expiry": null,
  "jurisdictionCenter": {
    "commissionerate": "DELHI-NORTH",
    "division": "Delhi",
    "range": "RANGE III",
    "state": "CBIC",
    "zone": "DELHI"
  },
  "jurisdictionState": {
    "circle": "Delhi",
    "division": "DELHI CENTRAL",
    "range": null,
    "state": "Delhi",
    "sector": null,
    "zone": "Central-III"
  },
  "address": "113, 1st cross street , Delhi 600034",
  "filings": [
    {
      "mode": "ONLINE",
      "filed": "15/04/2026",
      "type": "GSTR1",
      "period": "032026",
      "ack": null,
      "status": "Filed"
    }
  ],
  "einvoiceEnabled": false
}

Error Response

Parameter Type Description
status Number Unique error codes for different errors. Always available.
message String Error message describing the error. Always Available.
error Boolean True / False for different errors. Always available.

Error Codes

HTTP Status Error Code Error Message
400 4001 Malformed data or missing required parameter values.
400 4002 Invalid GSTIN Number.
503 5001 Request could not be processed. Please try again later.

Sample Error Response

response.json
Copied!
{
  "message": "Malformed data or missing required parameter values.",
  "status": 4001,
  "error": True
}