What we watch for
Three signals feed our automated abuse flags. None of them auto-revoke; they trigger a manual review.- Quota saturation. A key that consistently runs into the monthly quota during the first few days of the month, every month. Suggests scraping or a missing cache.
- Traffic spikes. 24-hour volume more than 5× the trailing 7-day average. Almost always indicates a broken retry loop or a recursive job.
- Sustained 4xx rate. ≥25% of requests in a 24-hour window returning client errors. Suggests a bug your client should fix, or probing for endpoints that don’t exist.
What gets a key revoked
These are the behaviors that result in revocation, with no warning required:- Republishing bulk Elestrals data — full card list, full set list, scraped image dumps — on a public website, mirror, or downloadable archive.
- Building a product whose core feature is a competing TCG database.
- Training machine-learning models on the corpus without prior written permission.
- Coordinating multiple keys to circumvent rate limits on a single workload.
- Distributing your API key publicly (committing to public repos, embedding in client-side JavaScript, posting in Discord).
What’s fine
To rule out the obvious questions:- Heavy reads. If you’re a partner-tier deck-building tool serving 50,000 users, you should expect to use most of the partner quota. That’s the system working.
- Server-side caching. Caching our responses on your own infrastructure is encouraged. Required, even, at the partner volumes.
- Multiple keys for environments. Mint a
dev,staging, andprodkey per developer. We expect this and the usage dashboard is built around it. - Community libraries. Wrapping the API in an open-source SDK is fine. Embedding your bearer token in that SDK is not.