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

# Monitor a source

> Add a source, sync its content, and list its videos.

The starting point of everything is an **item** — a source you want to monitor.

## 1. Add the item

Post a URL or handle. The API resolves it and creates the item (idempotent per
source, so re-posting the same source returns the existing item):

```bash theme={null}
curl -X POST https://api.clipping.cc/v1/items \
  -H "Authorization: Bearer ck_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "source": "https://youtube.com/@channel" }'
```

```json theme={null}
{ "item": { "item_id": "itm_…", "type": "youtube_channel", "name": "…" } }
```

The `type` is detected from the source: a channel URL → `youtube_channel`, a
video URL → `youtube_video`, an RSS feed → `rss`, etc.

## 2. Sync a channel's videos

A `youtube_channel` item fetches its videos one page at a time. Trigger a page
sync (channels only) and pass the returned cursor to `after` for the next page:

```bash theme={null}
curl -X POST "https://api.clipping.cc/v1/items/itm_123/sync" \
  -H "Authorization: Bearer ck_live_…"
```

<Note>
  Syncing calls the YouTube API — its real cost is passed through to you. You
  usually don't need to sync by hand: a [schedule](/en/guides/schedule-runs)
  syncs the channels in its collections before each run.
</Note>

## 3. List the videos

```bash theme={null}
# all videos across your items
curl "https://api.clipping.cc/v1/videos?limit=50" \
  -H "Authorization: Bearer ck_live_…"

# just one channel's videos
curl "https://api.clipping.cc/v1/videos?item_id=itm_123" \
  -H "Authorization: Bearer ck_live_…"
```

Each video carries its `video_id`, title, thumbnail URL, the collections it
belongs to, and `viewer_item_id` (your catalogued item for it, if any).

## 4. Inspect the item

`GET /v1/items/{id}` returns the item with its collections and (for videos) the
source channel. List everything you monitor with `GET /v1/items` (filter by
`?type=youtube_channel`).

## Next

<CardGroup cols={2}>
  <Card title="Transcribe" icon="closed-captioning" href="/en/guides/transcribe">
    Turn a video into searchable text.
  </Card>

  <Card title="Build a reporter" icon="robot" href="/en/guides/build-a-reporter">
    Analyze new videos automatically.
  </Card>
</CardGroup>
