---
title: "News feed archive — paginated 30-day history (public, MCP-compatible)"
method: GET
path: "/api/public/feed-archive"
---

# News feed archive — paginated 30-day history (public, MCP-compatible)

`GET /api/public/feed-archive`

## Request

- Base URL: `https://cryptowhaleinsights.com`
- URL: `https://cryptowhaleinsights.com/api/public/feed-archive`
- Auth: none declared

Returns a paginated archive of crypto news articles, analysis, and AI-generated summaries from the CryptoWhaleInsights feed, covering the last 30 days. Whale movement events are excluded — use /api/public/whale-movements for on-chain flow data. AI agents can use this to read the latest crypto news, market analysis, and AI-generated summaries without any credentials. Optional type filter: news (RSS articles), ai (AI-generated summaries), manual (analyst notes). Default: all non-whale-move items. Optional keyword search: q (max 100 chars) filters by token name or keyword — case-insensitive match on title and summary (e.g. q=ETH returns only ETH-related items). Pagination: page (1-indexed, default 1), pageSize fixed at 20. period filter: 7d | 30d (default 30d — maximum public window). Response: { items[], total, page, pageSize, hasMore, updatedAt }. Each item: id (number), title (string), summary (string), source (string — feed source name e.g. 'CoinDesk'), url (string|null), publishedAt (ISO-8601|null), type ('news_summary'|'ai_insights'|'analysis'). No authentication required. 60 requests/min rate limit.

## Query parameters

- `page` integer
- `type` 'news' | 'ai' | 'manual' | 'all'
- `period` '7d' | '30d'
- `q` string

## Response `200`

Paginated news feed archive (30-day public window, no auth).

- object
  - `items` object[]: News articles and analysis items in reverse-chronological order.
    - `id` number: Unique feed item row ID
    - `title` string: Article or summary title
    - `summary` string: Article summary or AI-generated digest
    - `source` string: Feed source name, e.g. 'CoinDesk', 'CoinTelegraph'
    - `url` string, nullable: Original article URL, if available
    - `publishedAt` string, date-time, nullable: Publication timestamp
    - `type` string: 'news_summary' | 'ai_insights' | 'analysis'
  - `total` number: Total matching articles in the window
  - `page` number: Current page (1-indexed)
  - `pageSize` number: Fixed at 20 records per page
  - `hasMore` boolean: Whether more pages are available
  - `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)
