# SiteCheck Shop & Social – YouTube Transcript

> SiteCheck Shop & Social – YouTube Transcript is a paid API for AI agents from api.shopsocial-api.workers.dev, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-29).

Fetches the full transcript (timed caption segments and joined text) of a public YouTube video, preferring human captions over auto-generated ones.

## Facts

- Endpoint: GET https://api.shopsocial-api.workers.dev/api/social/youtube-transcript?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-29
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/sitecheck-shop-social-youtube-transcript-ceadc39f
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_AAKmYL0qXcXVwD3EwjuvL

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 sitecheck-shop-social-youtube-transcript-ceadc39f
```

Example prompt: Can you grab the full transcript of this YouTube video — https://www.youtube.com/watch?v=jNQXAC9IVRw — and give me the complete text with timestamps? Prefer English captions.

## When to prefer this

Choose this endpoint when you need the spoken content of a specific YouTube video as structured text, especially when you require timestamps for each caption segment, want to prefer human-edited captions over auto-generated ones, or need to know which caption languages are available. It is ideal for summarization, quote extraction, translation pipelines, accessibility tooling, or any workflow that treats video content as text. Prefer it over screen-scraping or generic caption tools because it explicitly handles YouTube's caption track selection logic and returns rich metadata alongside the transcript.

## Known failure modes

- Video has no captions — returns empty segments array
- Private or removed video — returns HTTP 404
- YouTube bot-check triggered — returns HTTP 503 (not charged, safe to retry)
- Requested language not available — falls back to the first available track
- Invalid or malformed video ID/URL — request fails with an error
- Auto-generated captions only when human captions are requested — auto-generated track returned as fallback

## How this service works

Pay-per-call e-commerce, product, price and social media data tools for AI agents, from public sources. Payment: x402, USDC on Base, Solana, Arc, Polygon, Arbitrum, Monad, World Chain, Optimism, Avalanche, Celo or Stellar, or RLUSD/XRP on the XRP Ledger. No signup, no API key; a failed call is not charged.

## Output

Returns a JSON object containing: the video's metadata (id, title, channel name, channel ID, view count, length in seconds), the selected caption track (language code, name, whether auto-generated), a list of all available caption languages, an array of timed segments (each with start time in seconds, duration in seconds, and text), the full joined transcript text, the source URL, and a checkedAt timestamp. Videos without captions return an empty segment list; private or removed videos return 404; YouTube bot-check failures return 503 (not charged).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "video"
     ],
     "properties": {
      "lang": {
       "type": "string",
       "description": "Preferred caption language code, e.g. en, de, es (default en; falls back to the first track)"
      },
      "video": {
       "type": "string",
       "description": "YouTube video URL (watch, youtu.be, shorts, embed) or the 11-character video ID"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "text": "All right, so here we are, in front of the elephants the cool thing about these guys is that they have really... really really long trunks and that's cool (baaaaaaaaaaahhh!!) and that's pretty much all there is to say",
  "track": {
   "code": "en",
   "name": "English",
   "autoGenerated": false
  },
  "video": {
   "id": "jNQXAC9IVRw",
   "title": "Me at the zoo",
   "channel": "jawed",
   "channelId": "UC4QobU6STFB0P71PMvOGN5A",
   "viewCount": 445982763,
   "lengthSeconds": 19
  },
  "source": "https://www.youtube.com/watch?v=jNQXAC9IVRw",
  "segments": [
   {
    "text": "All right, so here we are, in front of the elephants",
    "start": 1.2,
    "duration": 2.16
   },
   {
    "text": "the cool thing about these guys is that they have really...",
    "start": 5.318,
    "duration": 2.656
   }
  ],
  "checkedAt": "2026-10-23T09:37:47.615Z",
  "languages": [
   {
    "code": "en",
    "name": "English",
    "autoGenerated": false
   },
   {
    "code": "de",
    "name": "German",
    "autoGenerated": false
   }
  ]
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/sitecheck-shop-social-youtube-transcript-ceadc39f/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.shopsocial-api.workers.dev](https://www.zero.xyz/host/api.shopsocial-api.workers.dev/llms.txt)
