[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"api-page:tuberelay":3},{"status":4,"api":5,"seo":234},"success",{"blocked":6,"description":7,"about":8,"stats":9,"name":11,"title":12,"slug":13,"logo":14,"created_at":15,"agent":16,"user":28,"endpoint_groups":31,"faqs":173,"features":180,"periodic_plans":181,"payasyougo_plans":232,"releases":233,"last_updated":18},false,"Stream YouTube videos effortlessly — secure temporary URLs, no file size limits, and seamless server-side processing.","TubeRelay is a powerful and secure API for streaming YouTube content. Unlike traditional download APIs, TubeRelay generates temporary streaming URLs that expire after 5 minutes, protecting your content and ensuring secure access.\n\nNo more dealing with 50MB file limits, client-side conversion tools, or complicated setups. TubeRelay handles everything server-side — just request a stream and play it directly.\n\nBuilt with global accessibility in mind, TubeRelay works reliably from anywhere, giving you access to the content you need without restrictions.\n\nKey Features:\n• Secure temporary streaming URLs (auto-expire after 5 minutes)\n• No file size limits — stream videos of any length\n• Server-side processing — no client-side software required\n• Global access — works from any location\n• Intelligent error handling with automatic failover\n\nUse Cases:\n• Build streaming apps without hosting video files\n• Integrate YouTube playback into your platform\n• Create secure, expiring links for content delivery\n• Access content reliably from anywhere in the world\n\nEndpoints:\n• /stream-url — Generate a secure temporary streaming URL\n• /info — Get detailed video metadata\n• /search — Search YouTube videos by query",{"score":10},"2.42","TubeRelay","TubeRelay API","tuberelay","https://cdn.jojapi.com/api/4460358b-e424-455e-96c2-56c9d9cf9b18","2026-08-31 13:45:46",{"enabled":17,"closed":18,"request_enabled":6,"catalog_url":19,"discovery_url":20,"directory_url":21,"rails":22,"networks":25,"docs":27},true,null,"https://jojapi.jojapi.net/_jojapi/agent/plans","https://jojapi.jojapi.net/.well-known/x402","https://agents.jojapi.net/apis/tuberelay",[23,24],"x402","mpp",[26],"eip155:8453","https://docs.jojapi.com/consumers/agents",{"nick":29,"name":30,"verified":6,"website":18},"ahmed-ayyad","Ahmed Ayyad",[32],{"endpoints":33,"name":172,"description":40,"ungrouped":17},[34,88,125],{"blocked":6,"hidden":6,"agent_price":18,"credits":18,"flexible_credits_description":18,"consumptions":35,"description":42,"method":43,"name":44,"url_path":44,"root_url":45,"parameters":46,"responses":61,"result_stats":84},[36],{"name":37,"slug":38,"cost":39,"label":40,"avg":41},"Requests","requests","1","",1,"Fetch detailed metadata for a YouTube video including title, duration, thumbnail, channel, views, and description.","GET","/info","https://jojapi.jojapi.net",{"url":47,"header":52,"post":58,"body":59,"path":60},[48],{"key":49,"example":40,"schema":18,"example_disabled":6,"example_type":50,"value_type":50,"enum_values":18,"default_value":40,"required":17,"name":40,"description":51},"video_id","string","YouTube video ID (11-12 characters)",[53],{"key":54,"is_auth":17,"example":55,"example_disabled":17,"example_type":50,"name":56,"description":55,"required":17,"always_error":57},"X-JoJAPI-Key","You must log in to get API key","JoJ API Key","Please log in to get API key",[],[],[],[62,71,78],{"status":63,"status_code":64,"description":65,"schema":66,"examples":67,"example":70},"200",200,"OK — video metadata returned","{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"YouTube video ID\"},\"title\":{\"type\":\"string\",\"description\":\"Video title\"},\"duration\":{\"type\":\"integer\",\"description\":\"Duration in seconds\"},\"duration_string\":{\"type\":\"string\",\"description\":\"Formatted duration (e.g. 3:33)\"},\"thumbnail\":{\"type\":\"string\",\"description\":\"Video thumbnail URL\"},\"channel\":{\"type\":\"string\",\"description\":\"Channel name\"},\"channel_id\":{\"type\":\"string\",\"description\":\"Channel ID\"},\"views\":{\"type\":\"integer\",\"description\":\"View count\"},\"views_text\":{\"type\":\"string\",\"description\":\"Formatted view count (e.g. 1.8B views)\"},\"is_live\":{\"type\":\"boolean\",\"description\":\"Whether the video is a live stream\"},\"description\":{\"type\":\"string\",\"description\":\"Video description\"},\"keywords\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"Video keywords\\/tags\"}}}",[68],{"name":69,"summary":40,"description":40,"example":70},"Example_1","{\"id\":\"\",\"title\":\"\",\"duration\":0,\"duration_string\":\"\",\"thumbnail\":\"\",\"channel\":\"\",\"channel_id\":\"\",\"views\":0,\"views_text\":\"\",\"is_live\":true,\"description\":\"\",\"keywords\":[]}",{"status":72,"status_code":73,"description":74,"schema":18,"examples":75,"example":77},"400",400,"Bad request — missing or invalid video_id",[76],{"name":69,"summary":40,"description":40,"example":77},"{}",{"status":79,"status_code":80,"description":81,"schema":18,"examples":82,"example":77},"404",404,"Video not found",[83],{"name":69,"summary":40,"description":40,"example":77},{"x2":85,"x3":86,"x4":86,"x5":86,"uptime":85,"avg_latency":87,"avg_credits":86},"100.00","0.00","1,359",{"blocked":6,"hidden":6,"agent_price":18,"credits":18,"flexible_credits_description":18,"consumptions":89,"description":92,"method":43,"name":93,"url_path":93,"root_url":45,"parameters":94,"responses":109,"result_stats":120},[90],{"name":37,"slug":38,"cost":39,"label":40,"avg":91},0.67,"Search YouTube for videos or resolve a YouTube URL to video metadata. Returns a list of matching videos.","/search",{"url":95,"header":104,"post":106,"body":107,"path":108},[96,99],{"key":97,"example":40,"schema":18,"example_disabled":6,"example_type":50,"value_type":50,"enum_values":18,"default_value":40,"required":17,"name":40,"description":98},"query","Search text or a YouTube URL",{"key":100,"example":101,"schema":18,"example_disabled":6,"example_type":50,"value_type":102,"enum_values":18,"default_value":101,"required":6,"name":40,"description":103},"limit","10","number","Maximum results to return (1-50)",[105],{"key":54,"is_auth":17,"example":55,"example_disabled":17,"example_type":50,"name":56,"description":55,"required":17,"always_error":57},[],[],[],[110,116],{"status":63,"status_code":64,"description":111,"schema":112,"examples":113,"example":115},"OK — search results returned","{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"YouTube video ID\"},\"title\":{\"type\":\"string\",\"description\":\"Video title\"},\"url\":{\"type\":\"string\",\"description\":\"YouTube video URL\"},\"duration\":{\"type\":\"integer\",\"description\":\"Duration in seconds\"},\"duration_string\":{\"type\":\"string\",\"description\":\"Formatted duration\"},\"thumbnail\":{\"type\":\"string\",\"description\":\"Video thumbnail URL\"},\"channel\":{\"type\":\"string\",\"description\":\"Channel name\"},\"views\":{\"type\":\"integer\",\"description\":\"View count\"},\"views_text\":{\"type\":\"string\",\"description\":\"Formatted view count\"},\"is_live\":{\"type\":\"boolean\",\"description\":\"Whether the video is a live stream\"},\"published\":{\"type\":\"string\",\"description\":\"How long ago the video was published\"}}}}",[114],{"name":69,"summary":40,"description":40,"example":115},"[{\"id\":\"\",\"title\":\"\",\"url\":\"\",\"duration\":0,\"duration_string\":\"\",\"thumbnail\":\"\",\"channel\":\"\",\"views\":0,\"views_text\":\"\",\"is_live\":true,\"published\":\"\"}]",{"status":72,"status_code":73,"description":117,"schema":18,"examples":118,"example":77},"Bad request — missing query",[119],{"name":69,"summary":40,"description":40,"example":77},{"x2":121,"x3":86,"x4":121,"x5":122,"uptime":123,"avg_latency":124,"avg_credits":86},"33.33","33.34","66.66","436",{"blocked":6,"hidden":6,"agent_price":18,"credits":18,"flexible_credits_description":18,"consumptions":126,"description":128,"method":43,"name":129,"url_path":129,"root_url":45,"parameters":130,"responses":149,"result_stats":170},[127],{"name":37,"slug":38,"cost":39,"label":40,"avg":41},"Returns a time-limited streaming URL (valid for 5 minutes). The returned URL streams the video directly without exposing your API key.","/stream-url",{"url":131,"header":144,"post":146,"body":147,"path":148},[132,136,143],{"key":133,"example":134,"schema":18,"example_disabled":6,"example_type":50,"value_type":50,"enum_values":18,"default_value":134,"required":6,"name":40,"description":135},"quality","best","Quality: best, worst, 128k (audio only), 720p (video)",{"key":137,"example":40,"schema":18,"example_disabled":6,"example_type":50,"value_type":138,"enum_values":139,"default_value":140,"required":6,"name":40,"description":142},"type","enum",[140,141],"audio","video","Stream type: audio or video",{"key":49,"example":40,"schema":18,"example_disabled":6,"example_type":50,"value_type":50,"enum_values":18,"default_value":40,"required":17,"name":40,"description":51},[145],{"key":54,"is_auth":17,"example":55,"example_disabled":17,"example_type":50,"name":56,"description":55,"required":17,"always_error":57},[],[],[],[150,156,160,164],{"status":63,"status_code":64,"description":151,"schema":152,"examples":153,"example":155},"OK — temporary streaming URL generated","{\"type\":\"object\",\"properties\":{\"url\":{\"type\":\"string\",\"description\":\"Temporary streaming URL (valid for 5 minutes)\"},\"expires_in\":{\"type\":\"integer\",\"description\":\"Token TTL in seconds\"}}}",[154],{"name":69,"summary":40,"description":40,"example":155},"{\"url\":\"\",\"expires_in\":300}",{"status":72,"status_code":73,"description":157,"schema":18,"examples":158,"example":77},"Bad request — missing or invalid parameters",[159],{"name":69,"summary":40,"description":40,"example":77},{"status":79,"status_code":80,"description":161,"schema":18,"examples":162,"example":77},"Video not found or streaming token expired",[163],{"name":69,"summary":40,"description":40,"example":77},{"status":165,"status_code":166,"description":167,"schema":18,"examples":168,"example":77},"429",429,"Rate limit exceeded",[169],{"name":69,"summary":40,"description":40,"example":77},{"x2":85,"x3":86,"x4":86,"x5":86,"uptime":85,"avg_latency":171,"avg_credits":86},"368","Ungrouped Endpoints",[174,177],{"question":175,"answer":176},"What features does TubeRelay API support?","TubeRelay API allows you to search videos, download content, stream media, and retrieve detailed video information from YouTube.",{"question":178,"answer":179},"How do I handle errors or failed requests?","The API returns standard HTTP status codes along with detailed JSON error messages to help you diagnose and resolve issues.",[],[182,199,210,221],{"type":183,"slug":184,"blocked":6,"period":185,"currency":186,"pricing":187,"rate_limit":191,"objects":193,"name":197,"display_name":197,"features":198},"periodic","h8j2sh12q3vgo078x6mcb0w2","1 MONTH","usd",{"price":188,"credits":188,"past_due_timeout_num":189,"past_due_timeout_type":190},0,3,"DAY",{"max_requests":192,"time_window":41},2,[194],{"id":195,"name":37,"slug":38,"quota":196,"tiers":18},"n308af724",50,"BASIC",[],{"type":183,"slug":200,"blocked":6,"period":185,"currency":186,"pricing":201,"rate_limit":203,"objects":205,"name":208,"display_name":208,"features":209},"oyb4kkna3h1e10y3p9q0lqsr",{"price":202,"credits":188,"past_due_timeout_num":189,"past_due_timeout_type":190},6.99,{"max_requests":204,"time_window":41},5,[206],{"id":195,"name":37,"slug":38,"quota":207,"tiers":18},5000,"PRO",[],{"type":183,"slug":211,"blocked":6,"period":185,"currency":186,"pricing":212,"rate_limit":214,"objects":216,"name":219,"display_name":219,"features":220},"104q6h0n6ungfhv3wjt5ciln",{"price":213,"credits":188,"past_due_timeout_num":189,"past_due_timeout_type":190},14.99,{"max_requests":215,"time_window":41},10,[217],{"id":195,"name":37,"slug":38,"quota":218,"tiers":18},25000,"ULTRA",[],{"type":183,"slug":222,"blocked":6,"period":185,"currency":186,"pricing":223,"rate_limit":225,"objects":227,"name":230,"display_name":230,"features":231},"y05m4j0yfwzenmepd0sk14ty",{"price":224,"credits":188,"past_due_timeout_num":189,"past_due_timeout_type":190},19.99,{"max_requests":226,"time_window":41},20,[228],{"id":195,"name":37,"slug":38,"quota":229,"tiers":18},80000,"MEGA",[],[],[],{"canonical":235,"page_title":236,"meta":237},"https://jojapi.com/hub/api/tuberelay","TubeRelay API Documentation & Playground - JoJ API",{"description":7,"keywords":238},"API,API Documentation,API Playground,Plans & Pricing,TubeRelay,ahmed-ayyad"]