GST Verification API
Send a GSTIN and get the business behind it: names, status, place of business and the returns it has filed, in one call.
The documentation opens in the VerifyAll dashboard after sign-in, for accounts with approved API access. New to the API? Start with the developer guide.
Overview
What the GST Verification API does
The GST Verification API takes a 15-character GSTIN and answers with the registration details held on record: the legal name and trade name, whether the registration is active, cancelled or suspended, the constitution of the business, the taxpayer type, the dates of registration and cancellation, the principal place of business with its nature, the tax jurisdiction, and the list of returns filed with their periods and filing dates.
The filing history is what sets a GST check apart from a format check. A GSTIN can be well-formed and still belong to a business that stopped filing a year ago. With total_returns, latest_filed_on and the returns array in the same answer, your system can flag a supplier that has gone quiet, or hold an input-tax-credit claim until the supplier’s returns are in, without a second lookup.
Procurement, accounts payable, lending and marketplace teams call it when a vendor, merchant or borrower is onboarded, before a large invoice is paid, and on a schedule to catch registrations that have been cancelled since. For a whole vendor master at once, the same check runs in batches through the Bulk Verification API.
How it works
- 1
Your server sends POST /universal with the gstin in the body and, if you like, a client_ref. A check about a business takes no consent object.
- 2
The request is checked first: a GSTIN that does not match the 15-character format is refused with 400 invalid_request and a list of the problems, before anything runs or is charged.
- 3
The GSTIN is checked against live records and the answer comes back in the same call, usually within about 5 seconds, in VerifyAll’s standard JSON envelope with an outcome and the charged amount.
- 4
The result is stored in your VerifyAll account with a checkResultId, so you can read it again, find it by your client_ref and download the GST verification PDF report.
Request and response
GST verification API endpoints and fields
The main fields; the full reference with every field, error code and a cURL sample is in the dashboard docs.
| Endpoint | What it does |
|---|---|
| POST/universal | Verify a GSTIN and return its registration details and filing history |
Request fields
| Field | What it is |
|---|---|
| gstinRequired | The GSTIN to verify, 15 characters (for example 27ABCDE1234F1Z5). |
| client_refOptional | Your own reference, stored with the result (up to 100 characters). The X-Client-Ref header does the same. |
What the answer returns
| Field | What it is |
|---|---|
| gstin | The GSTIN that was checked. |
| legal_name / trade_name | The legal name of the business and the name it trades under. |
| status / is_active | Registration status as recorded (Active, Cancelled, Suspended) and a true or false you can branch on. |
| constitution / taxpayer_type | Constitution of the business (Private Limited Company, Partnership and so on) and taxpayer type (Regular, Composition, SEZ unit). |
| registered_on / cancelled_on | Date of registration, and date of cancellation (null when not cancelled), YYYY-MM-DD. |
| is_sez / e_invoice_enabled | Whether the business is an SEZ unit, and whether e-invoicing is enabled for the GSTIN. |
| nature_of_business | The business activities on record, as a list. |
| principal_place | The principal place of business: the address in parts and on one line, and its nature (for example Retail Business, Warehouse / Depot). |
| jurisdiction | Centre jurisdiction, centre code and state jurisdiction code. |
| filings | total_returns, latest_filed_on and returns: each return’s type (GSTR1, GSTR3B, GSTR9 ...), financial year, period, filing date and status, most recent first. |
| last_updated_on | When the registration details were last updated, YYYY-MM-DD. |
Base URL https://api.verifyall.ai. Authenticate with the X-API-Key header (a va_sandbox_ or va_live_ key). Every answer carries data, status_code, success, message and message_code; checks add outcome, checkResultId, charged and charged_amount.
Key features
GST Verification API features and capabilities
Return filing history in the same answer
Every return with its type, period and filing date, plus the date of the latest one, so you can see whether a supplier is still filing without a second call.
A status you can branch on
is_active gives a plain true or false next to the status text, so cancelled and suspended registrations can be stopped by a rule.
Principal place and jurisdiction
The address of the principal place of business in parts and on one line, ready to compare with the address on an invoice or a contract.
Fixed schema, every field always present
Fields the record does not hold come back as null, never missing, so your parser does not need a case for each business.
Use cases
Where businesses use the GST Verification API
Vendor onboarding
Confirm that a new supplier’s GSTIN is active and that the legal name matches the one on the purchase order before you create the vendor.
Input tax credit checks
Check a supplier’s recent filings before you pay a large invoice or claim credit on it.
Merchant and seller KYB
Verify the GSTIN a marketplace seller or payment merchant gives at sign-up, and read the trade name they actually operate under.
Business loan underwriting
Use the registration date, constitution and filing regularity as early signals when a business applies for credit.
Industries
Coverage
GSTINs issued in India: regular, composition, SEZ and other taxpayer types. The API takes Indian GSTINs only.
Limitations to plan for
- The details are those on record at the time of the call. A registration cancelled afterwards shows up only when you check again.
- A GSTIN with no record answers record_not_found. The lookup ran, so it is charged like any completed check.
- The filing history lists returns that have been filed. It does not show tax paid or amounts due.
Integration
How to integrate the GST Verification API
From a business account to your first live call.
Step 1
Create a business account on VerifyAll and get it approved, as for running checks in the dashboard.
Step 2
Request Developer API access under Developers in the dashboard: the APIs you need, your expected monthly volume and your use case. The VerifyAll team reviews it and shares the API Services Agreement.
Step 3
Once the agreement is signed and access is approved, create your Sandbox key and build against sample data. Sandbox calls are never charged.
Step 4
Create your Production key, recharge your wallet and switch the key in your code: the endpoint and fields stay the same.
Get started
Request access to the GST Verification API
Tell us what you want to verify. We reply within one business day with access steps, Sandbox details and your API pricing.
View API documentation
The full reference for GST Verification API (endpoints, fields, errors, cURL) opens in the dashboard once your access is approved.
Open the docs (sign-in)Create a business account
API keys are issued to an approved business account. Sign up, then request access under Developers.
Create account
Pricing
Production calls are charged per check from your prepaid VerifyAll wallet, at your account’s API price; GST is added separately when you recharge. Sandbox calls are never charged. Your API prices are shown in the dashboard once access is approved. How pricing works
Already have a business account? Sign in to request access
GST Verification API: frequently asked questions
Answers for teams planning an integration.
Still have questions? Our team is happy to help.
Contact SupportRelated APIs
PAN to CIN API
LiveInstant answerTurn a company’s or LLP’s PAN into its CIN, and get the company’s details in the same answer.
View API detailsPAN to Udyam API
LiveInstant answerSend a PAN and find out whether the business is MSME-registered, with its Udyam number, class and certificate.
View API detailsBulk Verification API
LiveBulk batchSend a whole list of PANs or GSTINs in one request and read back each row’s result, in the same shape as the single check.
View API detailsBasic Business Verification API
LiveFinishes laterOne request runs the business checks a KYB review needs and returns one report with an overall result.
View API details
All business verification (KYB) APIsRun GST verification in the dashboard, without codeBrowse the API Marketplace
Start with the GST Verification API
Request access, build against the Sandbox, then go live with your Production key.
