neonjelly

Reference

Errors and limits

What 401 / 429 / not_found mean. Daily quota vs per-minute cap.

Each nj_ key has dailyQuota (UTC day) and rateLimitPerMin (in-memory minute bucket). Ask whoami (or GET /v1/whoami) for used / remaining — those calls are not metered.

CodeWhenWhat to do
unauthorizedMissing/wrong/revoked/expired keyRe-install if the trial is still live; after expiry, purchase
trial_usedDevice + AI client already burned a trialCheckout on /pricing
rate_limitedMinute, daily, or signal-watch capWait retryAfter, wait until UTC midnight, or reuse a watched domain
not_foundDomain not in the catalog, or signal id unknownStop. We do not scrape
bad_requestMissing filter, bad enum, compare <2 or >8 domainsFix args
query_timeout / upstream_error / internalCatalog or box failedRetry once, then stop

Do not tight-loop a 429. Shrink limit or stop paging when hasMore is false.