Developer Guide Updated June 2026 ~1,000 words · 6 min read

GST API for Developers — What It Is, How It Works, and Which One to Use

Most GST APIs in India return one number. One flat rate. No conditions, no CGST/SGST split, no notification reference. You paste that number into your checkout flow, your CA finds it wrong six months later, and your company gets a compliance notice. Here's everything you actually need to know before picking a GST API.

What a GST API actually does

A GST API is a REST endpoint. You send it an HSN code or a product description. It returns the applicable tax rate — and if it's well-built, it returns three rates: CGST, SGST, and IGST.

That distinction matters immediately. Whether you apply CGST + SGST or IGST depends entirely on whether the supply is intrastate or interstate. A seller in Maharashtra billing a buyer in Maharashtra pays CGST 9% + SGST 9%. That same seller billing a buyer in Delhi pays IGST 18%. The total is identical. The tax authority receiving the money is not. Getting this wrong means your GSTR-1 misfires and your buyer loses ITC.

The rule: Intrastate supply → CGST + SGST (equal halves of total rate). Interstate supply → IGST (full rate). A GST API that doesn't accept a supply_type parameter is incomplete.

The three types of GST API — and which one you need

Developers conflate three different tools. They are not the same.

API typeWhat it doesWho needs it
HSN/SAC rate API Returns CGST, SGST, IGST for a product code or description E-commerce, billing software, ERP, AI agents building invoices
GSTIN verification API Validates a business's GST number, returns legal name + status Fintech onboarding, KYC, B2B invoice validation
GST filing API Submits GSTR-1, GSTR-3B, pulls GSTR-2B reconciliation CA firms, accounting platforms — requires GSP/ASP licence

If you're building a checkout, an invoice generator, or an AI agent that handles product listings — you need the HSN/SAC rate API. You do not need filing capabilities. Most developers overbuy and pay for complexity they don't use.

The problem with flat-rate GST APIs

India's GST structure is conditional. The same HSN code can return different rates depending on:

A flat-rate API returns 5% for unbranded rice. That's correct. It also returns 5% for branded pre-packaged rice — also correct. But it cannot tell you which condition applies to your specific transaction. You guess. Your CA corrects you. You pay the penalty.

A condition-aware API accepts parameters like branded: true, supply_type: "intrastate", sale_value_inr: 9500, and resolves the rate correctly. That is the difference between a lookup table and a compliance engine.

How to integrate a GST HSN API — in 3 minutes

cURL

# Lookup GST rate for an AC unit — intrastate supply
curl -X POST https://gst-hsn-api.vercel.app/v1/lookup \
  -H "X-API-Key: your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "description": "split AC unit",
    "supply_type": "intrastate",
    "branded": true
  }'

Response

{
  "hsn_code": "84151010",
  "description": "Air conditioning machines, split system",
  "tax_rates": {
    "igst": 18.0,
    "cgst": 9.0,
    "sgst": 9.0,
    "cess": 0.0
  },
  "applicable_rate": "CGST 9% + SGST 9% = 18%",
  "notification_ref": "09/2025-CT(Rate), Schedule II",
  "effective_date": "2025-09-22"
}

Python

# pip install gstaccelerator
from gstaccelerator import GSTAccelerator

gst = GSTAccelerator("your_api_key")

# Intrastate supply — returns CGST + SGST
rate = gst.lookup("gold jewellery", supply_type="intrastate")
invoice_value = 50000
cgst = invoice_value * rate[0]["tax_rates"]["cgst"] / 100  # ₹750
sgst = invoice_value * rate[0]["tax_rates"]["sgst"] / 100  # ₹750
GST 2.0 update (Sept 2025): India simplified its rate structure to primarily 5% and 18%, eliminating 12% and 28% for most goods. If your API or hardcoded rate table predates September 2025, your rates are wrong. The new structure is governed by CBIC Notification 09/2025-CT(Rate).

Free vs paid GST APIs — what the tiers actually mean

