Skip to main content
Sendspark transcribes your videos so viewers can read along, and the API lets you take that transcript out of Sendspark and into your own tools. Fetch it as JSON with per-segment timings, or download it as a WebVTT or SubRip subtitle file. Two endpoints cover it: one returns the transcript, the other tells you whether there is one to return. Both live under https://api-gw.sendspark.com/v1.

Key takeaways

  • Authenticate the same way as every other endpoint: an API Key as x-api-key and an API Secret as x-api-secret. See how to create API keys.
  • ?format=vtt and ?format=srt return a subtitle file as a download. Without the parameter you get JSON.
  • Reading a transcript never creates one. These endpoints only read what already exists, so they cost nothing and are safe to poll.
  • Check the status endpoint first. A campaign whose transcript is not ready returns 404 from the transcript endpoint, and the status tells you whether it is still processing, failed, or was never requested.
  • A transcript is produced for videos in campaigns that have transcription enabled. If the status is none and stays none, the video was never transcribed — asking the API will not start it.

API endpoints at a glance


Before you start

You need three things:
1

Your API Key and Secret

Generate both in the API Credentials tab of your Sendspark settings. The Secret is shown only once, so store it when you generate it.
2

Your workspace ID

Call GET /v1/workspaces/identifier with your credentials and it returns the workspace your API Key belongs to. It is also in your workspace settings.
3

The campaign ID of the video

Open the video in Sendspark and take the ID from the URL, or list your campaigns through the API.

Check whether a transcript is ready

status is one of four values: source tells you which recording the transcript describes. master is the campaign’s own video. prospect means the video is a personalized render made for one recipient, and the transcript reflects that recipient’s version, with their merged variables in place.

Get the transcript as JSON

text is the whole transcript as plain text — the field to use when you are pushing it into a CRM note, a search index, or a summarizer. segments carries the same words divided into blocks with start and end times in seconds, for anything that needs to line up with playback.
Segments come from the transcription provider, and some return the entire video as a single block. If you need finer divisions, use the subtitle formats below — Sendspark rebuilds those cues from the individual word timings rather than the provider’s blocks, so a one-segment transcript still becomes readable subtitles.

Download subtitles

Add ?format=vtt for WebVTT or ?format=srt for SubRip. Both come back as a file download with a Content-Disposition header, so curl -O -J saves them under a sensible name.
The SubRip version is the same cues with commas before the milliseconds and no WEBVTT header. Both are standard files: upload them to YouTube, LinkedIn, or a video player, or open them in any subtitle editor.

Handling errors

A campaign belonging to a different workspace returns the same 404 as one that does not exist. This is deliberate: it keeps the API from confirming whether a campaign ID is real to someone who cannot read it.

Frequently asked questions

No. Both endpoints only read. If a video was never transcribed, the status stays none however many times you ask, and the transcript endpoint returns 404. Transcription is enabled on the campaign inside Sendspark — see how to enable or disable captions.
The standard limit of 30 requests per minute applies. Because the status endpoint never triggers work, polling it while a transcript is generating is fine.
Yes. Each personalized video is its own campaign, so call the endpoint with that campaign’s ID. The response comes back with source set to prospect, and the text reflects that recipient’s merged variables.
The one the video was transcribed in, returned in the language field. Transcripts are not translated by this endpoint — see AI personalized videos in multiple languages for multi-language campaigns.
Not currently. These endpoints are read-only. Corrections are made inside Sendspark.
Updated September 2026.