---
type: "product"
title: "GST Verification API India | Real-Time GSTIN Validation"
description: "Integrate GST Verification API to validate GSTIN details instantly for vendor onboarding, compliance, and fraud prevention."
category: "verification"
canonical: "https://eps.eko.in/products/gst-verification-api"
---


> **Canonical URL:** https://eps.eko.in/products/gst-verification-api
> This is a machine-readable Markdown version of the page for AI agents and LLMs. The primary (HTML) version lives at the canonical URL above.

# GST Verification API for GSTIN Validation & Business Onboarding

Verify GSTIN status, legal name, trade name, taxpayer type, registration details, and principal address in real time for vendor onboarding, merchant verification, KYB, and compliance workflows.

_Validate GSTIN details instantly_

To get started, fill the form at https://eps.eko.in/signup (with your name, mobile number and email) or call us at +919513181707

## Overview

The GST Verification API enables businesses to validate GSTIN details instantly. It is designed for compliance-driven onboarding, vendor verification, and business identity checks where accuracy and traceability are critical.

## Features

- Real-Time GSTIN Validation: Verify GST registration details instantly with structured responses.
- Business Identity Confirmation: Validate legal business information before onboarding or payments.
- Automation Ready: Easily integrate into KYB and compliance pipelines.
- High-Volume Support: Built to handle large verification volumes reliably.

## Who Should Use This

- Marketplaces and B2B platforms
- Fintechs onboarding merchants or vendors
- Enterprises with supplier verification needs
- Compliance-driven organizations

## Use Cases

- Vendor and supplier onboarding
- Merchant verification for platforms
- Compliance and due diligence checks
- B2B onboarding workflows

## What Can You Verify With GST Verification API?

- **GSTIN** — The GSTIN that was verified, echoed back from the government source.
- **Is GSTIN Valid?** — True if the GSTIN was found and is a valid registered number; false otherwise.
- **GSTIN Status** — Current registration status of the GSTIN (e.g. Active, Cancelled, Suspended).
- **Legal Name Of Business** — Official legal name of the business as registered with GST authorities.
- **Taxpayer Type** — Classification of the taxpayer (e.g. Regular, Composition, Non-resident, Casual Taxable Person).
- **Constitution Of Business** — Legal structure / constitution of the business (e.g. Private Limited Company, Proprietorship, Partnership).
- **Date Of Registration** — Date on which the GSTIN was registered (DD/MM/YYYY format).
- **Last Update Date** — Date of the most recent update to the GST registration record (DD/MM/YYYY format).
- **Cancellation Date** — Date of cancellation of the GST registration, if applicable. Empty string or null for active registrations.
- **Nature Of Business Activities** — Comma-separated list of business activity categories as declared during GST registration (e.g. Wholesale, Supplier of Services, Recipient of Goods or Services).
- **State Jurisdiction** — State GST authority / jurisdiction under which the GSTIN is registered.
- **Principal Place Address** — Principal place of business address as a single formatted string.
- **Principal Place Split Address** — Principal place of business address broken into structured components.
- **PAN Number** — The PAN submitted in the request, echoed back for reference.
- **List of GSTINs** — List of all GSTIN registrations linked to the given PAN. Each element represents one GST registration across a state.
- **GSTIN Status** — Current registration status of this GSTIN (e.g. Active, Inactive, Cancelled).
- **State of Registration** — Indian state or union territory where this GSTIN is registered.

## API Preview — GST Verification

`POST /tools/kyc/gstin`

### Example inputs

| Field | Value |
| --- | --- |
| Gstin | 29AAICP2912R1ZR |
| Business Name | Acme Pvt Ltd |

### Example outputs

| Field | Value |
| --- | --- |
| GSTIN | 29ABCDE1234F1Z5 |
| Is GSTIN Valid? | true |
| GSTIN Status | Active |
| Legal Name Of Business | Acme Private Limited |
| Taxpayer Type | Regular |
| Constitution Of Business | Private Limited Company |
| Date Of Registration | 01/07/2017 |
| Last Update Date | 01/02/2022 |
| Cancellation Date |  |
| Nature Of Business Activities | Wholesale, Supplier of Services, Recipient of Goods or Services |
| State Jurisdiction | Karnataka |
| Principal Place Address | 123, MG Road, Bangalore, Karnataka 560001 |

## API Preview — Fetch GSTINs by PAN

`POST /tools/kyc/gstin-with-pan`

### Example inputs

| Field | Value |
| --- | --- |
| Pan Number | DUMPY1001A |

### Example outputs

| Field | Value |
| --- | --- |
| PAN Number | ABCDE1234F |
| GSTIN | 29ABCDE1234F1Z5 |
| GSTIN Status | Active |
| State of Registration | Maharashtra |

## Integration Steps

1. **[Sign Up](/console)** — Sign up in minutes with your mobile number (OTP verify).
2. **Verify Identity** — Complete your basic KYC with PAN and address details to verify your identity.
3. **Test APIs Live** — Load funds into your wallet and test the verification APIs live — evaluate before you integrate.
4. **[Integrate with AI](/ai)** — Ready to build? Visit our AI hub for free plugins & tools to integrate faster.
5. **Go Live** — Start verifying GSTIN details in production.

## FAQs

### What details are returned in GST verification?
The API returns GSTIN status, legal business name, trade name, constitution of business, taxpayer type, nature of business activities, registration date, last update date, state jurisdiction, and principal place of address.

### Is the data real-time?
Yes, GSTIN details are verified in real time against official records.

