---
title: "Trader export snapshot metadata"
method: GET
path: "/api/v1/trader/{address}/export"
tags: ["Traders"]
---

# Trader export snapshot metadata

`GET /api/v1/trader/{address}/export`

Returns export source-range, completeness, volume reconciliation, row-count estimate, and large-export policy for one trader. V1 is metadata-only; full raw dataset export remains on the internal streaming or async export route.

## Path parameters

- `address` string, required

## Response `200`

Trader export snapshot metadata

- object
  - `object` 'trader_export_snapshot', required
  - `data` TraderExportSnapshot, required
    - `address` string, required
    - `generated_at` string, date-time, required
    - `source_range` ExportSourceRange, required
      - `first_pnl_date` string, date, nullable
      - `last_pnl_date` string, date, nullable
      - `latest_trade_at` string, date-time, nullable
      - `latest_market_activity_at` string, date-time, nullable
    - `completeness` ExportCompleteness, required
      - `status` 'complete' | 'partial' | 'empty', required
      - `reason` string, required
      - `sync_coverage` number, required
    - `reconciliation` ExportVolumeReconciliation, required
      - `provider_lifetime_volume` number, nullable
      - `exported_activity_volume` number, required
      - `exported_market_cost_basis` number, required
      - `provider_activity_volume_gap` number, nullable
      - `activity_volume_coverage` number, nullable
    - `counts` ExportCounts, required
      - `pnl_days` integer, required
      - `exported_markets` integer, required
      - `estimated_trade_rows` integer, required
      - `estimated_size_mb` number, required
    - `large_export_policy` LargeExportPolicy, required
      - `mode` 'metadata_only_in_v1', required
      - `current_internal_route` string, required
      - `direct_streaming` object, required
      - `async_job` object, required
      - `rate_limit` object, required
  - `meta` ResponseMeta, required
    - `request_id` string, required — Unique request ID (req_ prefix).
    - `cached` boolean, required
    - `cache_age_s` integer, nullable — Cache age in seconds, null if not cached.

## Other responses

- `400` — Invalid request parameter
- `401` — Missing or invalid API key
- `402` — Active Insider subscription required
- `403` — Account access denied
- `404` — Resource not found
- `408` — Request exceeded the server's 30-second transport timeout. The timeout response has an empty body because it is generated before handler-level JSON error shaping.
- `423` — Account is locked
- `429` — Rate limit exceeded (100 req/min; batch endpoints also reserve 100 batch item units/min before execution)
- `500` — Unexpected server error
- `503` — Redis-backed authenticated rate limiter unavailable; retry after the per-process outage cooldown

## Changes

- **2026-06-01** `422bd4dc1611` — 81 warning, 1 info
  - added the new `account_locked` enum value to the `error/code` response property for the response status `400`
  - added the new `account_locked` enum value to the `error/code` response property for the response status `401`
  - added the new `account_locked` enum value to the `error/code` response property for the response status `402`
  - added the new `account_locked` enum value to the `error/code` response property for the response status `403`
  - …78 more
- **2026-05-08** `80e8658e5acf` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/0xinsider/apis/0xinsider-api/changes/api/v1/trader/:address/export/get.md)

---

[API](https://skmtc.dev/0xinsider/apis/0xinsider-api.md) · [All operations](https://skmtc.dev/0xinsider/apis/0xinsider-api/llms.txt) · [OpenAPI document](https://skmtc.dev/0xinsider/apis/0xinsider-api/revisions/137fa0fd3297?raw)
