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.
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.
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.
- Connect the GSTIN once in the dashboard (GSTR-2B & GST Return Filing).
- 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.
- 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.
More from the blog
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