YouTube transcript API for agents. Pays only on delivered transcript: no captions or dead video = HTTP 404 = no charge. Reliable at 1,000 videos/day. JSON/text/SRT with timestamps.
Two tools with clear verb-noun naming (get_transcript, get_video_metadata) and reasonable descriptions (60-80 chars). Both have documented input schemas with types and descriptions. However, output schemas are completely undocumented, tools return plain text or unstructured JSON without field definitions. Parameter descriptions lack format constraints and validation guidance. No error handling documentation or recovery guidance. Missing tool annotations (readOnlyHint present in risk field but not in schema). Descriptions are functional but minimal; they lack WHEN to use guidance and dependency hints.
YouTube transcript by URL or video id. format: text|json|srt. Costs $0.005 USDC via x402, charged ONLY on a delivered transcript.
YouTube video metadata (title, channel, duration, caption languages). Costs $0.002 USDC via x402.
Output schemas completely undocumented. Both tools return plain text or JSON without field definitions. LLMs cannot plan downstream operations or extract structured data reliably.
Parameter descriptions lack format constraints and validation rules. 'format' param accepts 'text|json|srt' but description does not specify these as the ONLY valid values (should be enum). 'lang' defaults to 'en' but no guidance on valid language codes or format.
Error handling provides no recovery guidance. Code returns 'error {status}: {text[:300]}' as plain string. LLMs cannot distinguish retryable errors (timeout, rate limit) from user-fixable errors (invalid video ID) from fatal errors (service down).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Tool descriptions lack WHEN-to-use guidance and prerequisites. No mention that transcripts require captions to exist, or that some videos may be unavailable. No dependency hints (e.g., 'Call get_video_metadata first to check if captions exist').
Tool annotations missing from schema. Risk field in metadata shows 'READ_ONLY' but this is not expressed as readOnlyHint in the tool schema. Agents cannot infer safety/idempotency from the definition alone.