---
title: "The preliminary text of a fiscal quarter's earnings call while it is being recorded live, and until its speaker-labelled transcript is ready: numbered machine-transcribed lines without speaker labels, new ones about every 20 seconds. Pass after (the highest seq received) and run (the run received) to get only the lines since; final=true says the speaker-labelled transcript has replaced the text, state \"none\" that the call has no live text. The answer is never cached."
method: GET
path: "/v1/stocks/{ticker}/earnings-calls/{fiscalYear}/{fiscalQuarter}/live-transcript"
tags: ["EarningsCalls"]
---

# The preliminary text of a fiscal quarter's earnings call while it is being recorded live, and until its speaker-labelled transcript is ready: numbered machine-transcribed lines without speaker labels, new ones about every 20 seconds. Pass after (the highest seq received) and run (the run received) to get only the lines since; final=true says the speaker-labelled transcript has replaced the text, state "none" that the call has no live text. The answer is never cached.

`GET /v1/stocks/{ticker}/earnings-calls/{fiscalYear}/{fiscalQuarter}/live-transcript`

## Request

- Base URL: `https://api.equibles.com`
- URL: `https://api.equibles.com/v1/stocks/{ticker}/earnings-calls/{fiscalYear}/{fiscalQuarter}/live-transcript`
- Auth: HTTP bearer

## Path parameters

- `ticker` string, required
- `fiscalYear` integer, required
- `fiscalQuarter` integer, required

## Query parameters

- `after` integer
- `run` string

## Response `200`

OK

- LiveTranscriptResponse
  - `eventId` string, uuid
  - `ticker` string, nullable
  - `eventTitle` string, nullable
  - `callDate` string, date-time
  - `fiscalYear` integer, nullable
  - `fiscalQuarter` integer, nullable
  - `state` string, nullable: "live" while the call is being recorded, "ended" once the recording finished and the speaker-labelled transcript is being prepared, "endedEarly" when our capture stopped before the call did, "none" when no live text exists for the call.
  - `final` boolean: True once the speaker-labelled transcript exists: read it from the speakers endpoint and stop polling.
  - `run` string, nullable: Identifies the recording's numbering; pass it back as `run`. Null before the first line exists.
  - `reset` boolean: True when the lines you hold belong to an earlier numbering (the recording restarted): discard them and take `data` as the full text.
  - `lastSeq` integer: The highest line number the recording holds so far, -1 before the first line; the value to pass as `after` on the next request.
  - `lineCount` integer: Lines in this response: those after `after`, or every line on a reset or a first request.
  - `nextPollSeconds` integer: How long to wait before asking again, in seconds; 0 means the text is final or no live capture can start.
  - `data` LiveTranscriptLineDto[], nullable
    - `seq` integer: The line's number within the run, counting from 0; pass the highest one received as `after`.
    - `text` string, nullable
    - `startSeconds` number, double, nullable: Where the line starts on the recording's own timeline, in seconds; null before the recording is timed.
    - `durationSeconds` number, double, nullable: How long the line took to say, in seconds; null when unknown.

## Other responses

- `400`: Bad Request
- `404`: Not Found

## Changes

- **2026-11-09** `879ad16326ad`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/equibles/apis/equibles-api/changes/v1/stocks/:ticker/earnings-calls/:fiscalYear/:fiscalQuarter/live-transcript/get.md)

---

[API](https://skmtc.dev/equibles/apis/equibles-api.md) - [All operations](https://skmtc.dev/equibles/apis/equibles-api/llms.txt) - [OpenAPI document](https://skmtc.dev/equibles/apis/equibles-api/revisions/83f13ba1a993?raw)
