Hidden Costs of a Cheap GST API
Eight billing and design choices that turn a low headline rate into a higher bill - and the questions that expose each one.
A low rate is easy to publish and hard to honour. Most of the gap between an advertised GST API price and the invoice a year later comes from eight specific choices, none of which are secret and none of which appear on a pricing page. This is the list, with the question that exposes each one — and then our own answers to all eight, so you can hold us to the same standard.
Eight ways a low rate becomes a high bill
- Unbundled filing history. The registration record is cheap; GSTR filing status is a separate endpoint at a separate price. Two calls per useful answer means the real rate is double the published one.
- Billable failures. Malformed inputs, 429s and upstream 5xx all drawing from your balance. On a messy input file this alone can add a few percent; during a provider incident it is worse.
- Credit expiry. A 30- or 90-day window on a balance you bought in bulk. The advertised rate is only the realised rate if you spend everything in time.
- Monthly minimums and overage. A floor you pay in quiet months, and a marginal rate well above the blended one in busy months. Both sides of the curve cost you.
- Undocumented rate limits. Discovered mid-batch, at which point the fix is a support ticket and a stalled run rather than a config change.
- Unstable response shapes. Fields that appear, disappear or change type between calls, turning integration into maintenance. This is engineering time, which is the most expensive currency in the whole calculation.
- Gated trials. A sales call before you can see real data. The cost is weeks of calendar time, and it usually predicts how a support request will go later.
- Exit friction. Notice periods, non-transferable balances, no bulk export of what you already verified. Cheap to enter, expensive to leave.
The most expensive one: stale data
Everything above is measured in rupees per call. Staleness is measured in decisions, which is a different order of magnitude.
If a provider serves a months-old snapshot, a supplier cancelled in April still reads Active in July. You release the payment. The invoice does not support your input tax credit, because credit now flows strictly through GSTR-2B and a cancelled or non-filing counterparty does not put it there. You find out at reconciliation, and the cost is the blocked credit plus the recovery conversation plus the audit trail you now have to reconstruct. No per-call discount survives contact with that.
Caching itself is not the problem — a registration record does not change minute to minute, and sane caching is why these APIs can be priced in paise at all. The problem is an undisclosed window. Background on the mechanics: GSTR-2B and the Invoice Management System, input tax credit rules, and what a suspended GST status means.
The questions that expose each trap
| Hidden cost | Ask this, in writing |
|---|---|
| Unbundled filing history | Does one call return both the registration record and GSTR filing history? |
| Billable failures | Which responses draw a credit — malformed input, unregistered GSTIN, 429, upstream 5xx? |
| Credit expiry | How long do purchased credits last, and what happens to the remainder? |
| Minimums and overage | Is there any floor or commitment, and what is the marginal rate above the allowance? |
| Rate limits | What is the documented per-key limit, and how is a 429 signalled? |
| Schema stability | Is the response schema versioned, and how are breaking changes announced? |
| Gated trial | Can I call real GSTINs today without speaking to anyone? |
| Exit friction | What is the notice period, and can I export what I have already verified? |
| Staleness | How long do you cache a taxpayer record, and what invalidates it? |
Where we stand on all eight
Disclosed interest — we sell one of these. Our answers, so you can check them:
- Filing history: included in the same call, not a separate SKU.
- Billable failures: format and check-digit failures never reach upstream and cost nothing; upstream 502s are not billed. A well-formed but unregistered GSTIN is a real answer and does draw a credit.
- Expiry: purchased credits carry the expiry shown at purchase; free signup credits expire 30 days after issue. Unused credits are non-refundable — buy in quarters, not years.
- Minimums: none. No subscription, no floor, no contract, no notice period.
- Rate limits: throttled per key. This is a genuine weak spot — the ceiling is set for typical integration volume rather than published as a headline number, so high-throughput users should ask for a raised limit before a large run.
- Schema: one stable response shape, documented field by field in the API docs.
- Trial: 20 credits on email verification, real GSTINs, no sales call; plus five public lookups a day with no account.
- Exit: nothing to cancel. Stop calling and the balance simply sits there until its expiry.
- Staleness: upstream taxpayer responses are cached for a window measured in hours, not days. We would rather state that than claim a per-request round trip we do not make.
Rates are ₹0.50 per verification and ₹0.40 once a purchase crosses 2,500 credits — see the pricing page, the cheapest GST API breakdown, and GST API pricing explained for how each element is set.
Frequently asked questions
A note on accuracy. GST rules change often. This article reflects our understanding as of 15 September 2026 and is general information, not tax or legal advice. For the authoritative position, check gst.gov.in and cbic-gst.gov.in, or speak to a qualified tax professional about your specific situation.
Check a GSTIN right now, free
Five lookups a day, no account required. Status, filing history, e-invoicing and jurisdiction.
Free GST search toolBuild it into your product
One REST call, JSON back. Get an API key and 20 free verification credits in under a minute.
Start freeMore on pricing & cost
Browse every guide in the GST API blog.