# Watch a channel for new Shorts

**Use case:** 

Run this on a schedule and get only the Shorts that were not returned to you before. It remembers what it has already delivered, so a run where the channel posted nothing returns no rows at all instead of charging you for the same Shorts again. The first run returns what it reads, which is what makes the later runs meaningful.

## Input

```json
{
  "channels": [
    "@MrBeast"
  ],
  "searchQueries": [],
  "shortUrls": [],
  "maxShortsPerSource": 20,
  "maxRecords": 20,
  "exactNumbers": false,
  "minViews": 0,
  "maxLengthSeconds": 0,
  "keywords": [],
  "keywordMatch": "any",
  "excludeKeywords": [],
  "monitoringMode": true,
  "resetMonitoringState": true,
  "maxRequests": 60,
  "useProxy": false
}
```

## Output

```json
{
  "title": {
    "label": "Title",
    "format": "string"
  },
  "viewCountText": {
    "label": "View Count Text",
    "format": "string"
  },
  "viewCount": {
    "label": "View Count",
    "format": "string"
  },
  "viewCountIsExact": {
    "label": "View Count Is Exact",
    "format": "string"
  },
  "publishedAt": {
    "label": "Published At",
    "format": "string"
  },
  "publishedDateText": {
    "label": "Published Date Text",
    "format": "string"
  },
  "channelName": {
    "label": "Channel Name",
    "format": "string"
  },
  "url": {
    "label": "Url",
    "format": "string"
  },
  "source": {
    "label": "Source",
    "format": "string"
  },
  "status": {
    "label": "Status",
    "format": "string"
  },
  "channelInput": {
    "label": "Channel Input",
    "format": "string"
  },
  "query": {
    "label": "Query",
    "format": "string"
  },
  "page": {
    "label": "Page",
    "format": "string"
  },
  "rank": {
    "label": "Rank",
    "format": "string"
  },
  "shortId": {
    "label": "Short Id",
    "format": "string"
  },
  "viewCountApprox": {
    "label": "View Count Approx",
    "format": "string"
  },
  "lengthSeconds": {
    "label": "Length Seconds",
    "format": "string"
  },
  "channelId": {
    "label": "Channel Id",
    "format": "string"
  },
  "channelUrl": {
    "label": "Channel Url",
    "format": "string"
  },
  "channelHandle": {
    "label": "Channel Handle",
    "format": "string"
  },
  "thumbnailUrl": {
    "label": "Thumbnail Url",
    "format": "string"
  },
  "accessibilityText": {
    "label": "Accessibility Text",
    "format": "string"
  },
  "scrapedAt": {
    "label": "Scraped At",
    "format": "string"
  },
  "note": {
    "label": "Note",
    "format": "string"
  }
}
```

## About this Actor

This example demonstrates how to use [YouTube Shorts Scraper - Exact Views, Dates & Channels](https://apify.com/neverempty/youtube-shorts-scraper.md) with a specific input configuration. Visit the [Actor detail page](https://apify.com/neverempty/youtube-shorts-scraper.md) to learn more, explore other use cases, and run it yourself.


## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
This Task's input is already configured above — use it as-is rather than inventing a new one.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For full API examples (JavaScript, Python, CLI, MCP, OpenAPI), see this Task's Actor page: https://apify.com/neverempty/youtube-shorts-scraper.md

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).
