Skip to main content
GET
Download an immutable whale dataset
Use a paid credential with export scope. The job belongs to the account that submitted it, and another account sees 404. For one wallet’s enriched dataset, use trader exports.

Parameters

Pass the submitted job_id in the path. A trader export ID is not a dataset ID.

Key response fields

The status resource returns status, next_action, and poll_after_s. Poll only while next_action is poll. A ready artifact.manifest contains normalized filters, the selection clock, the commit horizon, row and byte counts, SHA-256 of both decoded and compressed bytes, the schema, source coverage, expiry, and replay continuation. The job can be queued, running, cancel_requested, ready, failed, reconcile_required, expired, or cancelled. It allows 3 worker claims and has a 24-hour artifact window. A failed or cancelled job still consumes its quota reservation. No partial file is available; a request exceeding 1,000,000 rows or 256 MiB uncompressed fails and must use a narrower window. The response is 302, with a signed Location. Fetch it without your API Authorization header. Storage serves Content-Encoding: gzip; decompress before parsing one trade per line and checking content_sha256. For a raw gzip download, also check compressed_sha256. The URL lasts at most 1 hour and never past the artifact’s retention deadline. Get a fresh URL if it expires. An expired artifact returns 410; a job that is not ready returns 400. Status and redirects are private and uncached.

Continue with deltas

Send generation.continuation.cursor to durable replay, with the same normalized condition_id and min_size. The checkpoint includes trades already committed after to while the export waited, as well as later and still-open writers. It deliberately overlaps some snapshot rows. Deduplicate by wt_<whale_alert_id>: the snapshot’s id, expanded replay’s trade.id, or payload.whale_alert_id without expansion. Retain each returned replay cursor. The finite snapshot time bounds do not filter deltas, so a late trade can precede the original window. This is an insertion feed, not updates or deletions, and it never promises exactly-once delivery.

Example

What it does not return

Rows are detected whale_alerts, not complete provider trade history. Exact price and USD size are decimal strings. The dataset includes no current wallet grade or market enrichment. Legacy outcome indices are null where the canonical trust boundary cannot establish them. Ingestion and retention gaps remain source coverage limits.

Authorizations

Authorization
string
header
required

Legacy default or named integration API key, or OAuth 2.1 access token, in the Authorization header as Bearer oxi_sk_live_... or Bearer oxi_at_.... Default keys retain full access; integration keys are limited to their approved read, webhooks, export and usage scopes and expire within 90 days. All credentials share the owner's account limits. Data calls require an active Pro subscription and return live data. A 401 carries WWW-Authenticate: Bearer resource_metadata="https://api.0xinsider.com/.well-known/oauth-protected-resource" (RFC 6750 section 3, RFC 9728).

Path Parameters

job_id
integer<int64>
required

Dataset job ID returned by submit; another owner or a trader export returns 404.

Required range: x >= 1

Response

Private redirect to the immutable gzip NDJSON object. Fetch without API Authorization. Content-Encoding gzip: decompress before parsing; each line conforms to WhaleDatasetTrade. URL validity is min(1 hour, remaining artifact retention); get a fresh URL after expiry.