Docs menu

AI transcription

Transcript endpoints return the platform's own captions when the media has them. When it does not, SocialScrape can transcribe the audio for you, so a transcript request does not dead-end on "no captions".

How it works#

  1. We look for captions first. If we find them, you get them: source is captions or auto_captions and the price is 1 credit.
  2. If there are none, we transcribe the audio on our own GPUs and return the text with source: "ai", a language, and timed segments.
{
  "object": "transcript",
  "platform": "youtube",
  "video_id": "dQw4w9WgXcQ",
  "language": "en",
  "source": "ai",
  "duration_seconds": 213.0,
  "text": "...",
  "segments": [ { "start": 0.0, "end": 4.0, "text": "..." } ]
}

Always check source if the difference between captions and machine transcription matters to you.

What it costs#

Captions cost 1 credit. AI transcription costs 1 credit for up to 2 minutes of audio, then 1 more credit for each started minute after that. You pay only when the transcript is delivered; a failed transcription is free.

Audio lengthCredits
Captions (any length)1
30 seconds1
2 minutes1
2 minutes 1 second2
3 minutes2
10 minutes9
30 minutes29
1 hour59
2 hours119

Cached repeats are free like any request, so fetching a transcript you already paid for again with max_age_days costs nothing.

Turn it off#

These transcript endpoints take ai_fallback=false: Kick clip transcript, TikTok video transcript, Twitch clip transcript. With it, the endpoint returns nothing instead of transcribing, and charges nothing. ScrapeCreators' use_ai_as_fallback is accepted as the same parameter.

Time and long media#

Short clips finish within the normal request time. Long media can take minutes. A request still running after about 25 seconds answers 202 with a job to poll; see Batch and jobs. Poll rather than holding a connection open.

Our own transcription capacity is shared and limited, by design:

  • If the lane is busy or the daily allowance for your team is used up, the request fails with overloaded (retryable, free). Retry with backoff.
  • Media longer than about 4 hours is refused with transcript_unavailable.
  • transcript_unavailable also covers media with no speech or no audio track.

Any URL#

Transcript from any video URL takes a video URL from any supported platform, picks the right endpoint and returns the same result at the same price and from the same cache.

curl -G "https://api.socialscrape.io/v1/transcript" \
  -H "x-api-key: $SOCIALSCRAPE_API_KEY" \
  --data-urlencode "url=https://www.youtube.com/watch?v=dQw4w9WgXcQ"

Endpoints that return transcripts#