# YouTube Channel Video Scraper (x402)

> YouTube Channel Video Scraper (x402) is a paid API for AI agents from x402.186-241-26-229.sslip.io, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Scrapes structured video metadata (title, views, duration, publish date) from one or more YouTube channels, with filtering by date, sort order, and content type (videos, streams, Shorts).

## Facts

- Endpoint: POST https://x402.186-241-26-229.sslip.io/v1/youtube-channel?utm_source=zero.xyz
- Price: $0.025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/youtube-channel-video-scraper-x402-5a1d00af
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_qlFxuHccOOzhh3amgH-_p

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability youtube-channel-video-scraper-x402-5a1d00af -d '<json body>'
```

Example prompt: Pull the 20 most popular videos from the NASA YouTube channel (@NASA) — I need each video's title, view count, duration, and publish date. Sort by most popular and only include videos from the last 2 years.

## When to prefer this

Choose this endpoint when you need structured video metadata from YouTube channels without setting up your own scraper infrastructure. It's ideal for pay-per-call use cases where you don't want to maintain API quotas (YouTube Data API v3 has strict limits), need Shorts/streams alongside regular videos, or want to filter by date and sort order in a single call. At $0.025 per call with no charge for empty runs, it's cost-effective for sporadic or agent-driven monitoring workflows.

## Known failure modes

- Private or age-restricted channels may return empty results
- Invalid channel URL or handle returns an error or empty items array
- oldestPostDate filtering does not apply to Shorts (no list-page date available)
- includeVideoDetails=true significantly increases latency and may time out for large channels
- Exceeding maxItems cap stops collection early, which may not be obvious to callers
- YouTube rate limiting or anti-bot measures may cause partial or empty results

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

Returns a JSON object with a count and an array of video items, each containing the video ID, URL, title, duration, view count, view count text, and published date. The product field confirms the scraper type ('youtube-channel'). If no videos are found or the run fails, no charge is applied.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "maxItems": {
   "type": "integer",
   "default": 0,
   "minimum": 0,
   "description": "Stop after this many items across all channels. Set to 0 for no global cap."
  },
  "startUrls": {
   "type": "array",
   "description": "Public channel URLs such as https://www.youtube.com/@NASA. Handles, channel IDs, legacy custom and user URLs are accepted."
  },
  "maxResults": {
   "type": "integer",
   "default": 10,
   "minimum": 0,
   "description": "Maximum regular videos to collect from each channel. Set to 0 to skip videos."
  },
  "sortVideosBy": {
   "enum": [
    "NEWEST",
    "POPULAR",
    "OLDEST"
   ],
   "type": "string",
   "default": "NEWEST",
   "description": "Sort each requested channel tab by newest, popular, or oldest."
  },
  "oldestPostDate": {
   "type": "string",
   "default": "",
   "description": "Optional earliest date for videos and streams as YYYY-MM-DD or a relative age such as 30 days. Shorts lack a list-page date and are not filtered."
  },
  "maxResultStreams": {
   "type": "integer",
   "default": 0,
   "minimum": 0,
   "description": "Maximum streams to collect from each channel. Set to 0 to skip streams."
  },
  "maxResultsShorts": {
   "type": "integer",
   "default": 0,
   "minimum": 0,
   "description": "Maximum Shorts to collect from each channel. Set to 0 to skip Shorts."
  },
  "includeVideoDetails": {
   "type": "boolean",
   "default": false,
   "description": "Read each video page for description links, an exact publication date, and a more precise view count. This makes runs slower."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "id": null,
    "url": null,
    "date": null,
    "title": null,
    "duration": null,
    "viewCount": null,
    "publishedAt": null,
    "viewCountText": null
   }
  ],
  "product": "youtube-channel"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/youtube-channel-video-scraper-x402-5a1d00af/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.186-241-26-229.sslip.io](https://www.zero.xyz/host/x402.186-241-26-229.sslip.io/llms.txt)
