---
title: "Get daily narrative/sector history — top crypto market sectors ranked by market cap change %, strength, and token count over up to 90 days"
method: GET
path: "/api/public/narrative-history"
---

# Get daily narrative/sector history — top crypto market sectors ranked by market cap change %, strength, and token count over up to 90 days

`GET /api/public/narrative-history`

## Request

- Base URL: `https://cryptowhaleinsights.com`
- URL: `https://cryptowhaleinsights.com/api/public/narrative-history`
- Auth: none declared

Daily historical narrative strength per market sector (e.g. DeFi, Layer 2, AI, Meme Coins) from CoinGecko Categories. One row per day per sector: market cap change %, strength score (0-100), token count in sector, daily rank, and top tokens. Filter by ?sector= for a single sector trend. Useful for identifying which narratives are accelerating or fading. DB-backed, 5-min cache. Powered by narrative_daily table (365d retention, permanent monthly archive).

## Query parameters

- `days` integer
- `sector` string

## Response `200`

Daily narrative/sector strength history.

- object
  - `days` number
  - `sector` string, nullable: Sector filter applied (null = all sectors).
  - `history` object[]
    - `date` string, date: YYYY-MM-DD snapshot date.
    - `sector` string: Market sector / narrative name (e.g. 'Artificial Intelligence', 'Layer 2', 'DeFi').
    - `marketCapChangePct` number, nullable: 24h market cap change % for the sector.
    - `strength` number, nullable: Composite narrative strength score (0-100).
    - `tokenCount` integer: Number of tokens in this sector.
    - `rank` integer: Sector rank for the day (1 = strongest).
    - `topTokens` string[], nullable: Top token symbols in this sector.
  - `total` number
  - `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)
