status
API status
Read live from GET /v1/status, which is the same endpoint our own probe watches. There is no switch on this page to leave set to “operational” by mistake.
Serving, with at least one stale data source
https://api.pokemontcgapi.com/v1/status
catalogue
What is in the database right now.
Counted at read time, not written down here. These are the same numbers the coverage page and the OpenAPI examples are generated from.
- Sets
- 615
- Cards
- 52,337
- Sealed products
- 2,088
freshness
Every source, and how old it is.
An ingest that stops running is invisible until somebody looks. Publishing it here — to customers, not just to us — is what makes it impossible to leave broken quietly.
| Source | Last success | Age | State |
|---|---|---|---|
| enrich-tcgdex | — | — | never run |
| refresh-catalog | Sep 3, 2026 | 48 min ago | never run |
| refresh-index | Sep 3, 2026 | 18 min ago | never run |
| refresh-prices | Sep 3, 2026 | 24 min ago | never run |
“Stale” means a source has not completed successfully in 48 hours, “critical” in 96. Neither takes the API down: a source that stops updating leaves the data it already delivered in place, and the catalogue keeps answering. What it does mean is that prices from that source stop moving, which is why the freshness of each one is on the methodology page as well as here.
incidents
Where an outage gets written down.
There is no third-party status board, and pretending otherwise would be worse than saying so. What exists is this page, the changelog, and an address that a person reads.
Availability
This page, read from the API itself. It is generated at most every two minutes, so it lags a real incident by that much and never by more.
Changes
Anything that changes the contract — a field, a limit, a route — lands on the changelog, which also publishes an Atom feed.
Something wrong?
Write to [email protected] with the request_id from the response header. It is on every answer, including the failures.