Start here when something breaks

Error codes

Most problems you can solve yourself. If not, send us the endpoint + code + time.

401Invalid API key
Likely causes
  • Key typed wrong (mind the case — format is ct-xxxxxxxx)
  • Key disabled (resale detection / manual stop)
  • Called a paid endpoint without a key
  • Key used incorrectly: with a URL parameter, missing ?key= / &key=; with a header, missing the Bearer prefix
What to do

Check the key. Free endpoints (quote / kline / hot / market-overview / changedist / health) need no key

403This key already used N different IPs today (over the limit)
Likely causes
  • One key shared by several people (resale)
  • Normal use after a network change (travel / hotspot / dynamic IP / proxy)
  • Same-LAN egress IP changed (rare)
What to do

If normal use tripped it, contact us to reset. If you are sharing, please buy separately

429Rate limit exceeded (calls per minute)
Likely causes
  • Too much concurrency in a short window
  • No delay inside a loop
What to do

Add a sleep or lower concurrency. Trial 30 · Standard 120 · Pro 300 · Unlimited 600 /min

200 + ok:falseUpstream fetch failed (empty data)
Likely causes
  • Upstream source temporarily unavailable
  • A stock code that does not exist
  • Upstream interface changed
What to do

Sources switch automatically. These calls are not counted. If it keeps failing, send us endpoint + code + time

422Parameter format error
Likely causes
  • code without a market prefix (sh600667, not 600667)
  • Wrong date format (should be YYYY-MM-DD)
  • A required parameter is missing
What to do

Check the parameter table in the endpoint reference

Parameter conventions

code carries a market prefixsh600667 (SH) · sz000001 (SZ) · hk00700 (HK) · usAAPL (US) · sh113052 (SH bond) · sz123138 (SZ bond)
Date formatYYYY-MM-DD (e.g. 2026-09-16); leave blank for the latest trading day
Booleanstrue / false (lowercase)
Response envelopeAlways { ok, endpoint, tier, elapsed_ms, source, data }

Self-check order

1Look at the status code first — match it against this page
2Then check the parameters — against the endpoint reference (market prefix on code? date format right?)
3Verify your key path with a free endpoint — /v1/quote?code=sh600667
4Only then contact us — include the full request URL (key masked), the response and the time