YouTube Transcripts API
API 한 번의 호출로 YouTube Transcripts 데이터를 받아 가세요. Batch transcript lookup for LLM corpora. POST a JSON body with an `ids` array of 1–100 BARE 11-character YouTube video ids (full watch URLs are not accepted here — use GET /v1/youtube/video/transcript for a single URL); returns one row per id — the transcript (`format: "text"` joins it into one string; `format: "segments"` returns `[{start_ms, duration_ms, text}]`), the resolved `language`, and a `status` of ok / not_found / error / deferred — in input order. Optional `language` picks a preferred caption track. Per-id isolation: one caption-less or deleted video never fails the batch — a caption-less video is `not_found` with `ext.reason: "no_captions"`, a deleted/unavailable one is `not_found` with `ext.reason: "video_gone"`. Billing is per successful row at 3 credits (the single-transcript registry tier); not_found / errored / deferred rows are refunded, so you pay exactly for the transcripts you got. Never cached. Optionally streams Server-Sent Events when the client sends `Accept: text/event-stream`.
2026년 7월 업데이트
YouTube Transcripts API, 직접 써 보세요
코드 한 줄 짜기 전에, 실제 데이터부터
43개 플랫폼을 한 번에 살펴봐요
Transcripts API로 무엇을 할 수 있을까요
Transcripts 엔드포인트가 통합 스키마와 계산 필드를 담은 YouTube 데이터를 한 번의 요청으로 보내드려요. 스크래핑 인프라를 직접 만들거나 유지할 필요가 없어요.
요청 예시
curl -H "x-api-key: YOUR_API_KEY" \
"https://www.socialcrawl.dev/v1/youtube/transcripts?ids=dQw4w9WgXcQ%2C9bZkp7q19f0"import requests
response = requests.get(
"https://www.socialcrawl.dev/v1/youtube/transcripts",
params={
'ids': 'dQw4w9WgXcQ,9bZkp7q19f0',
},
headers={"x-api-key": "YOUR_API_KEY"},
)
data = response.json()const response = await fetch(
"https://www.socialcrawl.dev/v1/youtube/transcripts?ids=dQw4w9WgXcQ%2C9bZkp7q19f0",
{
headers: { "x-api-key": "YOUR_API_KEY" },
},
);
const data = await response.json();파라미터
| 파라미터 | 필수 | 설명 |
|---|---|---|
| ids | 예 | JSON array of 1–100 BARE YouTube video ids (11 characters each, e.g. 'dQw4w9WgXcQ'). Full watch URLs are not accepted here. |
| language | 아니오 | Preferred caption-track language (2-letter code, e.g. 'en', 'ko'). Falls back to the default track when absent or unavailable. |
| format | 아니오 | `text` (default) returns the whole transcript as one joined string; `segments` returns timestamped `[{start_ms, duration_ms, text}]`. |
YouTube Transcripts API는 무엇을 돌려주나요
모든 응답은 하나의 통합 스키마를 따라요. 크레딧을 쓰기 전에 어떤 필드가 돌아오는지, 실제 응답 본문 그대로 확인해 보세요.
응답 예시 보기
{
"success": true,
"platform": "tiktok",
"endpoint": "/v1/tiktok/post/transcript",
"data": {
"id": "7499229683859426602",
"url": "https://www.tiktok.com/@stoolpresidente/video/7499229683859426602",
"transcript": "WEBVTT\n\n\n00:00:00.180 --> 00:00:01.740\nAlright, pizza review time.\n\n00:00:01.741 --> 00:00:03.701\nSal's Pizza Factory. Oh,\n\n00:00:03.702 --> 00:00:05.701\nit's fucking pouring. We're in Charlotte.\n\n00:00:05.702 --> 00:00:07.781\nAlright man, any chance I get a real quick picture?\n\n00:00:07.782 --> 00:00:09.901\nJack or Dwight Howard? I gotta pick one.\n\n00:00:09.902 --> 00:00:10.861\nYeah, Jack.\n\n00:00:10.862 --> 00:00:12.301\nYeah, easy, right?\n\n00:00:12.302 --> 00:00:13.981\nWe're still Jason Williams still with us?\n\n00:00:13.982 --> 00:00:16.381\nYeah, he on the plane right over,\n\n00:00:16.382 --> 00:00:18.261\nout of the blue. Said the following.\n\n00:00:18.262 --> 00:00:21.141\nHe would take Dwight Howard over Shaq at center.\n\n00:00:21.142 --> 00:00:23.461\nAnd says he lie about it for the rest of his life\n\n00:00:23.462 --> 00:00:25.341\nand would never admit to saying that.\n\n00:00:25.342 --> 00 …"
},
"credits_used": 10,
"credits_remaining": 9999,
"request_id": "req_example000000",
"cached": false
}통합 응답 구조를 보여 주는 실제 샘플이에요. 필드 값은 조회한 대상에 따라 달라져요.
YouTube Transcripts API는 어떻게 동작하나요
API 키와 함께 GET 요청을 보내면, 통합 스키마와 계산 필드를 담은 깔끔한 JSON이 돌아와요.
메서드
GET
응답 형식
JSON
소셜 미디어 데이터를 몇 초 만에 수집하는 방법
개발자를 위한 가장 빠른 소셜 미디어 스크래핑 API. 월간 활성 사용자 100억 명 이상을 포괄하는 43개 플랫폼에서 프로필, 게시물, 댓글, 분석 데이터를 수집하세요.
모든 플랫폼을 하나의 스키마로
동일한 응답 구조로 43개 플랫폼을 조회하세요. 연동은 한 번이면 충분합니다.
단순 수집을 넘어 계산된 필드 제공
모든 응답에 engagement_rate, estimated_reach, content_category, language가 포함되어 바로 활용할 수 있습니다.
코드 한 줄 쓰기 전에, 데이터부터
Visual Data Explorer — URL만 붙여넣으면 결과 카드, 정형화된 테이블, CSV 내보내기 기능을 제공합니다.
import requests
response = requests.get(
'https://www.socialcrawl.dev/v1/tiktok/profile',
params={'handle': 'charlidamelio'},
headers={'x-api-key': 'sc_YOUR_API_KEY'}
)
data = response.json(){
"success": true,
"platform": "tiktok",
"data": {
"author": {
"username": "charlidamelio",
"followers": 152400000
},
"engagement": {
"likes": 12400000000,
"engagement_rate": 0.087
},
"metadata": {
"language": "en",
"content_category": "lifestyle"
}
}
}YouTube Transcripts 데이터, 가져올 준비 되셨어요?
API 키 받고 60초 안에 YouTube 데이터를 받아 가세요.
