WebSocket API that allows clients to subscribe to real-time earnings call transcripts. **Authentication** - Clients must provide their API token as a query parameter: ``` wss://api.benzinga.com/api/v1/transcripts/stream?token=YOUR_API_TOKEN ``` - Upon connect, you'll receive status messages for connection and authentication. **Subscription** - Send a subscription request after authentication - Subscribe to specific ticker symbols or use `*` for all transcripts - Receive sentence-by-sentence updates as they're spoken during live calls **Actions** - `subscribe`: Subscribe to transcript updates for a ticker - `unsubscribe`: Unsubscribe from a ticker - `list`: List available/active transcripts - `ping`: Keep the connection alive - `echo`: Test message echo
View SpecView on GitHubFinanceMarket DataStocksNewsReal-TimeSentimentAnalyst RatingsEarningsOptionsStreamingAsyncAPIEventsWebSockets
asyncapi: '3.0.0'
info:
title: Benzinga Transcripts WebSocket API
version: 1.0.0
description: |
WebSocket API that allows clients to subscribe to real-time earnings call transcripts.
**Authentication**
- Clients must provide their API token as a query parameter:
```
wss://api.benzinga.com/api/v1/transcripts/stream?token=YOUR_API_TOKEN
```
- Upon connect, you'll receive status messages for connection and authentication.
**Subscription**
- Send a subscription request after authentication
- Subscribe to specific ticker symbols or use `*` for all transcripts
- Receive sentence-by-sentence updates as they're spoken during live calls
**Actions**
- `subscribe`: Subscribe to transcript updates for a ticker
- `unsubscribe`: Unsubscribe from a ticker
- `list`: List available/active transcripts
- `ping`: Keep the connection alive
- `echo`: Test message echo
servers:
production:
host: api.benzinga.com/api/v1/transcripts
protocol: wss
description: Real-time transcript stream endpoint
security:
- $ref: '#/components/securitySchemes/tokenAuth'
channels:
transcripts:
address: stream
messages:
publish:
$ref: '#/components/messages/ActionRequest'
subscribe:
$ref: '#/components/messages/TranscriptMessage'
description: Send action commands; receive real-time transcript updates
operations:
transcripts.publish:
action: receive
channel:
$ref: '#/channels/transcripts'
summary: Send commands to the server
messages:
- $ref: '#/channels/transcripts/messages/publish'
transcripts.subscribe:
action: send
channel:
$ref: '#/channels/transcripts'
summary: Receive real-time transcript data
messages:
- $ref: '#/channels/transcripts/messages/subscribe'
components:
securitySchemes:
tokenAuth:
type: httpApiKey
name: token
in: query
description: Benzinga WebSocket API token
messages:
ActionRequest:
summary: WebSocket command to interact with transcript stream
contentType: application/json
payload:
type: object
required: [action]
properties:
action:
type: string
enum: [list, subscribe, unsubscribe, subscribed, echo, ping]
description: Action to perform
ticker:
type: string
description: Stock ticker symbol (e.g., AAPL) or '*' for all transcripts
message:
type: string
description: Optional message for echo testing
mock:
type: boolean
description: Optional boolean for mock testing when no live transcripts
examples:
- name: List active transcripts
payload:
action: list
- name: Subscribe to AAPL
payload:
action: subscribe
ticker: AAPL
- name: Subscribe to all
payload:
action: subscribe
ticker: '*'
- name: Unsubscribe from AAPL
payload:
action: unsubscribe
ticker: AAPL
- name: Echo test
payload:
action: echo
message: test
- name: Ping
payload:
action: ping
TranscriptMessage:
summary: Real-time transcript message
contentType: application/json
payload:
type: object
required: [call_id, transcript_id, sentence, symbol, sequence, status]
properties:
call_id:
type: string
description: Unique identifier for the earnings call
transcript_id:
type: string
format: uuid
description: Unique identifier for this transcript
call_title:
type: string
description: Title of the earnings call
sentence:
type: string
description: The spoken sentence text
start_time:
type: string
format: date-time
description: When this sentence started
end_time:
type: string
format: date-time
description: When this sentence ended
symbol:
type: string
description: Stock ticker symbol (e.g., AAPL)
exchange:
type: string
description: Exchange where security is listed
isin:
type: string
description: International Securities Identification Number
cusip:
type: string
description: CUSIP identifier
name:
type: string
description: Company name
sequence:
type: integer
description: Sequence number of this sentence in the transcript
status:
type: string
enum: [IN_PROGRESS, COMPLETE]
description: Status of the transcript
words:
type: array
description: Individual words with timing and confidence
items:
type: object
properties:
confidence:
type: number
description: Confidence score for word recognition
start:
type: integer
description: Start time offset in milliseconds
end:
type: integer
description: End time offset in milliseconds
text:
type: string
description: The word text
confidence:
type: number
description: Overall confidence score for the sentence
speaker:
type: string
description: Name or identifier of the speaker
type:
type: string
enum: [LIVE]
description: Type of transcript (LIVE for real-time)
language:
type: string
description: Language code (e.g., en, en-US)
participants:
type: array
nullable: true
description: List of call participants
items:
type: object
created_time:
type: string
format: date-time
description: When this transcript entry was created
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.