### How do I get started?
Four steps: **sign up** at the [developer console page](/console), verify your identity with PAN and address details, load your wallet to test the APIs live, then integrate and go live. Sandbox credentials are issued immediately — you can call your first endpoint before any paperwork clears.

### What is EPS?
**EPS (Eko Platform Services)** is the technology arm of Eko — the developer tools, AI tooling and APIs that power modern fintech integration, from money transfer and AePS to identity verification.

### What are the different ways to integrate with Eko EPS?
Three paths, pick whichever suits your stack:

- Call the **REST APIs** directly.
- Use our official **Node.js, Python, PHP, Go or Java SDKs** to skip request-signing boilerplate.
- Let an **AI coding agent** build it via our [MCP server and agent skills](/ai#install).

For multi-step flows (onboard a sender, *then* transfer) start from a [transaction-flow recipe](/recipe) rather than wiring single endpoints together yourself.

### How does API authentication work?
Each request carries your static `developer_key` header plus a per-request `secret-key` header — an **HMAC-SHA256** signature of the current timestamp, keyed by your access key. The access key itself is **never sent over the wire**. You receive UAT keys on signup and production keys after KYC.

The [How Authentication Works](/docs/how-auth-works) guide has the full signing recipe in five languages plus an **in-browser playground** that generates and verifies a real `secret-key` against your own access key.

### Why does my API call return 401 Unauthorized?
Authentication failed. For the known causes, the response body's `status` names the check that failed:

- `2483` — The developer_key is wrong.
- `2484` — The secret-key (signature) is wrong.
- `2485` — The secret-key-timestamp is more than 2 minutes older or newer than the server clock, or was reused from an earlier request.
- `2486` — The secret-key-timestamp is not in milliseconds (13 digits) — often seconds (10 digits).
- `2487` — The secret-key or secret-key-timestamp header is missing.

If your signature checks out in the [secret-key playground](/docs/how-auth-works#try-it-secret-key-playground) and you still get a `401`, make sure the base URL matches your keys (UAT vs production) and, in production, that your server's IP is whitelisted.

### Is there a sandbox environment for testing?
Yes. A full **sandbox** is available immediately on signup — test your integration end-to-end before going live, no commitment required. For offline work you can also run our [mock server](/ai#artifacts) (`npx -y @ekoindia/eps-mock-server`) and get canned responses with no network calls at all.

### What are the sandbox and production base URLs?
Sandbox and production share the same paths and differ **only** by base URL:

- UAT / Sandbox — `https://staging.eko.in/ekoapi/v3`
- Production — `https://api.eko.in/ekoicici/v3`

A common cause of failures is calling the sandbox URL with live credentials, or vice-versa — **make sure the base URL matches the keys you are using**.

### Do I need to whitelist my server IP?
It's optional. **IP whitelisting** is available for **production** access as an extra layer of security — share your **static public (server) IP** with us and we'll whitelist it.

### Can an AI coding agent build the integration for me?
Yes — that is the fastest path. Point your agent (Claude Code, Codex, Cursor, Copilot, …) at our **MCP server** and it can look up any endpoint, generate correctly-signed requests, and scaffold the integration in your own stack. Install it in [one step from the AI hub](/ai#install), or start from a [ready-made prompt](/ai#quick-start).

We also publish an **OpenAPI 3.1 spec**, a **Postman collection** and per-agent **context packs** (`AGENTS.md`, `CLAUDE.md`, `.cursorrules`) so an agent has the ground truth instead of guessing.

### What response times can I expect?
Most verification APIs return in **real time with sub-second responses**, and 99th-percentile latency stays under two seconds across verification endpoints. Transaction APIs (DMT, AePS, BBPS) respond within seconds.

### Can the API handle high volumes?
Yes. The API is designed to handle **large-scale volumes** reliably without performance degradation.

### How is API usage billed?
Usage is billed **per successful API call** with no minimum commitment. Volume-based pricing tiers are available — see the [pricing calculator](/pricing) for indicative rates, or contact our team for a custom quote.

## API Endpoints

- [GST Verification](https://eps.eko.in/docs/verify-gstin.md) (POST)
- [Fetch GSTINs by PAN](https://eps.eko.in/docs/gstin-with-pan.md) (POST)

## API Documentation

- [Full developer docs](https://eps.eko.in/docs/verify-gstin)

## Related Products

- [Mobile/OTP Verification](https://eps.eko.in/products/mobile-otp-verification-api): Send, verify & validate mobile OTPs with a signed proof token ([markdown](https://eps.eko.in/products/mobile-otp-verification-api.md))
- [PAN Verification](https://eps.eko.in/products/pan-verification-api): Full PAN identity fetch in <2 seconds ([markdown](https://eps.eko.in/products/pan-verification-api.md))
- [Bank Account Verification](https://eps.eko.in/products/bank-verification-api): Penny-drop bank account validation ([markdown](https://eps.eko.in/products/bank-verification-api.md))
- [DigiLocker Integration](https://eps.eko.in/products/digilocker-api): Fetch notarised docs — Aadhaar, DL, marksheets, etc ([markdown](https://eps.eko.in/products/digilocker-api.md))
- [UPI ID (VPA) Verification](https://eps.eko.in/products/upi-verification-api): Validate UPI ID (VPA) in real time ([markdown](https://eps.eko.in/products/upi-verification-api.md))

- [Site index](https://eps.eko.in/index.md): Full list of API products, industries, and solution packs
