Skip to content
Crypto-only, prepaid. Top up a balance and we draw from it monthly — nothing is ever charged automatically.
tcggraph

Credits and rate limits

Two independent limits: credits cap what you use in a month, and the rate limit caps how fast you use it.

What a credit buys

A credit is one billable unit of work. Cheap lookups cost less than expensive aggregations, so you are charged for what a query actually costs to serve rather than for how many HTTP calls you happened to make.

OperationNotesCost
Card lookup by idREST or GraphQL, any game1
Search or filterPer page of up to 100 results2
Card with price historyIncludes the full daily series3
Set or catalog listingSets, formats, rarities1
Bulk exportPer game, per download250
Image deliveryNever metered, on any planFree
Cached response (304)Send If-None-Match and pay nothingFree

In GraphQL, each root field is billed separately. A query aliasing three games costs three searches, not one.

Per-plan allowances

PlanCredits / monthCredits / dayRate limitOverage
Starter25,0002,500 credits60 req/min$12 per 10,000
Growth150,00015,000 credits300 req/min$6 per 10,000
Scale750,00075,000 credits1,000 req/min$3 per 10,000

Overage costs more per credit than the plan it extends, and stops at your plan price — so the most a month can ever cost is double. If you are paying overage two months running, the next plan up is cheaper.

Response headers

Every response reports your remaining budget, so you never have to guess.

TCGGraph-Credits-Limit:     150000
TCGGraph-Credits-Remaining: 149187
TCGGraph-Credits-Reset:     1788220800
TCGGraph-Cost:              2
X-RateLimit-Limit:          300
X-RateLimit-Remaining:      299

Hitting the cap

  • Rate limit exceeded429 with a Retry-After header in seconds. Back off and retry.
  • Daily cap reached429 until midnight UTC. The daily ceiling is a tenth of the monthly allowance on every plan, which is well clear of normal traffic and tight enough that a loop with a bug in it costs you a day rather than a month.
  • Monthly credits exhausted — requests keep succeeding and overage is drawn from your balance, stopping once it reaches your plan price. A runaway loop cannot produce an unbounded invoice.
  • Hard cap reached429 until the monthly reset, for accounts that opted into a cap instead of overage.

You can set a hard cap on any plan if you would rather fail than be billed. See pricing for the full breakdown.

What is never metered

  • Card images from the CDN, on every plan.
  • Responses served from your own cache — send If-None-Match and a 304 costs nothing.
  • Requests that fail with a 4xx or 5xx.