YouTube Video Transcript API
API 한 번의 호출로 YouTube Video Transcript 데이터를 받아 가세요. Returns the transcript of a YouTube video as timestamped segments: each with text, start `offset` and `duration` (seconds), language, word count, and speech rate. Supports multiple languages via `language`. When no transcript exists (the owner disabled captions, the video is login-gated or gone, or no caption track matches the requested language) the endpoint returns 404 RESOURCE_NOT_FOUND with `error.details.reason` set to `captions_disabled`, `login_required`, `no_captions`, or `video_gone`, no credits are charged, and retrying returns the same result.
2026년 10월 업데이트SocialCrawl 팀이 직접 관리해요
영상에서 말한 내용을 타임스탬프 구간으로 잘라 돌려줍니다. 구간마다 본문, 시작 시각, 길이가 붙고 언어와 단어 수, 발화 속도도 나옵니다.
영상 URL 하나에 사용하세요. 자막이 없으면 이유를 밝힌 404가 옵니다. 실패가 아니라 정상 동작입니다.
68개 플랫폼을 병렬로 검색합니다
Video Transcript API로 무엇을 할 수 있을까요
Video Transcript 엔드포인트가 통합 스키마와 계산 필드를 담은 YouTube 데이터를 한 번의 요청으로 보내드려요. 스크래핑 인프라를 직접 만들거나 유지할 필요가 없어요.
요청 예시
curl -H "x-api-key: YOUR_API_KEY" \
"https://www.socialcrawl.dev/v1/youtube/video/transcript?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DdQw4w9WgXcQ"import requests
response = requests.get(
"https://www.socialcrawl.dev/v1/youtube/video/transcript",
params={
'url': 'https://www.youtube.com/watch?v=dQw4w9WgXcQ',
},
headers={"x-api-key": "YOUR_API_KEY"},
)
data = response.json()const response = await fetch(
"https://www.socialcrawl.dev/v1/youtube/video/transcript?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DdQw4w9WgXcQ",
{
headers: { "x-api-key": "YOUR_API_KEY" },
},
);
const data = await response.json();파라미터
| 파라미터 | 필수 | 설명 |
|---|---|---|
| url | 예 | Full URL of the YouTube video |
| language | 아니오 | 2 letter language code, ie 'en', 'es', 'fr' etc. If no caption track matches the language you specify, the request returns 404 RESOURCE_NOT_FOUND (reason `no_captions`) at 0 credits. |
| moments | 아니오 | Optional CSV of moment kinds to find in the timestamped transcript: brand, sponsor_read, product_demo, call_to_action. Returns data.moments = [{ kind, start_ms, end_ms, quote }]. Quote is copied from the transcript. Times come from the segments, never from the judge. Price of the extra step is an owner decision; today it does not add credits. |
| brand | 아니오 | Optional, with moments=. The company or product to look for, so a namesake is not counted. |
| q | 아니오 | Optional question about the video, up to 300 characters, for example q=what discount code do they give. Returns data.moments = [{ kind: "answers_query", start_ms, end_ms, quote }] for each stretch of about six transcript lines that states the answer: a stretch that only shares the topic is left out, and a question the video never answers returns an empty list. The quote is one line copied from the transcript and the times come from the segments. Send moments= or q=, not both. If the step cannot run, the transcript is returned without data.moments and data._warnings carries moments_unavailable. Today it does not add credits. |
YouTube Video Transcript API는 무엇을 돌려주나요
모든 응답은 하나의 통합 스키마를 따라요. 크레딧을 쓰기 전에 어떤 필드가 돌아오는지, 실제 응답 본문 그대로 확인해 보세요.
응답 예시 보기
{
"success": true,
"platform": "youtube",
"endpoint": "/v1/youtube/video/transcript",
"data": {
"transcript": [
{
"text": "[♪♪♪]",
"duration": 1.68,
"offset": 1.36,
"lang": "en",
"wordCount": 0,
"speechRate": 0
},
{
"text": "♪ We're no strangers to love ♪",
"duration": 3.24,
"offset": 18.64,
"lang": "en",
"wordCount": 5,
"speechRate": 93
}
]
},
"credits_used": 0,
"request_id": "req_example000000",
"cached": true,
"credits_remaining": 9999,
"source": "captured",
"captured_at": "2026-10-02T12:45:01.380Z",
"redacted": true
}통합 응답 구조를 보여 주는 실제 샘플이에요. 필드 값은 조회한 대상에 따라 달라져요.
YouTube Video Transcript API는 어떻게 동작하나요
API 키와 함께 GET 요청을 보내면, 통합 스키마와 계산 필드를 담은 깔끔한 JSON이 돌아와요.
메서드
GET
응답 형식
JSON
소셜 미디어 데이터를 몇 초 만에 수집하는 방법
개발자를 위한 가장 빠른 소셜 미디어 스크래핑 API. 월간 활성 사용자 100억 명 이상을 포괄하는 68개 플랫폼에서 프로필, 게시물, 댓글, 분석 데이터를 수집하세요.
모든 플랫폼을 하나의 스키마로
동일한 응답 구조로 68개 플랫폼을 조회하세요. 연동은 한 번이면 충분합니다.
단순 수집을 넘어 계산된 필드 제공
엔드포인트가 해당 지표를 지원하고 계산에 필요한 원본 값이 있을 때, 정규화된 레코드에 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"
}
}
}자주 묻는 질문
API, 요금제, 기능에 대한 질문과 답변입니다.
문의하기YouTube 영상의 자막은 어떻게 받나요?
특정 언어로 자막을 받을 수 있나요?
자막 엔드포인트 요청 한 번에 크레딧이 얼마 드나요?
LLM RAG 파이프라인에 활용하기 좋은가요?
어떤 영상에 자막이 제공되나요?
AI에게 SocialCrawl을 물어보세요
YouTube Video Transcript 데이터, 가져올 준비 되셨어요?
API 키 받고 60초 안에 YouTube 데이터를 받아 가세요.
