---
title: "Rate limits — JustTCG API"
description: "JustTCG API rate limits by plan — Free is 1,000 requests/month, 100/day, 10/min, up to Enterprise at 500,000/month — plus UTC reset times and retry advice."
url: https://justtcg.com/docs/rate-limits
markdown_url: https://justtcg.com/docs/rate-limits.md
---

# Rate limits

Rate limits are tied to your subscription plan. Monitor usage in the dashboard.

## Plans

| Plan | Monthly | Daily | Per minute |
| --- | --- | --- | --- |
| Free | 1,000 requests | 100 requests | 10 / min |
| Starter | 10,000 requests | 1,000 requests | 50 / min |
| Professional | 50,000 requests | 5,000 requests | 100 / min |
| Enterprise | 500,000 requests | 50,000 requests | 500 / min |

If you exceed your minute rate limit, the API returns `429 Too Many Requests`. If you exceed your monthly limit, you'll need to upgrade your plan to continue.

## Reset times

| Plan type | Daily reset | Monthly reset |
| --- | --- | --- |
| Free | Midnight (00:00) UTC | On the day-of-month the account was created, shortly after 00:00 UTC (the last day of the month when that day doesn't exist). |
| Paid | Midnight (00:00) UTC | On successful payment at the start of each billing cycle. Annual plans reset on the same day each month, shortly after the hour (the last day of the month when that day doesn't exist). |

**Retry strategy:** Use exponential backoff with jitter when handling 429 responses. Start at ~1s and double up to a sensible cap (~30s); always honor any `Retry-After` header when present.

## Free tier on shared infrastructure

**Running on shared infrastructure?** If your backend runs on Cloudflare Workers, AWS Lambda, Vercel, or another serverless or shared‑hosting platform with a **Free** API key, you may occasionally see an `EXCESSIVE_FREE_TIER_USAGE` block. Paid plans are not subject to these shared‑environment protections. Upgrading to any paid plan resolves it.

**Why am I seeing EXCESSIVE\_FREE\_TIER\_USAGE on a Free key?Applies only to Free tier traffic from shared cloud environments**

Free API keys carry additional abuse protections beyond the per‑plan limits in the table above. In a shared cloud environment, requests from many unrelated Free tier users can be grouped together by the underlying platform, so the combined activity may trigger a temporary block; even when your own key's usage is well within the Free tier. When this happens the API returns: `EXCESSIVE_FREE_TIER_USAGE`.

**Resolution:** Move to any paid plan. Paid traffic is exempt from these shared‑environment protections, so your requests are no longer affected by other tenants on the same platform.
