Get Conversation Transcript
Returns the speaker-attributed, timestamped transcript of a single conversation. Get the conversationId from Search Conversations.
No request body and no query parameters.
Billing: 1 credit per successful request via
ci_transcript_analysis, including repeat requests for the same conversation. A404is never charged. Whileci_transcript_analysisisn’t seeded on your account’s pricebook, the endpoint stays free.
Note: A single
404covers all three cases - the conversation doesn’t exist, its processing hasn’t completed, or it belongs to another account. Transcripts can be long; when feeding one to an LLM, budget for it or summarize it (Search Conversations already returns the summary, chapters, and coaching without the transcript).
curl --request GET \
--url https://api.lusha.com/v3/account/conversations/{conversationId}/transcript \
--header 'api_key: <api-key>'import requests
url = "https://api.lusha.com/v3/account/conversations/{conversationId}/transcript"
headers = {"api_key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {api_key: '<api-key>'}};
fetch('https://api.lusha.com/v3/account/conversations/{conversationId}/transcript', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.get("https://api.lusha.com/v3/account/conversations/{conversationId}/transcript")
.header("api_key", "<api-key>")
.asString();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.lusha.com/v3/account/conversations/{conversationId}/transcript"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("api_key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"requestId": "3f1a9c2e-7b4d-4a8e-9f10-2c5d6e7a8b90",
"conversationId": "8f2c9b1e-4a7d-4f3b-9c2e-1d6a5b8c7e90",
"segments": [
{
"speaker": "Jane Doe",
"side": "external",
"text": "We need to understand the pricing tiers before we commit.",
"startTime": "00:12:04",
"endTime": "00:12:19"
},
{
"speaker": "Sam Rep",
"side": "internal",
"text": "Happy to walk you through them.",
"startTime": "00:12:20",
"endTime": "00:12:26"
}
],
"billing": {
"creditsCharged": 1,
"resultsReturned": 1
}
}Authorizations
Your Lusha API key. You can find this in your Lusha dashboard under API settings.
Include this key in the api_key header for all requests.
Path Parameters
Conversation identifier returned by Search Conversations.
Response
Successful response
Correlation / request id for support and tracing.
"3f1a9c2e-7b4d-4a8e-9f10-2c5d6e7a8b90"
The conversation this transcript belongs to.
"8f2c9b1e-4a7d-4f3b-9c2e-1d6a5b8c7e90"
Chronologically ordered segments.
Show child attributes
Show child attributes
Credit usage summary for a V3 API request
Show child attributes
Show child attributes
Was this page helpful?
curl --request GET \
--url https://api.lusha.com/v3/account/conversations/{conversationId}/transcript \
--header 'api_key: <api-key>'import requests
url = "https://api.lusha.com/v3/account/conversations/{conversationId}/transcript"
headers = {"api_key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {api_key: '<api-key>'}};
fetch('https://api.lusha.com/v3/account/conversations/{conversationId}/transcript', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.get("https://api.lusha.com/v3/account/conversations/{conversationId}/transcript")
.header("api_key", "<api-key>")
.asString();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.lusha.com/v3/account/conversations/{conversationId}/transcript"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("api_key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"requestId": "3f1a9c2e-7b4d-4a8e-9f10-2c5d6e7a8b90",
"conversationId": "8f2c9b1e-4a7d-4f3b-9c2e-1d6a5b8c7e90",
"segments": [
{
"speaker": "Jane Doe",
"side": "external",
"text": "We need to understand the pricing tiers before we commit.",
"startTime": "00:12:04",
"endTime": "00:12:19"
},
{
"speaker": "Sam Rep",
"side": "internal",
"text": "Happy to walk you through them.",
"startTime": "00:12:20",
"endTime": "00:12:26"
}
],
"billing": {
"creditsCharged": 1,
"resultsReturned": 1
}
}