/insider-module/api/insiders/stats/globalGlobal market insider activity statistics: total buy/sell volume ($), transaction counts, top active tickers by volume, and recent significant trades.
Global market insider activity statistics: total buy/sell volume ($), transaction counts, top active tickers by volume, and recent significant trades. All data is deduplicated across joint filings.
Why use this
Common use case
Single-call dashboard payload — every metric needed to populate an 'Insider Activity' homepage panel: aggregate buy/sell volume, top-5 tickers by volume, last-10 large transactions ticker-tape, 14-day buy/sell trend chart, top-5 most-active buyers, and top-5 cluster signals. Designed for low cost (1 token) so dashboards can refresh frequently.
All metrics use canonical-owner dedup (multiple LLC/trust vehicles of the same beneficial owner count as one) to avoid joint-filer inflation. The anomalous-price filter (excludes price ≤0 or ≥$100k/share) strips out parsing errors and pre-split-adjustment artifacts that would otherwise distort top-tickers and large-tx leaderboards.
The days parameter (1-30) controls the volume / top-tickers / large-tx / clusters windows; the daily_trend is fixed at trailing 14 days regardless. For per-sector breakdowns use GET /insider-module/api/insiders/aggregation/by-sector; for the productized daily Buy/Sell signal use GET /insider-module/api/insiders/recommendations/daily.
Parameters
| Name | In | Required | Default | Allowed | Description | Example |
|---|---|---|---|---|---|---|
| days | query | optional | 1 | — | Lookback period in days (1-30) | — |
Response schema
| Field | Type | Nullable | Description |
|---|---|---|---|
| period_days | integer | no | Echo of the resolved `days` parameter (default `1` — 'today's activity'). Source of truth for clients rendering 'Last 7 days' annotations. |
| volume | object | no | Aggregate market-wide volume block. All counts and values are deduplicated across joint Form 4 filings (per-canonical-owner) so an LGN $514M × 9-owner sale shows up at $514M, not the inflated 9× sum. |
| volume.buy_volume | number | no | Sum of `shares × price_per_share` across ALL purchase transactions (`P` code) in the window, USD. Excludes filings with anomalous prices (≤0 or ≥$100k/share — the data-quality guard for splits and parsing errors). |
| volume.sell_volume | number | no | Sum of sell-side volume in the window, USD. Excludes anomalous prices. |
| volume.buy_count | integer | no | Count of qualifying purchase transactions (post-dedup). |
| volume.sell_count | integer | no | Count of qualifying sell transactions (post-dedup). |
| top_tickers | array | no | Top-5 tickers by total dollar volume (buys + sells combined) in the window. Sorted by `total_value DESC`. Empty array on quiet days/weekends. |
| top_tickers[].ticker | string | yes | Issuer ticker (canonical hyphen form). |
| top_tickers[].total_value | number | no | Sum of `shares × price` for this ticker in the window, USD. |
| recent_large_tx | array | no | Top-10 most-recent insider transactions over $500k, sorted by `filed_at DESC`. The 'ticker tape' for dashboards. Anomalous-price filter applied. |
| recent_large_tx[].ticker | string | yes | Issuer ticker. |
| recent_large_tx[].date | string | yes | ISO `YYYY-MM-DD` transaction execution date. |
| recent_large_tx[].type | string | no | `'Buy'` (when `acquired_disposed_code='A'`) or `'Sell'` (when `'D'`). Display-friendly direction. |
| recent_large_tx[].value | number | no | Transaction USD value (`shares × price_per_share`). Always >$500k for entries in this list. |
| recent_large_tx[].insider | string | yes | Reporting-person legal name (verbatim from Form 4 Item 1). |
| daily_trend | array | no | Daily buy/sell volume trend for the trailing 14 days (NOT the `days` window — fixed at 14 to drive line-chart visualizations). One entry per calendar date with non-zero activity. |
| daily_trend[].date | string | no | ISO `YYYY-MM-DD` date. |
| daily_trend[].buy | number | no | Buy-side USD volume on this date (post-dedup). |
| daily_trend[].sell | number | no | Sell-side USD volume on this date (post-dedup). |
| top_insiders | array | no | Top-5 most-active insider BUYERS in the window (purchases only — code `P`). Use as the 'who's buying?' panel on dashboards. |
| top_insiders[].insider | string | yes | Reporting-person name. |
| top_insiders[].ticker | string | yes | Issuer ticker (when an insider buys at multiple issuers, each `(insider, ticker)` pair is a distinct row). |
| top_insiders[].total_value | number | no | Total USD purchase value attributed to this `(insider, ticker)` pair. |
| recent_clusters | array | no | Top-5 cluster signals — tickers where >1 distinct beneficial owners executed BUYS in the window. Sorted by `total_value DESC`. Uses canonical-owner dedup (multiple LLC/trust vehicles of the same person count as one). |
| recent_clusters[].ticker | string | yes | Issuer ticker exhibiting cluster activity. |
| recent_clusters[].insiders | integer | no | Distinct unique beneficial owners buying in the cluster (always ≥2). |
| recent_clusters[].value | number | no | Aggregate USD value of cluster purchases. |
| recent_clusters[].last_active | string | yes | ISO-8601 UTC timestamp of the most-recent filing in the cluster. |
Sample response
- "period_days": 1
- "volume":
- "buy_volume": 18420000
- "sell_volume": 142865500
- "buy_count": 142
- "sell_count": 287
- "top_tickers":
- "recent_large_tx":
- "daily_trend":
- "top_insiders":
- "recent_clusters":
Errors
| Status | Label | Description |
|---|---|---|
| 200 | OK | Request succeeded. |
| 400 | Bad Request | Invalid query, body, or path parameter. |
| 401 | Unauthorized | Missing or invalid Authorization header / api_Token. |
| 402 | Payment Required | Insufficient token balance for this call. Top up |
| 429 | Too Many Requests | Rate limit exceeded for your tier (see /pricing for tier limits). Tier limits |
| 500 | Server Error | Unexpected server-side failure. Retry with backoff; report if persistent. |
Code samples
curl "https://api.finradar.ai/insider-module/api/insiders/stats/global?api_Token=YOUR_API_KEY" \
-H "Authorization: Bearer YOUR_JWT_TOKEN"Generate an API key in /account/credentials to run live queries (literal YOUR_API_KEY placeholder shown until then).