FeatureFree tierPaid (Developer)Paid (Pro)
HSN + SAC lookup
CGST/SGST/IGST split
Condition resolver
Notification reference in response
MCP / AI agent endpoint
Bulk CSV classification
Rate-change webhook
Monthly call limit1005,00050,000
Price₹0₹399/mo₹1,499/mo

Use the free tier to build and test your integration. You'll hit the 100-call limit in development within a week if you're actually building something. That's the forcing function — it tells you you're integrating correctly, and it's time to upgrade.

What to look for when choosing a GST API

Five questions. If a provider can't answer all five clearly on their website, move on.

1. What notifications does the data come from? The answer must be specific — "09/2025-CT(Rate)" or similar. "Government sources" is not an answer.

2. When was the data last updated? The GST Council meets every few months. Rates change. If the provider can't show you a last-updated timestamp in the API response itself, your data may be stale.

3. Does the API resolve conditions? Ask them to look up unbranded flour vs branded flour. The rates should differ. If they return the same number, it's a lookup table, not a compliance tool.

4. What happens on rate-change day? The GST Council announces changes. Your invoices go live the next day. Does the provider push updates the same day? Do they offer webhooks?

5. Is there a notification reference in each response? If your CA challenges a rate, you need to be able to say exactly which CBIC notification authorised it. Without the notification reference, you have a number with no legal backing.

The audit trail matters: "notification_ref": "09/2025-CT(Rate), Schedule II" in your API response is not a nice-to-have. It's the difference between "we applied the correct rate" and "we can prove we applied the correct rate."

Who actually needs a GST API

Four categories of builders where a GST API pays for itself immediately:

E-commerce checkout flows. Every product on your platform has an HSN code. Every invoice needs the correct CGST/SGST split. Hardcoding rates means touching code after every GST Council meeting.

Billing and invoicing SaaS. Your customers are CAs and business owners. One wrong rate on one invoice creates a compliance liability for your customer. A GST API with notification references converts that liability from yours to provably-correct.

ERP and Tally integrators. Product masters have 10,000+ SKUs. Classifying each one manually takes weeks. A bulk classification endpoint with natural language input turns that into an overnight job.

AI agents and LLM workflows. Any agent that writes invoices, generates purchase orders, or classifies products needs a reliable GST tool call. The MCP endpoint makes this native — the agent calls it the same way it calls any other tool, with no custom integration required.

Frequently asked questions

What is a GST API?
A GST API is a REST endpoint that returns the correct GST rate — CGST, SGST, and IGST — for a given HSN or SAC code. It lets software systems look up tax rates programmatically, removing the need to hardcode rates or parse government PDFs manually.
What is the difference between a GST HSN API and a GSTIN verification API?
An HSN API returns the tax rate for a product classification code. A GSTIN verification API validates a business's GST registration number and returns their legal name and filing status. They solve different problems — rate lookup vs identity verification.
Is there a free GST API for developers in India?
Yes. GST Accelerator offers 100 free API calls per month with no credit card required. The free tier includes HSN lookup, SAC lookup, and CGST/SGST/IGST rate data. Get a key at gst-hsn-api.vercel.app/dashboard.
How do I get the CGST and SGST split from a GST rate API?
Pass supply_type: "intrastate" in your POST request body. The API returns CGST and SGST as separate fields — both equal to half the total GST rate. For interstate supply, pass supply_type: "interstate" and receive IGST instead.
How often do GST rates change?
The GST Council meets approximately every 2–3 months. Rate changes are announced via CBIC notifications and are effective from the date specified — often 1–7 days after announcement. Your GST API should reflect rate changes within 24 hours of the notification going live.
What is a condition resolver in a GST API?
A condition resolver evaluates inline conditions from GST notifications — like "branded vs unbranded" or "pre-packaged and labelled" — against your transaction parameters. Instead of returning a flat rate, it applies the notification conditions to return the rate that specifically applies to your supply. This is the difference between a lookup table and a compliance engine.

Start with 100 free calls — no card needed

Get your API key in 30 seconds. HSN lookup, SAC codes, CGST/SGST/IGST split, notification references — all in the free tier.

Get free API key →

Developer plan ₹399/month · 5,000 calls · Condition resolver · MCP endpoint