Documentation

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.