---
title: "Social sentiment permanent monthly archive"
method: GET
path: "/api/public/sentiment-monthly"
---

# Social sentiment permanent monthly archive

`GET /api/public/sentiment-monthly`

## Request

- Base URL: `https://cryptowhaleinsights.com`
- URL: `https://cryptowhaleinsights.com/api/public/sentiment-monthly`
- Auth: none declared

Returns the permanent monthly archive of social sentiment per token — one row per token per calendar month, aggregated from daily snapshots before purge. Never deleted; covers 35 tracked tokens. Optional ?symbol=BTC to filter by token. Each row includes: month, symbol, avgScore (0–100), dominantSentiment (bullish/neutral/bearish), daysInMonth. Months with fewer than 20 daily records are excluded. No authentication required. 60 req/min. 5-min cache.

## Query parameters

- `symbol` string

## Response `200`

Monthly archive of social sentiment per token (permanent, never purged).

- object
  - `symbol` string, nullable
  - `months` object[]
    - `month` string, date
    - `symbol` string
    - `avgScore` number
    - `dominantSentiment` string
    - `daysInMonth` integer
  - `total` number
  - `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)
