Buyer guide 9 min read

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.

Written and reviewed by the GSTIN API team Last reviewed

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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. Undocumented rate limits. Discovered mid-batch, at which point the fix is a support ticket and a stalled run rather than a config change.
  6. 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.
  7. 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.
  8. 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 costAsk this, in writing
Unbundled filing historyDoes one call return both the registration record and GSTR filing history?
Billable failuresWhich responses draw a credit — malformed input, unregistered GSTIN, 429, upstream 5xx?
Credit expiryHow long do purchased credits last, and what happens to the remainder?
Minimums and overageIs there any floor or commitment, and what is the marginal rate above the allowance?
Rate limitsWhat is the documented per-key limit, and how is a 429 signalled?
Schema stabilityIs the response schema versioned, and how are breaking changes announced?
Gated trialCan I call real GSTINs today without speaking to anyone?
Exit frictionWhat is the notice period, and can I export what I have already verified?
StalenessHow long do you cache a taxpayer record, and what invalidates it?
One question per hidden cost, to send before you buy.

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

Eight recur: filing history sold as a separate call, billable error responses, credit expiry, monthly minimums and overage rates, undocumented rate limits, unstable response schemas, gated trials that delay evaluation, and exit friction such as notice periods. Each one is a price increase that does not appear on the pricing page.
Some do. Ask specifically about four cases: a malformed GSTIN, a well-formed but unregistered GSTIN, a 429 rate-limit rejection, and a 5xx caused by the upstream source. On this API, format and check-digit failures cost nothing and upstream 502s are not billed; an unregistered but well-formed GSTIN is a real answer and does consume a credit.
Because the loss is not the call price, it is the decision it caused. A cancelled registration reported as Active can mean a payment released to a supplier whose invoice will not support your input tax credit, and the reconciliation and recovery effort that follows dwarfs any per-call saving.
Ask for it in writing, and test it independently: query a GSTIN whose status you know changed recently and see whether the answer is current. A provider unwilling to state a cache window in writing is telling you something about the window.
Yes, in calendar time. If evaluating a provider requires a sales call and a scheduled demo, the evaluation takes weeks instead of an afternoon, and the gate is usually a reasonable predictor of how support requests will be handled later.

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 tool

Build it into your product

One REST call, JSON back. Get an API key and 20 free verification credits in under a minute.

Start free