API Free WeekHundreds of APIs are free to call this week.Browse free APIs

Agent Body YouTube Transcript

https://api.sandbase.ai/v1/api/agentbody/youtube-transcript

Extracts text and timed segments from YouTube manual or automatic subtitle tracks. Allows language selection for multilingual videos.

Price
Free
Method
POST
Response
JSON
Parameters
1 required · 1 optional
Production route

Try the model

Playground

Open playground
Input
The YouTube video URL to extract subtitles from.
Requested subtitle language code (e.g. en, zh, ja). If omitted, returns the default track.
OutputExample
Responseoutputs · 8.6 KB · 313 lines
{
  "caption_type": "manual",
  "language": "en",
  "segments": [
    {
      "end_ms": 3040,
      "start_ms": 1360,
      "text": "[♪♪♪]"
    },
    {
      "end_ms": 21880,
      "start_ms": 18640,
      "text": "♪ We're no strangers to love ♪"
    },
    {
      "end_ms": 26960,
      "start_ms": 22640,
      "text": "You know the rules and so do I ♪"
    },
    {
      "end_ms": 31040,
      "start_ms": 27040,
      "text": "A full commitment's what I'm thinking of ♪"
    },
    {
      "end_ms": 35080,
      "start_ms": 31120,
      "text": "You wouldn't get this from any other guy ♪"
    },
    {
      "end_ms": 39520,
      "start_ms": 35160,
      "text": "I just wanna tell you how I'm feeling ♪"
    },
    {
      "end_ms": 42920,
      "start_ms": 40520,
      "text": "Gotta make you understand ♪"
    },
    {
      "end_ms": 45120,
      "start_ms": 43000,
      "text": "Never gonna give you up ♪"
    },
    {
      "end_ms": 47080,
      "start_ms": 45200,
      "text": "Never gonna let you down ♪"
    },
    {
      "end_ms": 51120,
      "start_ms": 47320,
      "text": "Never gonna run around and desert you ♪"
    },
    {
      "end_ms": 53480,
      "start_ms": 51480,
      "text": "Never gonna make you cry ♪"
    },
    {
      "end_ms": 55520,
      "start_ms": 53600,
      "text": "Never gonna say goodbye ♪"
    },
    {
      "end_ms": 59360,
      "start_ms": 55720,
      "text": "Never gonna tell a lie and hurt you ♪"
    },
    {
      "end_ms": 64800,
      "start_ms": 60800,
      "text": "We've known each other for so long ♪"
    },
    {
      "end_ms": 69040,
      "start_ms": 64880,
      "text": "Your heart's been aching but you're too shy to say it ♪"
    },
    {
      "end_ms": 72960,
      "start_ms": 69120,
      "text": "Inside we both know what's been going ♪"
    },
    {
      "end_ms": 77200,
      "start_ms": 73360,
      "text": "We know the game and we're gonna play it ♪"
    },
    {
      "end_ms": 82040,
      "start_ms": 77400,
      "text": "And if you ask me how I'm feeling ♪"
    },
    {
      "end_ms": 85240,
      "start_ms": 82400,
      "text": "Don't tell me you're too blind to see ♪"
    },
    {
      "end_ms": 87280,
      "start_ms": 85320,
      "text": "Never gonna give you up ♪"
    },
    {
      "end_ms": 89320,
      "start_ms": 87360,
      "text": "Never gonna let you down ♪"
    },
    {
      "end_ms": 93720,
      "start_ms": 89440,
      "text": "Never gonna run around and desert you ♪"
    },
    {
      "end_ms": 95600,
      "start_ms": 93800,
      "text": "Never gonna make you cry ♪"
    },
    {
      "end_ms": 98000,
      "start_ms": 95760,
      "text": "Never gonna say goodbye ♪"
    },
    {
      "end_ms": 102040,
      "start_ms": 98080,
      "text": "Never gonna tell a lie and hurt you ♪"
    },
    {
      "end_ms": 104120,
      "start_ms": 102200,
      "text": "Never gonna give you up ♪"
    },
    {
      "end_ms": 106360,
      "start_ms": 104280,
      "text": "Never gonna let you down ♪"
    },
    {
      "end_ms": 110080,
      "start_ms": 106480,
      "text": "Never gonna run around and desert you ♪"
    },
    {
      "end_ms": 112720,
      "start_ms": 110760,
      "text": "Never gonna make you cry ♪"
    },
    {
      "end_ms": 114680,
      "start_ms": 112800,
      "text": "Never gonna say goodbye ♪"
    },
    {
      "end_ms": 118760,
      "start_ms": 114960,
      "text": "Never gonna tell a lie and hurt you ♪"
    },
    {
      "end_ms": 122960,
      "start_ms": 119840,
      "text": "(Ooh, give you up) ♪"
    },
    {
      "end_ms": 127360,
      "start_ms": 123720,
      "text": "(Ooh, give you up) ♪"
    },
    {
      "end_ms": 130120,
      "start_ms": 128480,
      "text": "Never gonna give, never gonna give ♪"
    },
    {
      "end_ms": 131560,
      "start_ms": 130240,
      "text": "(Give you up) ♪"
    },
    {
      "end_ms": 134240,
      "start_ms": 132480,
      "text": "Never gonna give, never gonna give ♪"
    },
    {
      "end_ms": 135920,
      "start_ms": 134360,
      "text": "(Give you up) ♪"
    },
    {
      "end_ms": 141080,
      "start_ms": 136760,
      "text": "We've known each other for so long ♪"
    },
    {
      "end_ms": 145200,
      "start_ms": 141200,
      "text": "Your heart's been aching but you're too shy to say it ♪"
    },
    {
      "end_ms": 149120,
      "start_ms": 145280,
      "text": "Inside we both know what's been going ♪"
    },
    {
      "end_ms": 153200,
      "start_ms": 149520,
      "text": "We know the game and we're gonna play it ♪"
    },
    {
      "end_ms": 158040,
      "start_ms": 153360,
      "text": "I just wanna tell you how I'm feeling ♪"
    },
    {
      "end_ms": 161320,
      "start_ms": 158640,
      "text": "Gotta make you understand ♪"
    },
    {
      "end_ms": 163360,
      "start_ms": 161400,
      "text": "Never gonna give you up ♪"
    },
    {
      "end_ms": 165640,
      "start_ms": 163440,
      "text": "Never gonna let you down ♪"
    },
    {
      "end_ms": 169720,
      "start_ms": 165720,
      "text": "Never gonna run around and desert you ♪"
    },
    {
      "end_ms": 171640,
      "start_ms": 169800,
      "text": "Never gonna make you cry ♪"
    },
    {
      "end_ms": 173960,
      "start_ms": 171800,
      "text": "Never gonna say goodbye ♪"
    },
    {
      "end_ms": 177600,
      "start_ms": 174040,
      "text": "Never gonna tell a lie and hurt you ♪"
    },
    {
      "end_ms": 180240,
      "start_ms": 178200,
      "text": "Never gonna give you up ♪"
    },
    {
      "end_ms": 182440,
      "start_ms": 180320,
      "text": "Never gonna let you down ♪"
    },
    {
      "end_ms": 186640,
      "start_ms": 182520,
      "text": "Never gonna run around and desert you ♪"
    },
    {
      "end_ms": 188720,
      "start_ms": 186720,
      "text": "Never gonna make you cry ♪"
    },
    {
      "end_ms": 190720,
      "start_ms": 188840,
      "text": "Never gonna say goodbye ♪"
    },
    {
      "end_ms": 195200,
      "start_ms": 190840,
      "text": "Never gonna tell a lie and hurt you ♪"
    },
    {
      "end_ms": 197120,
      "start_ms": 195280,
      "text": "Never gonna give you up ♪"
    },
    {
      "end_ms": 199240,
      "start_ms": 197200,
      "text": "Never gonna let you down ♪"
    },
    {
      "end_ms": 203120,
      "start_ms": 199400,
      "text": "Never gonna run around and desert you ♪"
    },
    {
      "end_ms": 205600,
      "start_ms": 203360,
      "text": "Never gonna make you cry ♪"
    },
    {

Examples

Select an example to load its inputs and result into the playground.

Model card

Specifications

Pricing

Base price
Free

Request & response

Method
POST
Request body
application/json
Response
application/json
Execution
sync

Parameters

url
string · required
language
string · optional

Access

Provider
Agent Body
API
Platform API
Base URL
https://api.sandbase.ai
Endpoint
/v1/api/agentbody/youtube-transcript
Authentication
Bearer API key

API README

Agent Body YouTube Transcript API

Retrieve subtitle text and timed segments for any video by providing a YouTube url. An optional language parameter selects a specific subtitle track.

Use cases

  • Extract timestamped transcripts from YouTube videos for summarization workflows.
  • Retrieve multilingual subtitles by specifying a target language code.
  • Parse video dialogue for keyword search and content analysis.

Request

curl -X POST "https://api.sandbase.ai/v1/api/agentbody/youtube-transcript" \
  -H "Authorization: Bearer $SANDBASE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "<url>"}'

Parameters

NameTypeRequiredDescription
urlstringYesThe YouTube video URL to extract subtitles from.
languagestringNoRequested subtitle language code (e.g. en, zh, ja).

Notes

  • Provide the target subtitle language using code values such as en, zh, or ja via language.
  • If language is omitted, the default track is returned.

Start building

Send your first request

Platform API endpoint with unified authentication and usage tracking.

Production API
Platform API endpoint
https://api.sandbase.ai/v1/api/agentbody/youtube-transcript
Authorization header
Authorization: Bearer $SANDBASE_API_KEY
# The quoted heredoc keeps Unicode and shell metacharacters unchanged.
result=$(curl --fail-with-body --silent \
  -X POST "https://api.sandbase.ai/v1/api/agentbody/youtube-transcript" \
  -H "Authorization: Bearer $SANDBASE_API_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'SANDBASE_JSON'
{
  "url": "https://static.sandbase.ai/examples/d9a902af-55e3-4d3b-a6c9-f2bc40d8606a/input/74c0db98-4ceb-4ade-88ba-0972b8dc6437.bin"
}
SANDBASE_JSON
)
printf '%s\n' "$result"

Explore more

Related APIs

All APIs
APIPriceResponseReleased
Agent BodyFreeJSONJan 1, 2025
Agent BodyFreeJSONJan 1, 2025
Agent BodyFreeJSONJan 1, 2025
Agent BodyFreeJSONJan 1, 2025
Agent BodyFreeJSONJan 1, 2025
Agent BodyFreeJSONJan 1, 2025

Questions

FAQ

How do I use the Agent Body YouTube Transcript API?

Send a POST request to https://api.sandbase.ai/v1/api/agentbody/youtube-transcript with your SandBase API key in the Authorization header (Bearer) and the parameters as a JSON body. You can also try it in the Playground on this page without writing code.

How much does the Agent Body YouTube Transcript API cost?

Agent Body YouTube Transcript is free to call on SandBase. You only need a SandBase account and API key.

What parameters does the Agent Body YouTube Transcript API accept?

Required: url (string). Optional: language (string). The Parameters table and the Playground on this page list every field.

What does the Agent Body YouTube Transcript API return?

A JSON response returned in the same HTTP request (synchronous).

Do I need a Agent Body developer account or API key?

No. Agent Body YouTube Transcript runs through SandBase, so one SandBase API key covers this endpoint and every other API and model in the catalog. You do not need to apply for Agent Body API access separately.