Transcripts
A podcast is audio, which nothing can search. We transcribe episodes and identify who is speaking, which is what turns a two-hour conversation into something you can find a brand name in.
Reading one
curl -H "Authorization: Bearer $SPUTNIK_TOKEN" \
"https://sputnikintelligence.com/api/v1/posts/k3mq-8w1p-ttz4/transcript"
{
"items": [
{ "speaker": "Ben Gilbert", "kind": "host", "text": "So the thing everyone gets wrong about this..." },
{ "speaker": "Jane Smith", "kind": "guest", "text": "Right, and we saw exactly that when we..." }
],
"total": 412,
"next_cursor": "300",
"transcript_status": "fetched"
}
One item is one turn: a speaker's continuous stretch of talking, as a paragraph. Consecutive turns by the same speaker are merged, so you get the shape of the conversation rather than a stream of fragments.
Names, not "Speaker 1"
Where we could work out who was talking, speaker is their real name and
kind says whether they were hosting or guesting. Where we could not, you get the
generic label — which is honest, and better than guessing wrong.
This is the only way to read a transcript. The words are never inlined on the post itself — a long episode runs to hundreds of kilobytes, which is not something to put in a JSON field every caller receives whether they wanted it or not.
Not every episode has one
Use has_transcript to filter, and read transcript_status on a post
before assuming silence means the episode said nothing:
curl ... "https://sputnikintelligence.com/api/v1/posts/search?q=pricing&source_type=podcast&has_transcript=true"
transcript_status comes back alongside the envelope on the transcript endpoint too,
which is what lets a caller that got zero turns tell "not transcribed yet" from "transcribed, but
empty".
Paging
Turns are paged like everything else, 300 at a time by default. A long episode runs to several
pages — follow next_cursor until it is null. total is the number of
turns in the whole episode, so you can tell up front how much there is.
Accuracy
Machine transcription. It is good, and it is not perfect: unusual proper nouns, company names and
crosstalk are where it slips. For anything you are going to quote publicly, listen to the audio at
that point first — enclosure_url on the post detail is the file.