Paste a link
A video link.
List a channel's latest videos. Open any one as a transcript.
A video link.
Each line comes back with its start time.
Copy the text, or save it as .txt or .srt.
Paste a link and get the text. No signup and nothing to install.
Each line keeps its start time.
.txt or .srt.Give an agent the words in a video, with times attached.
Download an .srt file and load it into a player.
Search a talk as text and cite the time.
Start from what was actually said.
1curl -G "https://api.socialscrape.dev/v1/youtube/channel/videos" \2 -H "x-api-key: $SOCIALSCRAPE_API_KEY" \3 --data-urlencode "handle=MrBeast" \4 --data-urlencode "sort=popular"1import os2import requests34params = {5 "handle": "MrBeast",6 "sort": "popular",7}8res = requests.get(9 "https://api.socialscrape.dev/v1/youtube/channel/videos",10 headers={"x-api-key": os.environ["SOCIALSCRAPE_API_KEY"]},11 params=params,12)13body = res.json()1415if body["ok"]:16 print(body["data"])17else:18 print(body["error"]["code"], body["error"]["message"])1const url = new URL("https://api.socialscrape.dev/v1/youtube/channel/videos");2url.search = new URLSearchParams({3 "handle": "MrBeast",4 "sort": "popular"5}).toString();6const res = await fetch(url, {7 headers: { "x-api-key": process.env.SOCIALSCRAPE_API_KEY! },8});9const body = await res.json();1011if (body.ok) {12 console.log(body.data);13} else {14 console.error(body.error.code, body.error.message);15}{ "ok": true, "credits_charged": 1, "credits_remaining": 4999, "cached": false, "cached_at": null, "request_id": "req_6bc2ed2960b876c4d3c230e6", "data": { "object": "list", "items": [ { "object": "post", "platform": "youtube", "id": "0e3GPea1Tyg", "url": "https://www.youtube.com/watch?v=0e3GPea1Tyg", "type": "video", "author": { "id": "UCX6OQ3DkcsbYNE6H8uQQuVA", "handle": "MrBeast", "name": "MrBeast", "url": "https://www.youtube.com/@MrBeast", "avatar_url": null, "verified": null }, "title": "$456,000 Squid Game In Real Life!", "text": null, "published_at": "2022-10-30T00:00:00Z", "duration_seconds": 1542, "language": null, "hashtags": null, "mentions": null, "stats": { "views": 979000000, "likes": null, "comments": null, "shares": null, "saves": null, "dislikes": null }, "media": { "thumbnail_url": "https://i.ytimg.com/vi/0e3GPea1Tyg/mqdefault.jpg", "video_url": null, "audio_url": null, "image_urls": null, "width": null, "height": null }, "song": null, "location": null, "is_pinned": null, "is_sponsored": null, "extra": { "published_at_approximate": true } }, { "object": "post", "platform": "youtube", "id": "1WEAJ-DFkHE", "url": "https://www.youtube.com/watch?v=1WEAJ-DFkHE", "type": "video", "author": { "id": "UCX6OQ3DkcsbYNE6H8uQQuVA", "handle": "MrBeast", "name": "MrBeast", "url": "https://www.youtube.com/@MrBeast", "avatar_url": null, "verified": null }, "title": "$1 vs $500,000 Plane Ticket!", "text": null, "published_at": "2023-10-30T00:00:00Z", "duration_seconds": 631, "language": null, "hashtags": null, "mentions": null, "stats": { "views": 608000000, "likes": null, "comments": null, "shares": null, "saves": null, "dislikes": null }, "media": { "thumbnail_url": "https://i.ytimg.com/vi/1WEAJ-DFkHE/mqdefault.jpg", "video_url": null, "audio_url": null, "image_urls": null, "width": null, "height": null }, "song": null, "location": null, "is_pinned": null, "is_sponsored": null, "extra": { "published_at_approximate": true } } ], "cursor": "o30", "has_more": true, "parent": null }, "cursor": "o30", "has_more": true }
Not in this tool. In the API you list the channel's videos, then request each transcript, or send them in one batch call.
Not here. This lists regular uploads. The API has separate Shorts and live stream endpoints.
Yes. No account and no card. Each visitor gets a limited number of lookups an hour, so it stays free for everyone.
Send GET /v1/youtube/channel/videos with your key in the x-api-key header. A request costs 1 credit. A repeat of something fetched recently costs 0 credits, and failed requests are free. See the reference.