100 free credits — no credit card required.Start building
Logo
Use case

Video transcript API for social video and shorts

Pull the text of a video from the platform that hosts it, on the same schema for every network. Coverage follows the platform rather than our marketing: where a video carries no transcript upstream, the call says so instead of guessing.

/v1/youtube

Video text, where it exists

  • GET /v1/youtube/video/transcript
  • GET /v1/tiktok/post/transcript
  • GET /v1/instagram/media/transcript
  • GET /v1/youtube/transcripts

A video transcript API returns the spoken text of a video as structured data without downloading the media or running your own speech recognition. SocialCrawl fetches the transcript the platform already holds, across YouTube, TikTok, Instagram and more, on one schema. Coverage is partial by nature because many videos carry no transcript upstream, so the response tells you which case you are in.

What teams build with it

Every one of these runs in production today. The endpoint chain under each card is the actual call sequence.

Turn a channel into a text corpus

List a channel's videos, then request the transcript for each one. What you end up with is a searchable body of everything a creator or competitor has said on camera, which is a far better input to analysis than the titles.

Endpoint chainchannel/videos -> video/transcript

Batch a list of video IDs

Hand over a set of YouTube IDs in one request instead of calling per video. This is the call to build the pipeline on when you already know which videos you want, and it is the difference between a nightly job and a rate-limit problem.

Endpoint chainyoutube/transcripts (batch by id)

Walk a TikTok account

Pull a profile's videos, then request text for each. TikTok is the thinner lane: many short videos have no caption track at all upstream, so expect real gaps and design the job to skip rather than retry forever.

Endpoint chaintiktok/profile/videos -> post/transcript

Reels text for campaign work

List an account's reels and request the transcript for the ones that matter. Useful when the claim being audited is spoken rather than written in the caption.

Endpoint chaininstagram/profile/reels -> media/transcript

Facebook video, as a bonus lane

The call exists on the same key. Facebook exposes text for a small share of video, so treat anything it returns as a bonus and never as the dependency a workflow rests on.

Endpoint chainfacebook/post/transcript

Alt-video platforms

Rumble returns search, video detail, comments and transcripts on the same schema as everything else. Small platform, clean surface, useful when a story is only playing out there.

Endpoint chainrumble/video/transcript

How the video transcript API works

Four calls cover single videos, bulk jobs and the two social lanes. Start with the one that matches how you already have the video.

Reads are priced in credits. Failed upstream calls are refunded automatically. Transcript coverage varies by platform and by video, so plan for misses rather than treating them as errors.

  1. GET /v1/youtube/video/transcript

    Transcribe one video by URL

    Pass a video URL and get its text back. The simplest call, and the right one when a human picked the video.

    per call
  2. GET /v1/youtube/transcripts

    Batch by video ID

    Send a set of IDs in one request when you already know the list. This is what a scheduled backfill should be built on.

    per video
  3. GET /v1/tiktok/post/transcript

    Add the TikTok lane

    Same shape, different platform. Coverage is thinner here, so record the misses as data instead of retrying them.

    per call
  4. GET /v1/instagram/media/transcript

    Add the Instagram lane

    Request text for a reel or video post you already have. Fits the same loop as the other two, on the shared schema.

    per call

Compared with running your own pipeline

The usual alternative is downloading media and running speech recognition yourself. Here is what changes.

CapabilitySocialCrawlTypical setup
What you runOne HTTP call per video, or one call per batch.A downloader, a queue, a model and the GPU it runs on.
Media handlingText arrives directly, so no video file is ever downloaded or stored on your side.Media pulled and cached before anything can be transcribed.
Coverage honestyGaps are documented, and a video with no transcript upstream comes back as a clear miss.Silent empty strings, or a model hallucinating over silence.
Cross-platform reachOne key and one schema across every video platform we carry.A separate extractor per platform, each breaking on its own schedule.
Pricing modelNever-expire credit packs, priced per call, with refunds on upstream failures.Compute billed by the minute whether the output was usable or not.
Time to first transcriptA working call in the first minute, on free signup credits.A pipeline to build before the first result exists.

Video transcript API questions

What is a video transcript API?

A video transcript API returns the spoken words of a video as structured text you can search, index or rewrite. Instead of downloading the file and running speech recognition, you send the video URL or ID and get the text the platform already holds for it.

Which platforms return transcripts?

YouTube has the deepest coverage, followed by TikTok and Instagram. Facebook and Rumble are available on the same key with thinner coverage. Reddit, X and LinkedIn already ship post text directly, so no transcript call is needed there.

What happens when a video has no transcript?

The call returns a not-found result rather than an invented one. This is the honest limit of the product: transcript availability is set by the platform, many short videos never had a caption track, and no provider can return text that was never generated. Plan for partial coverage and record the misses.

Do you run speech recognition on the audio?

No. The endpoints return the caption or transcript track the platform itself carries for that video. That is why there is no upload step, no media download and no per-minute compute charge, and it is also why coverage stops where the platform's own coverage stops.

Can I fetch transcripts in bulk?

Yes. The YouTube batch endpoint takes a set of video IDs in one request, which is the right foundation for a scheduled backfill. For the other platforms, list the account's videos first and then request text per item.

How much does a transcript cost?

Reads are priced in credits from never-expire packs, so you pay per call rather than per seat or per minute of audio. Failed upstream calls are refunded automatically. Signup includes 100 free credits and no card is required.

Can I build a product on top of the text?

Yes, for transformed views shown to your own users, such as summaries, clips and search. Our terms permit derived products and restrict raw passthrough or bulk redistribution. Copyright in the underlying video stays with its creator, so check your own use before you publish.

Transcribe your first video

100 free credits on signup. No card, no media upload, no model to host.

Request
curl -G "https://socialcrawl.dev/v1/youtube/video/transcript" \
  -H "x-api-key: $SOCIALCRAWL_API_KEY" \
  --data-urlencode "url=https://www.youtube.com/watch?v=dQw4w9WgXcQ"
curl -G "https://socialcrawl.dev/v1/tiktok/post/transcript" \
  -H "x-api-key: $SOCIALCRAWL_API_KEY" \
  --data-urlencode "url=https://www.tiktok.com/@user/video/123"

Both calls run against live data. Swap the key and the video URL and they work as written.