API & developers · 4 min read
Create and download Developer API exports
Queue a bounded JSON export and inspect truncation before using its totals.
Choose an export for a saved file workflow
Developer exports create a bounded JSON file from a supported catalog selection. They are useful when you need a downloadable result for later analysis rather than manually copying several response pages. Exporting does not grant broader dataset or history permission than an ordinary query, and it does not place orders. The creating developer key, project and account remain part of authorization. Start with an endpoint and selection you understand from API Reference, ideally after a small ordinary request confirms that the intended instrument and range are eligible.
Prepare a narrow path and query
Use the catalog path and its documented query parameters. Exact contract, root-family, session and date distinctions remain important. The export service follows supported pages itself; you do not pass an old cursor_id as if the file were a continuation of a different request. On a paginated endpoint, the export limit means the maximum rows in the file, not the size of each underlying request page. Choose time bounds that answer your question and leave room to split a busy session into several adjacent, explicitly labeled ranges.
Create and poll the export record
Send POST /v1/exports using the developer key and the supported JSON request. The accepted response returns an export record to inspect. Poll its authorized status route until it is ready or failed, using a reasonable bounded cadence rather than a tight loop. A queued or running record is not yet a downloadable complete result. If authorization changes before execution, the worker can refuse the job because it rechecks the key, project, account, plan, dataset and history access before running the underlying query.
- Choose a supported path and validate its narrow query selection.
- Create the export and retain its returned identifier.
- Poll the record until ready or failed, then use the authorized download action.
Respect file and account bounds
Each file is limited to 100,000 rows or 64 MiB, with additional bounded page and work-time limits. The current worker also bounds page count and consecutive empty filtered pages, so a large scan can finish with truncation even before a row maximum seems obvious. An account can have at most five queued or running exports; another request can return export_limit. Those limits protect shared work and do not imply credit charging. REST polling still shares the account allowance of 250 requests per rolling minute and a 30-per-second burst limit.
Download and inspect metadata before totals
Download the ready file through its authenticated route, then read its coverage, warnings and truncated state before treating its rows as complete. A successful download proves you received the generated file; it does not mean the source capture was complete or that the worker had unlimited time. Preserve the query and metadata alongside your analysis. Null fields, delayed data and missing intervals retain their meaning in a file. Do not turn a truncated premium or volume sum into a full-session total simply because the JSON parses successfully.
Split a truncated result deliberately
If the result is truncated, request a narrower selection or split the desired window into separate ranges. Use inclusive starts and exclusive ends so adjacent windows meet without intentionally overlapping their shared boundary. Keep instrument, session and filter choices consistent across the files you plan to combine. A new export reruns the current eligible selection rather than extending an immutable old cursor. Late corrections or repaired history can change earlier observations, so document when the files were produced and reconsider an older file when exact corrected results matter.
Diagnose failed and unavailable downloads
Check the export record's state and error before retrying creation. A failure caused by lost account or project access needs a different remedy from a temporary service error. Verify that the download uses the authorized account and project context rather than sharing its private URL as if it were public storage. Report the export ID, path, safe query, state, warning and request ID through Support. Never include the full key. Queued acceptance, generated-file readiness, successful download and verified live provider coverage are separate outcomes that should be described separately.