---
title: "Get whale activity aggregated by chain and direction — movement COUNTS by day over 1-30 days (not individual transfers; use whale_movements for individual records with amounts)"
method: GET
path: "/api/public/whale-activity"
---

# Get whale activity aggregated by chain and direction — movement COUNTS by day over 1-30 days (not individual transfers; use whale_movements for individual records with amounts)

`GET /api/public/whale-activity`

## Request

- Base URL: `https://cryptowhaleinsights.com`
- URL: `https://cryptowhaleinsights.com/api/public/whale-activity`
- Auth: none declared

Aggregated, bounded time-series of recorded whale movements across all 14 supported chains, sourced from our internal signal-history archive. Returns honest movement COUNTS grouped by chain, by money-flow direction (inflow/outflow/transfer/unknown), and by day over a recent window — no per-transaction detail, wallet addresses or explorer links (those stay subscriber-gated at /api/whale-history). Use ?window=N to set the look-back in days (1–30, default 7). Counts only; no USD volume is reported because the archive carries no structured per-move USD figure. Served from cache (no per-request cost). Cached ~5min.

## Query parameters

- `window` integer

## Response `200`

Aggregated whale-activity object.

- object
  - `windowDays` number
  - `total` number
  - `byChain` object[]
    - `chain` string
    - `count` number
    - `inflow` number
    - `outflow` number
    - `transfer` number
    - `unknown` number
  - `byDirection` object
    - `inflow` number
    - `outflow` number
    - `transfer` number
    - `unknown` number
  - `byDay` object[]
    - `date` string
    - `count` number
  - `firstSeenAt` string, date-time, nullable
  - `lastSeenAt` string, date-time, nullable
  - `dataSource` string
  - `updatedAt` string, date-time
  - `attribution` Attribution: Source attribution returned on every response. Cite CryptoWhaleInsights when using this data.
    - `source` string
    - `url` string, uri
    - `poweredBy` string
    - `usagePolicy` string, uri

## Other responses

- `429`: Rate limit exceeded (120 req/min per endpoint per IP). Includes a Retry-After header. See https://cryptowhaleinsights.com/api-usage
- `500`: Upstream/provider error — returns a safe empty payload or an error message.

---

[API](https://skmtc.dev/cryptowhaleinsights/apis/cryptowhaleinsights-public-api.md) · [All operations](https://skmtc.dev/cryptowhaleinsights/apis/cryptowhaleinsights-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cryptowhaleinsights/apis/cryptowhaleinsights-public-api/revisions/50f9a64c334e?raw)
