GSTR-2B ITC statement, now through the API

What the GST network’s auto-drafted ITC statement is, why your input tax credit is tied to it, and how to fetch one for a GSTIN through gstinapi.in.

By gstinapi.in team · Published 22 October 2026 · Last reviewed 22 October 2026

What GSTR-2B is, and where it comes from

GSTR-2B is an auto-drafted statement the GST network itself generates for every registered taxpayer, listing the input tax credit available for a return period. It is built from what the taxpayer’s suppliers filed: their GSTR-1 (or the Invoice Furnishing Facility for quarterly filers), plus GSTR-5 for non-resident suppliers, GSTR-6 for input service distributors, and import data from the customs system. The CGST Rules provide for this statement to be made available to every registered person.

Unlike a registration lookup or a filing-history check, which read live data that can change between two calls, GSTR-2B for a period is generated once and then stays fixed. That is deliberate: it is meant to be the number a taxpayer actually reconciles against and uses when filing their own GSTR-3B for that period, not a running total that keeps moving under them.

Sources: CGST Rules 2017, Rule 60 and Rule 36(4) (CBIC)

GSTR-2A and GSTR-2B are not the same statement

  • GSTR-2A keeps changing. It reflects supplier filings as they happen, so a figure read today can be different next week if a supplier files late or amends an earlier return.
  • GSTR-2B is generated for a period and then frozen. Once generated, it does not move for that period unless someone explicitly asks the GST network to regenerate it.
  • GSTR-2B is the one tied to how much input tax credit can actually be claimed for a period; GSTR-2A is a continuously-updating view of the same underlying supplier filings, useful for watching what is coming before a period closes.

Why it caps how much credit you can claim

As far as we know, the CGST Rules restrict a taxpayer’s input tax credit claim to what is reflected in their GSTR-2B for that period — not to what the taxpayer’s own books say is owed. A credit that a supplier has not yet reported, whatever the reason, does not show up in GSTR-2B and, under that rule, cannot be claimed for the period until it does. This is also why many businesses chase suppliers to file on time: a supplier’s delay becomes the buyer’s cash-flow problem.

That makes GSTR-2B the figure worth checking before filing a GSTR-3B, not after, and the reason a statement that only updates once a month on the GST portal is worth being able to pull through an API on demand instead.

Sources: CGST Rules 2017, Rule 60 and Rule 36(4) (CBIC)

Fetching it through gstinapi.in

The GSTIN has to be connected once, the same one-time GST-portal OTP consent GSTR-1/GSTR-3B return filing already uses: in the dashboard, under GSTR-2B & GST Return Filing, enter the GST-portal username and read back the OTP sent to the registered mobile or email. The connection lasts about six hours and covers any number of calls in that window.

With a connected GSTIN, POST /v1/gstr2b/fetch returns the statement for a GSTIN and return period (MMYYYY) with your API key. If a statement does not yet exist for that period, POST /v1/gstr2b/generate asks the GST network to generate it on demand, and POST /v1/gstr2b/generate/status polls that request.

Add "test_mode": true to any of the three calls for a synthetic response that never reaches the GST network and costs nothing, to build against the shape before the first real call.

  1. Connect the GSTIN once in the dashboard (GSTR-2B & GST Return Filing).
  2. Call POST /v1/gstr2b/generate if a statement for that period does not exist yet, then poll POST /v1/gstr2b/generate/status until it is ready.
  3. Call POST /v1/gstr2b/fetch with the GSTIN and return period to get the statement.

Generating and polling a generation request are free. Fetching the statement is charged only on a real success, so a failed or rejected call never costs a credit.

What this is, and is not, on day one

  • It is a single statement for one GSTIN and one return period, not a continuously-updating GSTR-2A-style feed.
  • It is not a reconciliation tool: it does not match the statement’s lines against a purchase register or flag mismatches for you. It returns what the GST network itself generated.
  • This is the first release of GSTR-2B on this API. The exact shape of the data returned can still move as we see more real periods; read it defensively rather than assuming every field is final.

Frequently asked questions

What is GSTR-2B?

An auto-drafted statement the GST network generates for every registered taxpayer, showing the input tax credit available for a return period, built from what the taxpayer’s suppliers filed in their own GSTR-1, GSTR-5 or GSTR-6.

Is GSTR-2B the same as GSTR-2A?

No. GSTR-2A keeps changing as suppliers file or amend their returns. GSTR-2B is generated for a period and then stays fixed, which is why it is the statement used to decide how much credit can actually be claimed for that period.

Can I claim input tax credit that is not in my GSTR-2B?

As far as we know, no — the CGST Rules tie a taxpayer’s input tax credit claim to what is reflected in their GSTR-2B for that period, not to what their own books show.

How do I fetch a GSTR-2B statement on gstinapi.in?

Connect the GSTIN once with a GST-portal OTP in the dashboard, then call POST /v1/gstr2b/fetch with your API key, the GSTIN and the return period. Use POST /v1/gstr2b/generate first if a statement for that period does not exist yet.

How much does fetching a GSTR-2B statement cost?

3 credits per successful fetch, charged only on success. Generating a statement on demand and checking that generation’s status are both free.

Try it on a real GSTIN

Up to 75 free lookups: 10 on signup and 65 more across three setup steps. No card, and they never expire.

Create a free account