# YouTube Transcript Scraper API (x402)

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

Fetches structured transcripts and metadata for YouTube videos or channel videos, with optional date filtering and language selection, billed per successful call via x402.

## Facts

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

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-transcript-scraper-api-x402-e434376f -d '<json body>'
```

Example prompt: Grab the full transcript of this YouTube video — https://www.youtube.com/watch?v=dQw4w9WgXcQ — in English, and include both the timed segments and the joined text string.

## When to prefer this

Choose this endpoint when you need structured transcript data from YouTube videos or channels with pay-per-successful-call pricing (no charge for failed/empty runs). It supports bulk channel scraping with date filters, multiple languages, and both single-video and multi-video modes — making it ideal for content analysis, summarization pipelines, or research workflows that need reliable, structured captions at low cost.

## Known failure modes

- Video has no captions available — returns empty items, no charge
- Invalid or private YouTube URL — returns error, no charge
- Channel URL not found or inaccessible — returns empty result
- Language code not available and no fallback found — returns empty transcript
- Rate limit or network issue fetching YouTube data — request fails
- Invalid date format in start_date or end_date — validation error

## 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 of results and an array of items, each containing the video URL, title, video ID, channel ID, channel name, video description, channel username, channel thumbnail, and timed caption segments (plus optionally a joined transcript text string).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "end_date": {
   "type": "string",
   "description": "Inclusive date filter for channel videos, in YYYY-MM-DD format."
  },
  "language": {
   "type": "string",
   "default": "en",
   "description": "Preferred caption language code, such as en, es, or fr. Falls back to another available language."
  },
  "maxItems": {
   "type": "integer",
   "default": 0,
   "minimum": 0,
   "description": "Stop after this many successful video transcripts. Zero means no total cap."
  },
  "max_videos": {
   "type": "integer",
   "default": 10,
   "maximum": 200,
   "minimum": 1,
   "description": "Maximum channel videos to examine, including videos without captions."
  },
  "start_date": {
   "type": "string",
   "description": "Inclusive date filter for channel videos, in YYYY-MM-DD format."
  },
  "video_urls": {
   "type": "array",
   "default": [],
   "description": "Several public video URLs or IDs; leave empty when using a channel."
  },
  "channel_url": {
   "type": "string",
   "description": "Public channel handle, channel ID, custom URL, or user URL."
  },
  "youtube_url": {
   "type": "string",
   "description": "One public video, Short, live replay, or short link."
  },
  "include_transcript_text": {
   "type": "boolean",
   "default": false,
   "description": "Include a single joined text string alongside timed segments."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "url": null,
    "title": null,
    "videoId": null,
    "channelId": null,
    "channelName": null,
    "description": null,
    "channelUsername": null,
    "channelThumbnail": null
   }
  ],
  "product": "youtube-transcript"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/youtube-transcript-scraper-api-x402-e434376f/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)
