> **For coding agents and LLMs:** This is one Social Fetch marketing page (markdown export). For API orientation start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for auth and crawl rules use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for every operation use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt).

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/platforms/discord/announcements-index>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/discord/announcements-index.mdx>

---

# Discord Announcement Index API

Announcement channel and post ids as paged JSON, for walks without a seed channel.

`GET /v1/discord/announcements/index` returns `entries`, 500 URLs a page. Each entry has `type` (`channel` or `post`), `channelId`, `messageId` for a post and the catalogue's `lastModified`. Feed a channel id into `GET /v1/discord/announcement-channels/{channelId}`, or a channel id and message id into the post route.

The walk stops at 10 pages; `limitReached` is true when the catalogue still has URLs past the last page.

## Request

- **Endpoint:** `GET /v1/discord/announcements/index`
- **Credits:** 1 credit
Failed requests are free
- **Input:** by page
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/discord/announcements/index/get)
- **Platform page:** [/platforms/discord](https://www.socialfetch.dev/platforms/discord)

## FAQ

### What is the difference between a channel and a post entry?

A channel entry has messageId null and points at the channel page. A post entry carries the messageId for the single-post route.

### Why is there a lastModified field?

It is the date the announcement catalogue lists for that URL. Use it to skip posts you already stored instead of reading every page again.

### How many credits does an index page cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged: that field is the billing source of truth.
