Skip to content
noxstock
Guides

Production patterns

How to run noxstock in real products without wasting quota or confusing users.

Keep keys server-side

Never call noxstock directly from browser JavaScript with a real API key. Put noxstock calls behind your backend, server action, API route, or agent runtime.

browser/app → your backend/agent → noxstock API

Cache by job type

Suggested starting points:

DataSuggested cache
Search/coverageHours to days
Snapshot during market hours30–120 seconds
Snapshot after close5–30 minutes
Fundamentals/valuation/dividends1–24 hours
Filings metadata/sectionsDays to indefinite
Insider1–24 hours

Use your own cache for user-facing repeat views. noxstock also has upstream caching, but your app should avoid needless requests.

Respect response headers

Authenticated requests include rate-limit headers when applicable:

HeaderMeaning
X-RateLimit-LimitRequests allowed in the current minute window.
X-RateLimit-RemainingRequests left in the current window.
X-RateLimit-ResetEpoch timestamp when the minute window resets.
Retry-AfterSeconds to wait before retrying retryable errors.

Batch carefully

noxstock does not expose a bulk endpoint today. If you need batch analysis:

  1. Use /v2/coverage to filter symbols.
  2. Limit concurrency.
  3. Cache results.
  4. Start with /v2/snapshot and call deeper routes only for shortlisted symbols.

Handle slow SEC cold paths

EDGAR-backed routes can be slower on cold cache, especially for heavy filers:

  • /v2/profile
  • /v2/filings
  • /v2/filings/{accession}
  • /v2/filings/{accession}/section/{name}
  • /v2/insider

For UX, use loading states or background jobs for long filing/insider requests.

Do not hide caveats

If freshness is stale, degraded, or unsupported, surface that to users. It is part of the product contract.