Benzinga · AsyncAPI Specification

Benzinga Transcripts WebSocket API

Version 1.0.0

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 Spec View on GitHub FinancialMarket DataStocksNewsReal-TimeSentimentAnalyst RatingsEarningsOptionsStreamingAsyncAPIWebhooksEvents

Channels

transcripts
Send action commands; receive real-time transcript updates

Messages

ActionRequest
ActionRequest
WebSocket command to interact with transcript stream
TranscriptMessage
TranscriptMessage
Real-time transcript message

Servers

wss
production
Real-time transcript stream endpoint

AsyncAPI Specification

Raw ↑
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