Before you start
- Choose one venue and market type, symbol, data family, and time window.
- Read Rate limits for your plan’s capacity and Errors for retry behavior.
- Set a worker count, page budget, retry budget, and output path before the first request.
- Keep the API key in the runtime environment and out of job logs.
Inputs
Steps
1
Run one baseline request
meta.next_cursor before adding workers.2
Set finite workers and pages
Give each worker one market, symbol, window, and cursor chain. Stop when the window is exhausted or the page budget is reached. Do not let an agent or scheduler create an unbounded loop.
3
Apply bounded retries
Retry
rate_limited, transient 5xx, and network timeouts only within the retry budget, and stop on insufficient_credits. When you reach a limit says how long to wait for each.4
Widen only after the run is inspectable
Compare returned rows, request IDs, latency, retries, and quality state with the inputs. Add symbols or workers only after this run has a clear stop state.
What a finished run looks like
Every request has a recorded status and request ID. The run ends as complete, partial, or stopped with a reason. A remaining cursor, an exhausted retry budget, or a quality failure is visible in the output rather than hidden by a retry loop. Write the route, numeric window, page size, worker count, retry budget, and stop rule beside the output. Keep request IDs per page, including failed attempts when the client exposes them. A capacity limit affects request rate, concurrency, credits, standard replayspeed, or export volume. It can slow or narrow a job; it does not mean the route or dataset is unavailable.
If something fails
400, invalid symbols, or invalid parameters: fix the input before another call.401: repair the key source orX-API-Keyheader.403: read the exact error for that endpoint, account, and key, and stop unchanged retries.429: retryrate_limitedwithin the budget and stop oninsufficient_credits, as When you reach a limit describes.5xxor timeout: retry within budget, then check Data quality and stop if the budget is exhausted.- Page budget reached with a cursor remaining: mark the output partial and resume from the saved cursor under a new bounded run.
- A stale or incomplete quality result: narrow, delay, or mark the output as described in gap handling.