> ## Documentation Index
> Fetch the complete documentation index at: https://monitoryt.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Fetch feed events

> Filter and page through the authenticated account's activity feed.

`POST /api/public/feed` returns the authenticated Pro account's feed, newest first.
It uses a JSON request body and Bearer authentication.

## Request body

| Field        | Type             | Required | Description                                                                    |
| ------------ | ---------------- | -------- | ------------------------------------------------------------------------------ |
| `cursor`     | string or `null` | No       | The 24-character `nextCursor` from the previous response.                      |
| `limit`      | integer          | No       | Events per page, from 1 to 200. Defaults to 50.                                |
| `types`      | string\[]        | No       | Up to 100 [event type values](/events-api). Empty or omitted means all types.  |
| `channelIds` | string\[]        | No       | Up to 100 Monitor YT channel IDs. Empty or omitted means all tracked channels. |

`channelIds` uses `channel.id` from a feed response, not YouTube's
`channel.youtubeChannelId` value.

```bash theme={null}
curl -H "Authorization: Bearer $MONITOR_YT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "limit": 50,
    "types": ["video_published", "thumbnail_changed"],
    "channelIds": ["665f21c09b1d8a4f30aa5678"]
  }' \
  "https://monitoryt.com/api/public/feed"
```

## Response

| Field        | Type             | Description                                           |
| ------------ | ---------------- | ----------------------------------------------------- |
| `events`     | object\[]        | Feed events in reverse chronological order.           |
| `nextCursor` | string or `null` | Cursor for the next older page, or `null` at the end. |

Every event has `id`, `type`, `createdAt`, and `channel`. Video event fields vary
by type. See [API event objects](/events-api) for the complete discriminated union.

## Filter behavior

Values within one filter array use OR semantics. When both `types` and
`channelIds` are present, they use AND semantics with each other.

For example, two types and three channels means “either selected type, from any of
the three selected channels.”

## Retention

The endpoint respects the account's history window. Public API access requires Pro,
so it currently returns up to the Pro plan's 60 days of available feed history.
