Service status

The current state of the GSTIN API GST verification service, checked while this page loaded, plus the availability we have actually measured. Every figure on this page is counted from recorded checks — none of it is estimated, rounded up, or carried over from a marketing deck.

We are having a problem

Checked 0 seconds ago

Components

Four things can fail independently, and a single green tick covering all of them would hide the distinction that matters: a stopped bulk worker is invisible to someone verifying one GSTIN at a time, and an upstream outage is invisible to anyone reading the dashboard.

API and website

The gstinapi.com application: the verification endpoint, the dashboard and this site.

Operational

Serving requests.

30 days ago Today
Measured uptime
No data yet
Checks recorded
0
Monitoring coverage
No data yet
Probe latency
Not enough samples

Checked live. This page is rendered by the same application that serves the API, so a page you can read is an application that is answering. Last checked 0 seconds ago.

Database

Accounts, API keys, credit balances and bulk job records.

Operational

Answering queries in 1 ms.

30 days ago Today
Measured uptime
No data yet
Checks recorded
0
Monitoring coverage
No data yet
Probe latency
Not enough samples

Checked live, on every load of this page: a real query is issued and timed. Verification requests cannot be authenticated or billed without it. Last checked 0 seconds ago.

Bulk job workers

The queue that works through bulk verification jobs.

Outage

Bulk jobs are queued but not being picked up. Single verifications are unaffected.

30 days ago Today
Measured uptime
No data yet
Checks recorded
0
Monitoring coverage
No data yet
Probe latency
Not enough samples

Checked live by the age of the oldest job no worker has picked up yet. Single verifications do not depend on this; bulk jobs do. Last checked 0 seconds ago.

GST record provider

The upstream GST Suvidha Provider network this service reads live GST records through.

Not measured

No check has been recorded yet.

30 days ago Today
Measured uptime
No data yet
Checks recorded
0
Monitoring coverage
No data yet
Probe latency
Not enough samples

Checked every few minutes by a scheduled probe, not on page load — a status page should not add load to a provider that is already struggling. The probe asks for no GSTIN, so it verifies nothing and costs nothing.

How this page is measured

A scheduled probe runs every 5 minutes and writes one record per component: whether the check succeeded, and how long it took. The percentages above are counted from those records over the last 30 days, and from nothing else. There is no way to seed this history, and no figure here has ever been typed in by hand.

No checks have been recorded yet. This page will report "no data" rather than a percentage until the probe has run, which is the honest answer to a question nobody has measured.

The probe runs inside the same infrastructure it measures, which is the standard weakness of self-hosted monitoring: if the application is down, the probe does not run, and the outage shows up as an absence of checks rather than as failed ones. That is why coverage is published beside uptime. Read the two together — 100% uptime at 60% coverage means four hours of the day were not observed, not that they were fine.

The upstream check asks the GST record provider for no GSTIN at all. It measures that the endpoint is alive and how quickly it answers; it performs no verification, so it costs nothing and touches no customer data. Latency figures are the round trip our probe sees, which is not the same as the latency of your own requests from your own network — treat them as a floor, and measure from your side before you depend on a number.

Incidents and maintenance

Any day on which a check failed appears in the strips above, in red or amber, for as long as the window holds it. Incidents that affected customers are written up here with what happened, when it started and stopped, and what changed afterwards.

This log has no entries yet because measurement has only just begun. An empty incident history on a new page is not a record of perfect uptime, and it is not offered as one.

Planned maintenance that could interrupt the API is announced here at least 48 hours ahead and is scheduled between 00:00 and 03:00 IST, the quietest window for Indian business traffic. Maintenance announced that way is an excluded event under the SLA; unannounced downtime is not.

Seeing something this page is not? That is worth knowing about — tell us, and note that under the SLA your evidence of an outage is enough to open a claim. You are not required to wait for us to notice.

Poll it instead of reading it

The same state, as JSON, for a dashboard or an alerting rule. It always answers 200 — the document reports the state rather than being the state — so read the status field, which is ok, degraded or down. Unmeasured figures come back as null, never as a placeholder number.

curl https://gstinapi.com/status.json

Frequently asked questions

Yes — gstinapi.com/status. It reports the live state of the API, the database, the bulk verification workers and the upstream GST record provider, and publishes the availability actually measured by a probe that runs every 5 minutes. A machine-readable version of the same data is served at gstinapi.com/status.json.
By an internal probe that runs every 5 minutes and records one row per component. The percentages shown are the share of those recorded checks that did not fail, over the last 30 days. Nothing is back-filled or estimated: a window with no checks in it reports "no data" rather than a number.
Because the probe runs inside the same infrastructure it measures, so a total outage produces missing checks rather than failed ones. Coverage is the share of expected checks that actually ran. Publishing it is what stops a gap in monitoring from quietly flattering the uptime figure.
No. The service level agreement covers the gstinapi.com gateway only; GSTN and GST Suvidha Provider outages are an excluded event. The provider is monitored and reported on this page anyway, because a lookup that cannot reach the register is a failed lookup from a customer point of view whether or not a contract covers it.
No. A lookup is only billed when it returns a registration. Upstream errors, timeouts and unreachable-provider responses never consume a credit, in single lookups and in bulk jobs alike.

The commitment behind these numbers — what is covered, what is excluded, how downtime is measured and what you get back when we miss it — is in the service level agreement. Pricing and billing rules are on pricing, and the failure modes your own integration should handle are in the API documentation.