ToolAssay

YouTube captions

YouTube captions: timestamped text and video metadata. Use when an agent needs a public YouTube video's captions as text and timed segments.

Answeringour last check, 2026-11-04
3 of 3checks answered this week
186 msmedian answer time
$0.003listed price per call
$0.003price it asked us

Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.

Endpoint

POST https://tanod.dev/v1/youtube/transcript

CategoryImage and media
Provider hosttanod.dev
Networkseip155:137, eip155:42161, eip155:56, eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
Payment schemesexact
Self-reported calls, 30 days1 from 1 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
2026-11-04 valid payment request 402$0.003 208 ms
2026-11-03 valid payment request 402$0.003 186 ms
2026-11-02 valid payment request 402$0.003 184 ms

Example input (from the provider)

{
  "body": {
    "url": "https://www.youtube.com/watch?v=jNQXAC9IVRw"
  },
  "bodyType": "json",
  "method": "POST",
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "additionalProperties": false,
          "properties": {
            "chapters": {
              "default": false,
              "description": "Add short AI-generated chapters; higher price.",
              "type": "boolean"
            },
            "language": {
              "anyOf": [
                {
                  "pattern": "^[a-zA-Z]{2,3}(?:-[a-zA-Z0-9]{2,8})?$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "description": "Exact caption language; omitted: prefer manual, then English."
            },
            "url": {
              "description": "Public YouTube video https URL. Captions only; no media download.",
              "maxLength": 2048,
              "type": "string"
            }
          },
          "required": [
            "url"
          ],
          "type": "object"
        },
        "bodyType": {
          "enum": [
            "json",
            "form-data",
            "text"
          ],
          "type": "string"
        },
        "method": {
          "enum": [
            "POST"
          ],
          "type": "string"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method",
        "bodyType",
        "body"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "description": "Abridged to fit the header. Full example: the 402 JSON body. Full schema: https://tanod.dev/openapi.json POST /v1/youtube/transcript",
          "properties": {
            "chapters": {
              "type": "array"
            },
            "generated": {
              "type": "boolean"
            },
            "language": {
              "type": "string"
            },
            "languages": {
              "type": "array"
            },
            "operation": {
              "type": "string"
            },
            "segments": {
              "type": "array"
            },
            "text": {
              "type": "string"
            },
            "untrusted_content": {
              "type": "boolean"
            },
            "video": {
              "type": "object"
            }
          },
          "required": [
            "operation",
            "video",
            "text",
            "segments",
            "language",
            "generated",
            "languages",
            "untrusted_content"
          ],
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}

This page as JSON