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.
| Code | When | What to do |
|---|---|---|
unauthorized | Missing/wrong/revoked/expired key | Re-install if the trial is still live; after expiry, purchase |
trial_used | Device + AI client already burned a trial | Checkout on /pricing |
rate_limited | Minute, daily, or signal-watch cap | Wait retryAfter, wait until UTC midnight, or reuse a watched domain |
not_found | Domain not in the catalog, or signal id unknown | Stop. We do not scrape |
bad_request | Missing filter, bad enum, compare <2 or >8 domains | Fix args |
query_timeout / upstream_error / internal | Catalog or box failed | Retry once, then stop |
Do not tight-loop a 429. Shrink limit or stop paging when hasMore is false.