Skip to main content
The limits protect the inventory that every CatchBack customer shares. Most are counted per API key, and a day is a UTC day, from midnight to midnight UTC. On top of them, everything under /api/ has a shared limit per IP address. Four limits are settings on your key: the time between pack purchases, packs per day, cards per day and card spend per day. The numbers below are the defaults, and we can change any of them for your key on request: contact us if yours don’t fit your volume. The limits on a single request, on shipments and on test accounts are the same for every key.

Per endpoint

Card buys have no per-minute limit, and sell-backs have no rate limit per key. Reads don’t either, but keys are monitored: a full catalog sync a few times an hour is fine; polling every few seconds is not. To hear about your own orders without polling, use a webhook. Card lookups (Get a card, Find a card by cert and Card activity) are cached for up to a minute, and Price history for up to five minutes, so asking more often than that returns the same answer.

Shared limit per IP

Everything under /api/ has a shared limit of 300 requests a minute per IP address, on top of the per-key limits on this page. That covers every partner endpoint, the MCP server and Public card metadata. It counts by IP address, not by key, so several keys behind one address share it. Keep your traffic well under it. A refusal here may not look like the responses on this page, so treat any refusal as a reason to back off.

Pack purchases

  • Speed: one purchase request per key every 60 seconds. One request can open several packs, so a bot that wants five packs sends one request with quantity: 5, not five requests.
  • Daily ceiling: 100 packs per UTC day, counting completed orders. A request is refused whole if it would take you over: with 97 used, a request for 5 is a 429 even though 3 would fit.
  • Per request: 1–10 packs of one type. List packs gives each pack’s max_quantity: 1 for the Starter, sealed mystery packs and community packs, and 5 for watch packs. More than that is a 400.
The daily ceiling is checked first, then the speed limit. A refused request charges nothing and doesn’t use up your slot for the minute. A purchase that fails after it starts hands the slot back too, so a fixable error doesn’t cost you a minute, unless we couldn’t confirm its charge: that order is held for review and keeps its slot. A retry of an order you already sent (the same Idempotency-Key) skips both checks: you can always find out what your first attempt did.
429 RATE_LIMITED
429 DAILY_LIMIT_REACHED

Card purchases

  • Cards: 25 per UTC day.
  • Spend: $50,000 per UTC day: each card's price plus its $1 buyer fee.
Both count the shop and user listings together. A finished order counts what it charged. An order that is still running counts at its max_price + $1, so parallel orders can’t all pass the check and overshoot the cap. A refused order charges nothing and frees its order id, so you can send it again after resets_at.
429 DAILY_CARD_LIMIT_REACHED

Shipments

  • Per day: 50 shipments per key per UTC day. A shipment we refused doesn’t count, and a refused shipment charges nothing and frees its id.
  • Estimates: 60 per key per minute, because each one is a live call to the carrier. One with cover_amount is two calls, so it counts as two. The count is kept per server, so the exact point you’re refused can vary.
  • Per request: 1–10 cards to one address, and a max_cost of at most $10,000.
These are the same for every key. More on Shipping cards.
429 DAILY_SHIPMENT_LIMIT_REACHED

Which 429s send Retry-After

When we can’t count

If we can’t read your usage for today, a purchase or shipment is refused with a 503 and nothing is charged: the limit checks fail closed rather than let an order through uncounted. Retry with backoff, with the same id.

Check where you stand

Get account returns your pack usage (limits, including next_purchase_at, the earliest your next pack purchase is allowed) and your card usage (card_limits), so a bot can plan its next purchase without hitting a 429. It doesn’t count shipments.