Reddit video post transcript API
  1. Docs
  2. Reddit
  3. Reddit video post transcript API

Reddit video post transcript API

The transcript of a Reddit video post or v.redd.it link: Reddit's own automatic captions when it has them, otherwise AI transcription of the audio.

GET /v1/reddit/post/transcript

GET /v1/reddit/post/transcript

The transcript of a Reddit video post or v.redd.it link: Reddit's own automatic captions when it has them, otherwise AI transcription of the audio.

  • Cost: 1 credit for captions; AI transcription 1 up to 2 minutes, then 5 per started minute of the whole video
  • Cache: Results are kept up to 30 days; send max_age_days to reuse them for free.
  • Timeout: A request still running after about 25 seconds answers 202 with a job to poll (Batch and jobs).

Parameters#

NameTypeRequiredDescription
urlURLyesPost URL or a direct v.redd.it video URL. Accepted hosts: reddit.com, redd.it.
allow_long_transcriptionbooleannoTranscribe audio past 2 minutes with AI, at 5 credits per started minute of the whole video. Without it a longer video answers transcript_unavailable, which is free. Default false. Also accepted as allowLongTranscription.
languagestringno2-letter language. Captions in another language are skipped for AI transcription in this one; by default whatever Reddit has. Also accepted as lang.

Every request also accepts:

  • trim: true for a smaller response without null fields and extra.
  • raw: true to also get the platform's original object as raw.
  • max_age_days: accept a cached result up to this many days old, for 0 credits (Caching).

Example request#

Set your key in the environment first (see Authentication).

1curl -G "https://api.socialscrape.dev/v1/reddit/post/transcript" \2  -H "x-api-key: $SOCIALSCRAPE_API_KEY" \3  --data-urlencode "url=https://www.reddit.com/r/interestingasfuck/comments/1xl30t2/a_bird_watches_a_man_fish_he_offers_it_his_catch/"

Example response#

This is a sample from a recorded response. Status 200.

200 OKSample response
1{2  "ok": true,3  "credits_charged": 1,4  "credits_remaining": 4999,5  "cached": false,6  "cached_at": null,7  "request_id": "req_e58f520a56c7f096162a4fbb",8  "data": {9    "object": "transcript",10    "platform": "reddit",11    "video_id": "1xl30t2",12    "url": "https://www.reddit.com/r/interestingasfuck/comments/1xl30t2/a_bird_watches_a_man_fish_he_offers_it_his_catch/",13    "language": "en",14    "source": "auto_captions",15    "duration_seconds": 33.0,16    "text": "He's heavy, oh wow. I was not expecting that. Okay. Hey, kudos on you, dude. Oh yeah.",17    "segments": [18      {19        "start": 15.86,20        "end": 18.88,21        "text": "He's heavy, oh wow."22      },23      {24        "start": 24.32,25        "end": 31.62,26        "text": "I was not expecting that. Okay. Hey, kudos on you, dude. Oh yeah."27      }28    ],29    "available_languages": null,30    "extra": null31  },32  "cursor": null,33  "has_more": null34}

Response#

A Transcript object in data.

See Data models for every field. The envelope around data is described in Responses.

Errors#

Failures are free: credits_charged is 0. Branch on error.code, never on the message.

CodeHTTPRetryMeaning
invalid_params400noA parameter is missing, unknown or has the wrong type.
unsupported_url400noThe URL is not one this endpoint accepts (wrong platform or form).
not_found404noThe platform says this profile, post or item does not exist.
transcript_unavailable404noNo captions exist and AI transcription is not possible for this media.

Every request can also fail with the account and platform errors listed on the Errors page.