https://api-gw.sendspark.com/v1.
Key takeaways
- Authenticate the same way as every other endpoint: an API Key as
x-api-keyand an API Secret asx-api-secret. See how to create API keys. ?format=vttand?format=srtreturn 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
404from 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
noneand staysnone, 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.
Why is there sometimes only one segment?
Why is there sometimes only one segment?
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.
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
Does calling the API create a transcript if one does not exist?
Does calling the API create a transcript if one does not exist?
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.How often can I poll the status endpoint?
How often can I poll the status endpoint?
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.
Can I get the transcript of a personalized video for one recipient?
Can I get the transcript of a personalized video for one recipient?
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.What language is the transcript in?
What language is the transcript in?
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.Can I edit or upload a transcript through the API?
Can I edit or upload a transcript through the API?
Not currently. These endpoints are read-only. Corrections are made inside Sendspark.